专注做网管的电脑公司
  • 微信公众号
  • 联系我们
  • 客服热线:13726442969
  • Linux命令总结--打包解压命令

    2021-02-05 11:02:33 485

    Linux下的压缩和解压缩工具比较多,有时经常记不住,这里给大家汇总一下,方便大家查阅。

     

    tar

    -c: 建立压缩档案

    -x:解压

    -t:查看内容

    -r:向压缩归档文件末尾追加文件

    -u:更新原压缩包中的文件

    这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

    -z:有gzip属性的

    -j:有bz2属性的

    -Z:有compress属性的

    -v:显示所有过程

    -O:将文件解开到标准输出

    下面的参数-f是必须的

    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

    1
    # tar -cf all.tar *.jpg


    这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

    # tar -rf all.tar *.gif

    这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

    # tar -uf all.tar logo.gif

    这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

    # tar -tf all.tar

    这条命令是列出all.tar包中所有文件,-t是列出文件的意思

    # tar -xf all.tar

    这条命令是解出all.tar包中所有文件,-t是解开的意思

    压缩

    tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

    tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

    tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

    tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

    rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

    zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

    解压

    tar -xvf file.tar //解压 tar包

    tar -xzvf file.tar.gz //解压tar.gz

    tar -xjvf file.tar.bz2 //解压 tar.bz2

    tar -xZvf file.tar.Z //解压tar.Z

    unrar e file.rar //解压rar

    unzip file.zip //解压zip

    总结

    1、*.tar 用 tar -xvf 解压

    2、*.gz 用 gzip -d或者gunzip 解压

    3、*.tar.gz和*.tgz 用 tar -xzf 解压

    4、*.bz2 用 bzip2 -d或者用bunzip2 解压

    5、*.tar.bz2用tar -xjf 解压

    6、*.Z 用 uncompress 解压

    7、*.tar.Z 用tar -xZf 解压

    8、*.rar 用 unrar e解压

    9、*.zip 用 unzip 解压

    Linux下常见的几个压缩文件扩展名为:

     

    *.zip         zip程序压缩的文件

    *.gz          gzip程序压缩的文件

    *.bz2        bzip2程序压缩的文件

    *.xz           xz程序压缩的文件

    *.tar          tar打包,未压缩

    *.tar.gz     tar打包,gzip压缩

    *.tar.bz2   tar打包,bzip2压缩

    *.tar.xz      tar打包,xz压缩

     

    以下举例说明各类型的文件的压缩、打包和解压的命令。本文只介绍最简单的命令,有这些基本足够日常使用,如有特殊要求,可以查看相应命令的说明文档。

     

    1.zip

    #将目录下的test1.txt和test2打包为test.zip包:

    zip -r -o test.zip test1.txt test2

    -r表示递归,目录里的所有文件和文件夹都打包;-o指定输出包的名字;最后是需要打包的文件列表,也可以用通配符。

     

    #将test.zip解压:

    unzip test.zip

     

    #将test.zip解压,并放到new目录中:

    unzip test.zip -d new

     

    2.gz

    #将test1.txt压缩:

    gzip test1.txt

    此时会生成test1.txt.gz文件,而源文件会消失。

     

    #将test1.txt.gz解压:

    gzip -d test1.txt.gz

     

    3.bz2

    bz2的用法与gzip几乎相同,但是压缩比更高。

     

    #将test1.txt压缩:

    bzip2 test1.txt

    此时会生成test1.txt.bz2文件,而源文件会消失。

     

    #将test1.txt.gz解压:

    bzip2 -d test1.txt.bz2

     

    4.xz

    xz的用法与bz2和gzip几乎相同,但是压缩比更高。

     

    #将test1.txt压缩:

    xz test1.txt

    此时会生成test1.txt.xz文件,而源文件会消失。

     

    #将test1.txt.gz解压:

    xz -d test1.txt.xz

     

    5.tar

    tar实际上是一个打包和解包的工具,其用法为:

    打包:tar -cvf 待建立的新文件名 被打包文件列表

    解包:tar -xvf 已有的tar文件 [-C 目标目录]

    选项含义:

    -c  建立打包文件

    -x  解包

    -v  打包或解包过程中正在处理的文件名显示出来

    -f  后跟.tar文件

     

    6.tar.gz、tar.bz2、tar.xz

    这三种文件实际上是打包与压缩的组合,因此,可以看作是在.tar文件的基础上用上文提到的三种压缩工具压缩后生成的。同样,解压并解包也可分两步进行,先解压后解包。而实际操作中可一步实现压缩或解压:

    打包:tar [-z|-j|-J] -cvf 待建立的新文件名 被打包文件列表

    解包:tar [-z|-j|-J] -xvf 已有的tar文件 [-C 目标目录]

    是在打包的基础上加上了-z、-j或-J选项,其中:

    -z  通过gzip压缩或解压,文件名常为xxx.tar.gz

    -j  通过bzip2压缩或解压,文件名常为xxx.tar.bz2

    -J 通过xz压缩或解压,文件名常为xxx.tar.xz

     

    具体说来:

    压缩打包:

    tar -zcvf xxx.tar.gz 被打包文件列表

    tar -jcvf xxx.tar.bz2 被打包文件列表

    tar -Jcvf xxx.tar.xz 被打包文件列表

     

    解压:

    tar -zxvf xxx.tar.gz

    tar -jxvf xxx.tar.bz2

    tar -Jxvf xxx.tar.xz

     

    此外经常还会碰到tgztbz等格式的文件,其实是tar.gz和tar.bz2的缩写,操作方法相同。

     

    7.rar

    最后提一下rar文件。在Linux下rar并不常见,但有时也会碰到。Linux本身是不支持rar文件的,因此需要额外安装rar的压缩和解压工具。网址为:

    www.rarlab.com

    从Download列表中下载RAR 5.71 for Linux x64,得到一个tar.gz的压缩包,解压后得到rar目录,进入目录直接make即可。

    压缩:rar a xxx.rar 被打包文件列表

    解压:unrar e xxx.rar