壓縮:
tar czvf /data/backup/test.tar.gz /data/a/b/directory
解壓縮:
cd /data/test
tar xzvf /data/backup/test.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/jb51.net 資料夾
tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/jb51.net
排除多個資料夾則在命令中新增多個目錄--exclude 目錄名,例如:
tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/jb51.net --exclude /home/YingMu/QQ
排除檔案的話把上面的目錄名改為類似*.gif 的排除規則即可。
範例三:將/tmp/etc.tar.gz 檔案解壓縮在/usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux ~]# cd /usr/local/src
[root@linux src] # tar -xzvf /tmp/etc.tar.gz
# 在預設的情況下,我們可以(www.jb51.net)將壓縮檔在任何地方解開的!以此範例來說,
# 我先將工作目錄轉換到/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 ~]# cd /tmp
。 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打包指定路徑檔的實作方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。
更多linux中tar打包指定路徑檔案的實作方法相關文章請關注PHP中文網!
🎜🎜🎜