想試試不解壓從tar.gz包內(nèi)提取某個文件到指定目錄下,百度來的全是一個模板,沒有示例,根本莫名其妙。經(jīng)自己測試才算明白。
百度來的方法
tar包
tar tvf yourtarfile |grep fileyouwant,
tar xvf yourtarfile fileyouwant(copy上面的全路徑用絕對路徑)
tar.gz包
tar ztvf yourtargzfile |grep fileyouwant,
tar zxvf yourtarfile fileyouwant(copy上面的全路徑用絕對路徑)
思路就是先查出文件路徑,再解壓。但是上面的“全路徑用絕對路徑”是個什么鬼,經(jīng)過折騰才算明白。先看操作過程。
[root@fengzw test]# pwd
/root/test
[root@fengzw test]# ls
mariadb-10.4.12.tar.gz
[root@fengzw test]# tar -tzvf mariadb-10.4.12.tar.gz | grep CMakeLists.txt
.....
-rw-rw-r-- buildbot/buildbot 17932 2020-01-27 04:43 mariadb-10.4.12/CMakeLists.txt
......
[root@fengzw test]# tar -zxvf mariadb-10.4.12.tar.gz mariadb-10.4.12/CMakeLists.txt -C ../
mariadb-10.4.12/CMakeLists.txt
[root@fengzw test]# cd ..
[root@fengzw ~]# ls
anaconda-ks.cfg CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-Vault.repo test tools
[root@fengzw ~]# ls test/
mariadb-10.4.12 mariadb-10.4.12.tar.gz
[root@fengzw ~]# ls test/mariadb-10.4.12
CMakeLists.txt
切換個目錄運行測試:
[root@fengzw ~]# ls test/
mariadb-10.4.12.tar.gz
[root@fengzw ~]# ls tools/testtar/
[root@fengzw ~]# tar -zxvf test/mariadb-10.4.12.tar.gz mariadb-10.4.12/CMakeLists.txt -C tools/testtar/
mariadb-10.4.12/CMakeLists.txt
[root@fengzw ~]# ls tools/testtar/
[root@fengzw ~]# ls test
mariadb-10.4.12.tar.gz
[root@fengzw ~]# ls
anaconda-ks.cfg CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-Vault.repo mariadb-10.4.12 test tools
[root@fengzw ~]# ls mariadb-10.4.12/
CMakeLists.txt
由以上可知: