2021-05-12 14:32:11
Linux 檔案的壓縮與歸檔
Linux 檔案的壓縮與歸檔
檔案壓縮
常用的壓縮命令有 gzip、bzip2 等。
gzip 命令
命令格式
gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ]
命令引數
-c --stdout --to-stdout
將輸出內容寫到標準輸出埠,並保持原有檔案不變
-d --decompress --uncompress
解壓縮
-f --force
強制壓縮
-h --help
列印幫助資訊
-l --list
列出壓縮檔案的壓縮統計
-L --license
列印版本與版權資訊
-q --quiet
不顯示警告資訊
-r --recursive
遞迴(解)壓縮
-S .suf --suffix .suf
指定壓縮檔案的字尾為 .suf,預設字尾是 .gz
-t --test
檢驗壓縮檔案的完整性
-v --verbose
在(解)壓縮時顯示詳細資訊
-V --version
列印版本與版權資訊
-# --fast --best
設定壓縮級別。# 的取值範圍為 1~9,# 的取值越大,壓縮速度越慢,壓縮效果越好。預設取值為 6。
範例
a) 壓縮檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ gzip foo
b) 解壓檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ gzip -d foo.gz
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ gunzip foo.gz
c) 列出壓縮檔案的壓縮統計
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ gzip -l foo.gz compressed uncompressed ratio uncompressed_name 4150 26134 84.2% foo
d) 指定壓縮級別
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ gzip -v9 foo foo: 84.9% -- replaced with foo.gz
e) 只檢視壓縮檔案的內容而不解壓檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ date > foo linuxidc@linuxidc:~/linuxidc/linux/cmdline$ gzip foo linuxidc@linuxidc:~/linuxidc/linux/cmdline$ gzip -dc foo.gz Thu May 7 17:10:35 CST 2015
相關命令
gunzip - 解壓縮,相當於 gzip -d
zless - 檢視壓縮檔案內容,zless test.gz 相當於 gunzip -c test.gz | less
zcat - 類似於 zless,zcat test.gz 相當於 gunzip -c test.gz | cat
bzip2 命令
bzip2 與 gzip 命令功能類似,但使用不同的壓縮演算法。該演算法具有高品質的資料壓縮能力,但卻降低了壓縮速度。多數情況下,其用法與 gzip 類似,只是用 bzip2 壓縮後的檔案以 .bz2 為字尾。
命令格式
bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ... ]
命令引數
-c --stdout
將資料壓縮或解壓縮至標準輸出。
-d --decompress
強制解壓縮
-z --compress
-d 選項的補充,強制壓縮檔案
-t --test
檢驗壓縮檔案的完整性
-f --force
強制覆蓋輸出檔案。
-k --keep
在(解)壓縮過程中保留原檔案
-s --small
在壓縮、 解壓縮及檢查時減少記憶體的使用量。
-q --quiet
不顯示警告資訊
-v --verbose
在(解)壓縮時顯示詳細資訊
-L --license -V --version
列印版本與版權資訊
-1 (or --fast) to -9 (or --best)
設定壓縮級別,數值越大,壓縮速度越慢,壓縮效果越好。
範例
a) 壓縮檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ bzip2 foo
b) 解壓縮檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ bunzip2 foo.bz2
相關命令
bunzip2 - 解壓縮,相當於 bzip2 -d
bzcat - 將解壓縮內容輸出至標準輸出,bzcat test.bz2 相當於 bunzip2 -c test.bz2 | cat
bzip2recover - 用於修復損壞的 bz2 檔案的資料
檔案歸檔
歸檔是與壓縮操作配合使用的一個常用檔案管理任務。歸檔是一個聚集眾多檔案並將它們組合為一個大檔案的過程。
tar 命令
命令格式
tar [OPTION...] [FILE]...
命令引數
-A, --catenate, --concatenate
追加 tar 檔案到歸檔檔案中
-c, --create
建立新的歸檔檔案
-d, --diff, --compare
查詢歸檔檔案與檔案系統的差異
--delete
從歸檔檔案裡刪除指定的檔案
-r, --append
追加檔案到歸檔檔案
-t, --list
列出歸檔檔案的內容
-u, --update
僅追加比歸檔檔案更新的檔案
-x, --extract, --get
從歸檔檔案中提取檔案
範例
a) 將foo1、foo2 和 foo3 歸檔至 foo.tar
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ tar cvf foo.tar foo1 foo2 foo3
b) 檢視歸檔檔案的內容
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ tar tvf foo.tar -rw-rw-r-- linuxidc/huey 26840 2015-05-07 19:28 foo1 -rw-rw-r-- linuxidc/huey 13047 2015-05-07 19:28 foo2 -rw-rw-r-- linuxidc/huey 348 2015-05-07 19:28 foo3
c) 從歸檔檔案中提取檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ tar xvf foo.tar
d) 追加 foo4 至歸檔檔案 foo.tar
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ tar rf foo.tar foo4
e) 從歸檔檔案 foo.tar 中刪除 foo2
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ tar -f foo.tar --delete foo2
f) 歸檔並壓縮(gzip)檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ tar zcvf foo.tar.gz foo
g) 解壓縮 .tar.gz 檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ tar zxvf foo.tar.gz
h) 歸檔並壓縮(bzip2)檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ tar jcvf foo.tar.bz2 foo
i) 解壓縮 .tar.bz2 檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ tar jxvf foo.tar.bz2
zip 命令
zip 程式既是檔案壓縮工具也是檔案歸檔工具。在 Linux 系統中,gzip 才是主要的壓縮指令,而 bzip2 次之。在 Linux 系統中主要使用 zip 程式與 Windows 系統交換檔案,而不是將其用於壓縮或是歸檔檔案。
命令格式
zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...] [-b path] [-n suffixes] [-t date] [-tt date] [zipfile [file ...]] [-xi list]
unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) ...] [-x xfile(s) ...] [-d exdir]
範例
a) 將 foo1、foo2 和 foo3 歸檔壓縮至 foo.zip
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ zip foo.zip foo1 foo2 foo3
b) 歸檔壓縮目錄
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ zip -r commons-beanutils-1.9.2.zip commons-beanutils-1.9.2
c) 解壓縮 .zip 檔案
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ unzip commons-beanutils-1.9.2.zip
Linux-檔案壓縮和歸檔 http://www.linuxidc.com/Linux/2013-12/94359.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-05/117236.htm
相關文章