首頁  >  文章  >  php教程  >  linux中tar打包指定路徑檔的實作方法

linux中tar打包指定路徑檔的實作方法

高洛峰
高洛峰原創
2017-01-07 13:38:552104瀏覽

壓縮:

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中文網!

🎜🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn