壓縮、解壓縮及歸檔工具
? file-roller
? compress/uncompress: .Z
? gzip/gunzip: .gz
? bzip2/bunzip2: .bz2
? xz/unxz: .xz
? zip/unzip
? tar
? cpio
1.compress/uncompress
? compress [-dfvcVr] [-b maxbits] [file ...]
-d: 解壓縮,相當于uncompress
-c: 結果輸出至標準輸出,不刪除原文件
-v: 顯示詳情
? uncompress 解壓縮
? zcat file.Z >file
2.gzip/gunzip
? gzip [OPTION]... FILE ...
-d: 解壓縮,相當于gunzip
-c: 將壓縮或解壓縮的結果輸出至標準輸出
-#:1-9,指定壓縮比,值越大壓縮比越大
? zcat:不顯式解壓縮的前提下查看文本文件內容
? 實例:
gzip -c messages >messages.gz
gzip -c -d messages.gz > messages
zcat messages.gz > messages
3.bzip2/bunzip2/bzcat
? bzip2 [OPTION]... FILE ...
-k: keep, 保留原文件
-d:解壓縮
-#:1-9,壓縮比,默認為9
? bzcat:不顯式解壓縮的前提下查看文本文件內容
4.xz/unxz/xzcat
? xz [OPTION]... FILE ...
-k: keep, 保留原文件
-d:解壓縮
-#:1-9,壓縮比,默認為6
? xzcat: 不顯式解壓縮的前提下查看文本文件內容
5.zip/unzip
? 打包壓縮
zip –r /testdir/sysconfig /etc/sysconfig/
? 解包解壓縮
unzip sysconfig.zip
cat /var/log/messages | zip messages -
unzip -p message > message
6.tar工具
? Tar(Tape ARchive,磁帶歸檔的縮寫)
? tar [OPTION]...
(Linux中的很多壓縮程序只針對一個文件進行壓縮,所以當你想要壓縮一大堆文件的時候,你就得先借助其他的工具將這些大文件打成一個包,然后再進行壓縮)
(1) 創建歸檔
tar -c -f /PATH/TO/SOMEFILE.tar FILE...
(2) 追加文件至歸檔: 注:不支持對壓縮文件追加
tar -r -f /PATH/TO/SOMEFILE.tar FILE...
(3) 查看歸檔文件中的文件列表
tar -t -f /PATH/TO/SOMEFILE.tar
(4) 展開歸檔
tar -x -f /PATH/TO/SOMEFILE.tar
tar -x -f /PATH/TO/SOMEFILE.tar -C /PATH/
(5) 結合壓縮工具實現:歸檔并壓縮
-j: bzip2(后綴.bz2), -z: gzip, -J: xz
? -T選項指定輸入文件,-X選項指定包含要排除的文件列表
? 分割大的 tar 文件為多份小文件:
split –b Size –d tar-file-name prefix-name(-b指定分割承包的大小,-d分割的文件用數字表示)
split -b 1M –d mybackup.tgz mybackup-parts
split -b 1M mybackup.tgz mybackup-parts
? 合并:
cat mybackup-parts* > mybackup.tar.gz
7.cpio
? 復制 從或到文件
? cpio命令是通過重定向的方式將文件進行打包備份,還原恢復
的工具,它可以解壓以“.cpio”或者“.tar”結尾的文件。
? cpio [選項] > 文件名或者設備名
? cpio [選項] < 文件名或者設備名
? 選項
-o 將文件拷貝打包成文件或者將文件輸出到設備上
-i 解包,將打包文件解壓或將設備上的備份還原到系統
-t 預覽,查看文件內容或者輸出到設備上的文件內容
-v 顯示打包過程中的文件名稱。
-d 解包生成目錄,在cpio還原時,自動的建立目錄
-c 一種較新的存儲方式
示例
? 將etc目錄備份:
find ./etc -print |cpio -ov >etc.cpio
? 內容預覽
cpio –tv < etc.cpio
? 要解包文件
cpio –idv < etc.cpio