1. tar 命令打包和压缩
归档(也称为打包)是将一个文件或目录的集合存储在一个不经压缩,大小不变的文件中。压缩则是利用算法将文件处理,以缩小文件体积。
-
打包命令: tar [选项] 源文件或目录 ,使用 tar 命令归档的包以 .tar 结尾,成为 tar 包。
主要选项:
- -c:将多个文件或目录进行打包
- -f + 包名:指定报的文件名,一定要正确指定扩展名.tar
- -v:显示打包文件过程
- -A:追加tar文件到归档文件
通常使用 -cvf ,如将 name.xml 打包成 name.tar:
tar -cvf name.tar name.xml
注意: gzip 命令不可以直接压缩目录,需要先用 tar 命令打包目录成 tar 文件才可以压缩。
-
解打包命令: tar [选项] 压缩包
主要选项:
- -x:对 tar 包做解打包操作
- -f+tar文件:指定要解打包的tar文件名
- -v:显示解打包过程
- -C + 路径:指定解打包位置
- -t:只查看tar包中有哪些文件或目录,不做解打包操作
通常使用 -xvf ,可以使用-C指定位置,否则解打包到当前位置。
-
使用 tar 命令打包同时进行压缩: tar [选项] 压缩包 源文件或目录
主要选项:
- -z:压缩和解压缩 .tar.gz 格式
- -j:压缩和解压缩 .tar.ba2 格式
例如,将 temp 目录打包并压缩为相应压缩文件: tar -zcvf temp.tar.gz /temp/
同理可以用 -zxvf 命令进行解压缩和解打包。
2. gz 格式压缩
压缩命令: gzip [选项] 源文件 ,只能压缩文件,指定目录时压缩目录内所有文件。
主要选项:
- -c:将压缩数据输出到标准输出中,并保留源文件
- -d:对压缩文件进行解压缩
- -r:递归压缩指定目录下的所有文件(不会打包)
- -v:显示文件名和压缩比
- -l:显示压缩前/后大小,压缩比,未压缩名称等
- -数字:指定压缩顶级,-1 最低,-9 最高,默认是 -6
gzip 命令压缩完成后会删除源文件,可以使用 -c 选项将压缩结果输出到标准输出,并配合输出重定向的方式将压缩内容重定向至压缩文件中,以实现压缩完成后不删除源文件。
例如: gzip -c a.txt > a.txt.gz
解压缩命令:gz 格式的压缩包可以通过 gzip 或 gunzip 命令来解压缩。
- gzip -d 压缩包名
- gunzip 压缩包名
3. bz2 格式压缩
bz2格式的压缩包算法和压缩比更好,而gz格式压缩更快。不可以压缩目录。
命令: bzip2 [选项] 源文件
主要选项:
- -d:解压缩
- -k:压缩时保留源文件
- -v:压缩时显示压缩详细信息
解压缩命令:
- bzip2 -d 压缩包名
- bunzip2 压缩包名
4. zip 格式压缩和解压缩
zip 是 windows 中常见的压缩文件格式,linux 中也可以处理。
压缩命令: zip [选项] 压缩包名 源文件或源目录 (支持多个)
- -r:压缩目录
解压缩命令: unzip [选项] 压缩包名
- -d:指定解压缩位置,如果不指定则默认解压到当前目录
5. rar 格式压缩和解压缩
压缩命令: rar [选项] 压缩包名 源文件
主要选项:
- a:添加到压缩文件(压缩必有)
- -r:递归处理
- x:以绝对路径解压文件
解压缩命令: unrar x 压缩包名