命令:
tar 對壓縮文件進行操作
1. -c: 建立壓縮檔案
2. -x:解壓
3. -t:查看內容
4. -r:向壓縮歸檔文件末尾追加文件
5.-u:更新原壓縮包中的文件
這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的。
1. -z:有gzip屬性的
2. -j:有bz2屬性的
3. -Z:有compress屬性的
4. -v:顯示所有過程
5. -O:將文件解開到標准輸出
下面的參數-f是必須的
-f: 使用檔案名字,切記,這個參數是最後一個參數,後面只能接檔案名。
1. # tar -cf all.tar *.jpg
這條命令是將所有。jpg的文件打成一個名為all.tar的包。-c是表示產生新的包,-f指定包的文件名。
2. # tar -rf all.tar *.gif
這條命令是將所有。gif的文件增加到all.tar的包裡面去。-r是表示增加文件的意思。
3.# tar -uf all.tar logo.gif
這條命令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
4. # tar -tf all.tar
這條命令是列出all.tar包中所有文件,-t是列出文件的意思
5.# tar -xf all.tar
這條命令是解出all.tar包中所有文件,-x是解開的意思
壓縮
tar –cvf jpg.tar *.jpg //將目錄裡所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //將目錄裡所有jpg文件打包成jpg.tar後,並 且將其用gzip壓縮,生成一個gzip壓縮過的包,命名為jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //將目錄裡所有jpg文件打包成jpg.tar後,並且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名為jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //將目錄裡所有jpg文件打包成jpg.tar後,並且將其用compress壓縮,生成一個umcompress壓縮過的包,命名為jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的壓縮,需要先下載rar for linux
zip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for linux
下面是詳細的解壓縮命令,適合深入學習並當作使用手冊查閱:
tar -c|x|u|r|t[z|j][v] -f <歸檔文件> [未打包文件]
將多個文件打包為一個歸檔文件,可以在打包的同時進行壓縮。支持的格式為tar(歸檔)、gz(壓縮)、bz2(壓縮率更高,比較耗時)
-c 創建
-x 解包
-u 更新
-r 添加
-t 查看
-d 比較壓縮包內文件和文件
-A 將tar文件添加到歸檔文件中
-z 使用gz壓縮格式
-j 使用bz2壓縮格式
-v 顯示過程
-f <文件名> 歸檔文件的文件名
[未打包文件] 創建、更新時必須填寫
示例:
tar -czvf xxx.tar.gz xxx/ xxx1 xxx2 xxx3 多個待打包文件以空格分隔
tar -czvf xxx.tar.gz /home/user/xxx/ 使用絕對路徑打包,解包也使用絕對路徑
tar -xzvf xxx.tar.gz 按相對路徑解包到當前目錄下,或按絕對路徑解包
tar -czvf xxx.tar.gz xxx | split -b 1m 打包後,使用split分割為1m大小的多個文件
其它參數
-P 使用絕對路徑壓縮時,保留根目錄"/"
-W 校驗
-p 還原文件權限
-w 詢問用戶
--totals 統計
-T <表達式> 處理符合條件的文件
-X <表達式> 排除符合條件的文件
===============================
zip [參數] <壓縮包> <源文件>
使用zip格式打包文件
-r 遞歸,將指定目錄下的所有文件和子目錄一並處理
-S 包含系統和隱藏文件
-y 直接保存符號連接,而非該連接所指向的文件
-X 不保存額外的文件屬性
-m 將文件壓縮並加入壓縮文件後,刪除源文件
-<壓縮級別> 1~9,數字越大,壓縮率越高
-F 嘗試修復已損壞的壓縮文件
-T 檢查備份文件內的每個文件是否正確無誤
-q 不顯示指令執行過程
-g 將文件壓縮後附加在既有的壓縮文件之後,而非另行建立新的壓縮文件
-u 更新壓縮包內文件
-f 更新壓縮包內文件。如果符合條件的文件沒有包含在壓縮包中,則壓縮後添加
-$ 保存第一個被壓縮文件所在磁盤的卷標
-j 只保存文件名稱及其內容
-D 壓縮文件內不建立目錄名稱
-i <表達式> 壓縮目錄時,只壓縮符合條件的文件
-x <表達式> 排除符合條件的文件
-n <文件名後綴> 排除指定文件名後綴的文件
-b <緩存路徑> 指定臨時文件目錄
-d <表達式> 從壓縮文件內刪除指定的文件
-t <日期時間> 把壓縮文件的日期設成指定的日期
-o 以壓縮文件內擁有最新更改時間的文件為准,將壓縮文件的更改時間設成和該文件相同
-A 調整可執行的自動解壓縮文件
-c 替每個被壓縮的文件加上注釋
-z 替壓縮文件加上注釋
-k 使用MS-DOS兼容格式的文件名稱。
-l 壓縮文件時,把LF字符置換成LF+CR字符。
-ll 壓縮文件時,把LF+CR字符置換成LF字符。
===============================
unzip [參數] <壓縮文件> [壓縮包中將被釋放的文件]
解壓zip壓縮包文件
-P <密碼> zip壓縮包的密碼
-d <路徑> 指定解壓路徑
-n 解壓縮時不覆蓋原有文件
-f 覆蓋原有文件
-o 不經詢問,直接覆蓋原有文件
-u 覆蓋原有文件,並將壓縮文件中的其他文件解壓縮到目錄中
-l 顯示壓縮文件內所包含的文件
-t 檢查壓縮文件是否正確
-z 顯示壓縮包注釋
-Z unzip -Z等於執行zipinfo指令
-j 不處理壓縮文件中原有的目錄路徑
-C 壓縮文件中的文件名稱區分大小寫
-L 將壓縮文件中的全部文件名改為小寫
-s 將文件名中的空格轉換下劃線
-X 解壓縮時保留文件原來的UID/GID
-q 執行時不顯示任何信息
-v 執行是時顯示詳細的信息
-c 將解壓縮的結果顯示到屏幕上,並對字符做適當的轉換
-p 與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換
-a 對文本文件進行必要的字符轉換
-b 不要對文本文件進行字符轉換