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)支持基本压缩/解压操作,无需记忆命令: