壓縮:
tar czvf /data/backup/test.tar.gz /data/a/b/directory
解壓:
cd /data/test
tar xzvf /data/backup/test.tar.gz
問題是,解壓后的文件,在/data/test/data/a/b/directory里面
要想解壓在當前目錄路徑。
這樣寫就可以解決了
tar czvf /data/backup/test.tar.gz /data/a/b/directory
改成
tar czvf /data/backup/test.tar.gz -C /data/a/b directory
-C是臨時切換工作目錄,-P是絕對路徑,在這里只用到-C參數就行了
例如
要打包 /home/YingMu/ 文件夾且排除 /home/YingMu/vevb.com 文件夾
tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/vevb.com
排除多個文件夾則在命令中添加多個目錄 --exclude 目錄名,例如:
tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/vevb.com --exclude /home/YingMu/QQ
排除文件的話把上面的目錄名改為類似 *.gif 的排除規則即可。
范例三:將 /tmp/etc.tar.gz 檔案解壓縮在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -xzvf /tmp/etc.tar.gz
# 在預設的情況下,我們可以(www.companysz.com)將壓縮檔在任何地方解開的!以這個范例來說,
# 我先將工作目錄變換到 /usr/local/src 底下,并且解開 /tmp/etc.tar.gz ,
# 則解開的目錄會在 /usr/local/src/etc 呢!另外,如果您進入 /usr/local/src/etc
# 則會發現,該目錄下的檔案屬性與 /etc/ 可能會有所不同喔!
范例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -xzvf /tmp/etc.tar.gz etc/passwd
# 我可以透過 tar -tzvf 來查閱 tarfile 內的文件名稱,如果單只要一個檔案,
# 就可以透過這個方式來下達!注意到! etc.tar.gz 內的根目錄 / 是被拿掉了!
范例五:將 /etc/ 內的所有檔案備份下來,并且保存其權限!
[root@linux ~]# tar -czvpf /tmp/etc.tar.gz /etc
# 這個 -p 的屬性是很重要的,尤其是當您要保留原本檔案的屬性
tar 主要命令
-c 創建包
-x 解包
-t 列出包中的內容
-r 增加文件到指定包中
-u 更新包中的文件
這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的。
可選命令
-j 創建或解開包時 使用bzip2 進行壓縮或解壓
-z 創建或解開包時 使用gzip 進行壓縮或解壓
-Z 創建或解開包時 使用compress 進行壓縮或解壓
-f 后面跟指定的包文件名
-v 顯示打包/解包過程
-C 指定解包后的路徑
以上這篇linux中tar打包指定路徑文件的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答