Ubuntu文件系統壓縮與解壓常用技巧
tar是Ubuntu中最核心的歸檔工具,可與gzip、bzip2、xz等壓縮算法結合,生成.tar.gz
(高壓縮率)、.tar.bz2
(更高壓縮率)、.tar.xz
(極致壓縮率)等格式。
tar -czvf archive.tar.gz /path/to/target
(-c
創建歸檔,-z
調用gzip壓縮,-v
顯示進度,-f
指定文件名)。tar -cjvf archive.tar.bz2 /path/to/target
(-j
調用bzip2壓縮,壓縮率優于gzip但速度較慢)。tar -cJvf archive.tar.xz /path/to/target
(-J
調用xz壓縮,壓縮率最高但耗時最長)。gzip適合快速壓縮單個文件,生成.gz
格式(無法直接壓縮目錄,需配合tar歸檔)。
gzip filename.txt
(生成filename.txt.gz
,原文件被刪除)。gunzip filename.txt.gz
(恢復為filename.txt
)。-k
選項(如gzip -k filename.txt
)。bzip2比gzip壓縮率更高(尤其適合文本、日志文件),但壓縮/解壓速度較慢,生成.bz2
格式。
bzip2 filename.log
(生成filename.log.bz2
)。bunzip2 filename.log.bz2
(恢復為filename.log
)。-k
選項(如bzip2 -k filename.log
)。zip是Windows與Linux通用的壓縮格式,支持遞歸壓縮目錄,生成.zip
文件。
zip -r archive.zip /path/to/target
(-r
遞歸處理子目錄)。unzip archive.zip
(默認解壓到當前目錄)。unzip archive.zip -d /target/directory
(-d
設置目標路徑)。使用通配符*
或直接列出多個路徑,一次性壓縮多個對象:
tar -czvf backup.tar.gz *.txt /home/user/docs
(壓縮當前目錄所有.txt
文件及/home/user/docs
目錄)。gzip file1.txt file2.txt
(同時壓縮多個文件,生成file1.txt.gz
、file2.txt.gz
)。不解壓即可查看壓縮包內文件列表:
tar -tvf archive.tar.gz
(顯示.tar.gz
內的文件詳情)。unzip -l archive.zip
(列出.zip
內的文件清單)。使用split
命令將大壓縮包拆分為小卷(如每100MB):
tar -czvf - /path/to/large_dir | split -b 100M - archive_part.tar.gz.
(生成archive_part.tar.gz.aa
、archive_part.tar.gz.ab
等分卷)。cat archive_part.tar.gz.* > archive.tar.gz
(合并后正常解壓)。使用-C
(tar)或-d
(unzip)選項,將文件解壓到目標目錄(避免覆蓋當前目錄文件):
tar -xzvf archive.tar.gz -C /target/directory
(解壓.tar.gz
到/target/directory
)。unzip archive.zip -d ~/Downloads
(解壓.zip
到~/Downloads
)。根據壓縮包擴展名選擇對應命令:
.tar
:tar -xvf archive.tar
(僅需解包,無需額外壓縮)。.tar.gz/.tgz
:tar -xzvf archive.tar.gz
。.tar.bz2
:tar -xjvf archive.tar.bz2
。.tar.xz
:tar -xJvf archive.tar.xz
。.zip
:unzip archive.zip
。Ubuntu默認文件管理器Nautilus(GNOME)支持基本壓縮/解壓操作,無需記憶命令: