Linux中的压缩解压命令

948 阅读3分钟

1. tar命令打包和压缩

归档:也称为打包,指将一个文件或目录的集合存储在一个文件中,不压缩,大小不变

压缩:利用算法将文件处理,实现缩小文件体积的目的

  • 打包命令, tar [选项] 源文件或目录 ,使用tar命令归档的包以.tar结尾,成为tar包
    • -c,将多个文件或目录进行打包
    • -f + 包名,指定报的文件名,一定要正确指定扩展名.tar
    • -v,显示打包文件过程
    • -A,追加tar文件到归档文件
    • 打包一般使用 -cvf ,如 tar -cvf name.tar name.xml 即将name.xml打包成name.tar
    • gzip 压缩命令不可以直接压缩目录,需要先用tar命令打包目录成tar文件才可以压缩
  • 解打包命令, tar [选项] 压缩包
    • -x,对tar包做解打包操作
    • -f+tar文件,指定要解打包的tar文件名
    • -v,显示解打包过程
    • -C + 路径,指定解打包位置
    • -t,只查看tar包中有哪些文件或目录,不做解打包操作
    • 同样,进行解打包时应该使用 -xvf 选项,可以使用-C指定位置,否则解打包到当前位置
  • 使用tar命令打包同时进行压缩, tar [选项] 压缩包 源文件或目录
    • -z:压缩和解压缩 .tar.gz 格式
    • -j:压缩和解压缩 .tar.ba2 格式
    • tar -zcvf temp.tar.gz /temp/ 将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 压缩包名