Linux下常用的(解)压缩命令

Linux(Ubuntu、CentOS、Debian、Fedora、OpenSuse、Deepin、RedHat、LinuxMint等)下常用的压缩/解压缩命令,支持压缩文件夹或文件。常用的格式有:tar,gz,tar.gz,tar.bz2,zip

使用 tar 命令可以压缩成tar,tar.gz,tar.bz2格式

压缩

tar -cvf 压缩包名称 带压缩文件(或目录)

    # 使用示例:
    
    tar -cvf foo.tar foo # 将foo压缩成foo.tar格式

    tar -zcvf foo.tar.gz foo # 将foo压缩成foo.tar.gz格式
    
    tar -jcvf foo.tar.bz2 foo # 将foo压缩成foo.tar.bz2格式

例如:

  • 压缩/data/img

tar -cvf data.img.tar /data/img

  • 压缩/data/img成tar.bz格式

tar -jcvf data.img.tar.bz2 /data/img

  • 压缩/data/img成tar.gz格式

tar -zcvf data.img.tar.gz /data/img

  • 压缩/data/img下所有的jpg

tar -cvf data.img.jpg.tar /data/img/*.jpg

解压缩

tar -xvf 待解压压缩文件

例如:

  • 解压data.img.tar

tar -xvf data.img.tar

  • 解压data.img.tar到指定文件夹

tar -xvf data.img.tar -C /data/img_copy

  • 解压/data/img成tar.bz格式

tar -jxvf data.img.tar.bz2 -C /data/img_copy

  • 解压/data/img成tar.gz格式

tar -zxvf data.img.tar.gz -C /data/img_copy

常用参数:
* -c :建立一个压缩文件的参数指令

* -x :解开一个压缩文件的参数指令

* -t :查看 tarfile 里面的文件

* -z :以`gzip`格式压缩(解压)。此时推荐压缩包名称命名为 xx.tar.gz 

* -j :以`bzip2`格式压缩(解压)。此时推荐压缩包名称命名为 xx.tar.bz2

* -v :压缩的过程中显示文件,压缩时输出压缩文件列表。常用,后台执行时不建议使用

* -N (yyyy/mm/dd):只压缩修改时间比指定日期新的文件

* -C :解压到指定目录

* --exclude :在压缩的过程中,排除指定文件(夹)

使用gzip命令可以压缩成gz,tar.gz格式

压缩

gzip -v 待压缩文件

比如将 foo.tar 压缩成 foo.tar.gz

gzip -v foo.tar

gzip还可以指定压缩等级:

gzip -v -1 foo.tar # 这里的 1 可以是1-9,压缩比从低到高

解压

gzip -dv 待解压文件

比如解压 foo.tar.gz 解压 koo/ 目录下

gzip -dv foo.tar.gz > koo/foo.tar

一般情况下,如果想将文件夹压缩成gz时,则使用 tar -zxvf 命令。

使用 zip 打包成 zip格式

压缩

zip [选项] 压缩包名称 待压缩文件(夹)

zip -r foo.zip foo  # 将foo文件夹压缩成foo.zip

zip -r koo.zip *.jpg   # 将当前文件下的所有jpg文件打包到koo.zip
   
zip foo.tar.zip foo.tar   # 将foo.tar文件打包成foo.tar.zip
   
zip -m foo.zip koo.txt   # 将koo.txt添加到foo.zip中

zip -dv foo.zip koo.txt   # 从压缩文件 oo.zip 中删除文件koo.txt

zip -P 123456 foo.zip *.png   # 加密压缩,使用-P指定密码

zip也可以指定压缩等级:

zip -r -1 foo.zip foo # 这里的 1 可以是1-9,压缩比从低到高

解压

unzip [选项] 压缩包名称 [-d 指定文件夹]

unzip foo.zip   # 解压foo.zip
   
unzip foo.zip -d foo   # 将foo.zip解压到foo文件
   
unzip -o foo.zip -d foo   # 将foo.zip解压到foo文件并覆盖已有文件

unzip -P 123456 foo.zip   # zip解压缩加密压缩包文件,使用-P指定密码

常用选项:

  • -m :将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中
  • -d :从压缩文件内删除指定的文件
  • -r :递归处理,将指定目录下的所有文件和子目录一并处理。压缩文件夹及子文件夹。
  • -u :更换较新的文件到压缩文件内
  • -v :显示指令执行过程或显示版本信息
  • -P <密码> :zip压缩包的密码
  • -d <路径> :指定解压路径
  • -o :不经询问,直接覆盖原有文件
  • -u :覆盖原有文件,并将压缩文件中的其他文件解压缩到目录中
  • -x <表达式> :处理里排除压缩包中的指定文件

你可能感兴趣的:(Linux下常用的(解)压缩命令)