欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux压缩和解压缩命令大全 有大用

shiping1 的头像

-C 大写的C,表示 create吧,表示 把 解压后的文件 放到哪个地方吧 比如  tar -C /usr/local -zxf /usr/local/src/apache-tomcat-7.*.tar.gz  表示放到 /usr/local 这个目录下面



今天解压一个gz文件,直接 tar -zxvf FILE.tar.gz --directory ./ ; 结果由于压缩包里文件夹名称与我本地文件夹名称相同,将所有文件给覆盖了; 

linux下用tar xvf *.tar命令解压缩不小心把以前相同文件名的代码覆盖了,我想恢复之前的代码,有高手知道 


  


 .tar
  解包:tar xzvf FileName.tar   (难道要把 z 去掉)
  打包:tar czvf FileName.tar DirName  (为什么不行 难道要把 z 去掉)
  ---------------------------------------------
  .gz
  解压1:gunzip FileName.gz
  解压2:gzip -d FileName.gz
  压缩:gzip FileName
  .tar.gz 和 .tgz
  解压:tar zxvf FileName.tar.gz
  压缩:tar zcvf FileName.tar.gz DirName

  ---------------------------------------------
  .bz2
  解压1:bzip2 -d FileName.bz2
  解压2:bunzip2 FileName.bz2
  压缩: bzip2 -z FileName
  .tar.bz2
  解压:tar jxvf FileName.tar.bz2
  压缩:tar jcvf FileName.tar.bz2 DirName
  ---------------------------------------------
  .bz
  解压1:bzip2 -d FileName.bz
  解压2:bunzip2 FileName.bz
  压缩:未知
  .tar.bz
  解压:tar jxvf FileName.tar.bz
  压缩:未知
  ---------------------------------------------
  .Z
  解压:uncompress FileName.Z
  压缩:compress FileName
  .tar.Z
  解压:tar Zxvf FileName.tar.Z
  压缩:tar Zcvf FileName.tar.Z DirName
  ---------------------------------------------
  .zip
  解压:unzip FileName.zip
       覆盖解压: unzip -o FileName.zip

  压缩:zip FileName.zip DirName (好像不行)

              zip -r xxx.zip ./* (为什么不全呢)

 ---------------------------------------------
  .rar
  解压:rar a FileName.rar
  压缩:rar e FileName.rar
  
  rar请到:http://www.rarsoft.com/download.htm 下载!
  解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
  [root@www2 tmp]# cp rar_static /usr/bin/rar
  ---------------------------------------------
  .lha
  解压:lha -e FileName.lha
  压缩:lha -a FileName.lha FileName
  
  lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!
  >解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
  [root@www2 tmp]# cp lha /usr/bin/
  ---------------------------------------------
  .rpm
  解包:rpm2cpio FileName.rpm | cpio -div
  ---------------------------------------------
  .deb
  解包:ar p FileName.deb data.tar.gz | tar zxf -
  ---------------------------------------------

来自  http://www.blogjava.net/jiangjf/archive/2007/07/29/133122.html


Linux下zip的操作命令


1.zip -r myfile.zip ./*

将当前目录下的所有文件和文件夹全部压缩成myfile.zip内联代码块文件,内联代码块-r表示递归压缩子目录下所有文件。

2.unzip
unzip -o -d /home/sunny myfile.zip

myfile.zip文件解压到 /home/sunny/

-o:不提示的情况下覆盖文件;

-d:-d /home/sunny指明将文件解压缩到/home/sunny目录下。

3.其他
zip -d myfile.zip smart.txt

删除压缩文件中smart.txt文件

zip -m myfile.zip ./rpm_info.txt

向压缩文件中myfile.zip中添加rpm_info.txt文件。

来自  https://www.linuxprobe.com/linux-zip.html




linux zip/unzip命令

命令名: zip

 

功能说明:压缩文件。

语  法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式>]

补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具 有".zip"扩展名 的压缩文件。

参  数:

-A   调 整可执行的自动解压缩文件。

-b<工作目录>   指 定暂时存放文件的目录。

-c   替 每个被压缩的文件加上注释。

-d   从 压缩文件内删除指定的文件。

-D   压 缩文件内不建立目录名称。

-f   此 参数的效果和指定"-u"参 数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。

-F   尝 试修复已损坏的压缩文件。

-g   将 文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。

-h   在 线帮助。

-i<范本样式>   只 压缩符合条件的文件。

-j   只 保存文件名称及其内容,而不存放任何目录名称。

-J   删 除压缩文件前面不必要的数据。

-k   使 用MS-DOS兼容格 式的文件名称。

-l   压 缩文件时,把LF字符 置换成LF+CR字 符。

-ll   压 缩文件时,把LF+CR字 符置换成LF字符。

-L   显 示版权信息。

-m   将 文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。

-n<字尾字符串>   不 压缩具有特定字尾字符串的文件。

-o   以 压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。

-q   不显 示指令执行过程。

-r   递 归处理,将指定目录下的所有文件和子目录一并处理。

-S   包 含系统和隐藏文件。

-t<日期时间>   把 压缩文件的日期设成指定的日期。

-T   检 查备份文件内的每个文件是否正确无误。

-u   更 换较新的文件到压缩文件内。

-v   显 示指令执行过程或显示版本信息。

-V   保 存VMS操作系统的文 件属性。

-w   在 文件名称里假如版本编号,本参数仅在VMS操 作系统下有效。

-x<范本样式>   压 缩时排除符合条件的文件。

-X   不 保存额外的文件属性。

-y   直 接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之 类的系统下有效。

-z   替 压缩文件加上注释。

-$   保 存第一个被压缩文件所在磁盘的卷册名称。

-<压缩效率>   压 缩效率是一个介于1-9的 数值。

 

例子

 

1. 压缩test.MYI

 

[root@mysql test]# zip test1.zip test.MYI

adding: test.MYI (deflated 42%)

[root@mysql test]#ll

-rw-r--r-- 1 root    root    1033755 09-24 10:03 test1.zip

 

压缩率为8

[root@mysql test]# zip test2.zip -8 test.MYI

adding: test.MYI (deflated 42%)

[root@mysql test]#ll

-rw-r--r-- 1 root    root    1033451 09-24 10:03 test2.zip

 

2.   将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件

[root@mysql test]# zip -r test.zip ./*

 

打包目录

[root@mysql test]# zip test2.zip test2/*

 

 

3.   删除压缩文件test1.zip中test.MYI文件

[root@mysql test]# zip -d test1.zip test.MYI

 

删除打包文件目录下的文件

 

[root@mysql test]# zip -d test2.zip test2/ln.log

deleting: tests/ln.log

 

4.   向压缩文件中test1.zip中添加test. MYI文件

[root@mysql test]# zip -m test1.zip test. MYI

 

5.   压缩文件时排除某个文件

[root@mysql test]# zip test3.zip tests/* -x tests/ln.log

 

 

命令名 unzip

功 能说明:解压缩zip文 件

语  法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密 码>][.zip文 件][文件][-d <目录>][-x <文件>]  unzip [-Z]

补充说明:unzip.zip压缩文件的解压缩程序。

参  数:

-c   将 解压缩的结果显示到屏幕上,并对字符做适当的转换。

-f   更 新现有的文件。

-l   显 示压缩文件内所包含的文件。

-p   -c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任 何的转换。

-t   检 查压缩文件是否正确。,但不解压。

-u   -f参数类似,但是除了更新现有的文件外,也会将压缩文件中 的其他文件解压缩到目录中。

-v   执 行是时显示详细的信息。或查看压缩文件目录,但不解压。

-z   仅 显示压缩文件的备注文字。

-a   对 文本文件进行必要的字符转换。

-b   不 要对文本文件进行字符转换。

-C   压 缩文件中的文件名称区分大小写。

-j   不 处理压缩文件中原有的目录路径。

-L   将 压缩文件中的全部文件名改为小写。

-M   将 输出结果送到more程 序处理。

-n   解 压缩时不要覆盖原有的文件。

-o   不 必先询问用户,unzip执 行后覆盖原有文件。

-P<密码>   使 用zip的密码选项。

-q   执 行时不显示任何信息。

-s   将 文件名中的空白字符转换为底线字符。

-V   保 留VMS的文件版本信 息。

-X   解 压缩时同时回存文件原来的UID/GID

[.zip文件]   指定.zip压缩文件。

[文件]   指定 要处理.zip压缩文 件中的哪些文件。

-d<目录>   指 定文件解压缩后所要存储的目录。

-x<文件>   指 定不要处理.zip压 缩文件中的哪些文件。

-Z   unzip -Z等 于执行zipinfo指 令。

 

 

1:将压缩文件text.zip在当前目录下解压缩。

 

[root@mysql test]# unzip test.zip

 

2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

 

[root@mysql test]# unzip -n test.zip -d /tmp

 

3:查看压缩文件目录,但不解压。

 

[root@mysql test]# unzip -v test.zip

 

4:将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。

 

[root@mysql test]# unzip -o test.zip -d tmp/

 

 

使用

unzip "*.zip"

ls *.zip | xargs -n1 unzip

解压当前目录下的所有zip文件

来自 http://www.cnblogs.com/lucyjiayou/archive/2011/12/25/2301046.html



 

Linux下的压缩zip,解压缩unzip命令详解及实例

Linux下的压缩解压缩命令详解及实例

实例:压缩服务器上当前目录的内容为xxx.zip文件

zip -r xxx.zip ./*

解压zip文件到当前目录

unzip filename.zip

============================

另:有些服务器没有安装zip包执行不了zip命令,但基本上都可以用tar命令的,实例如下:

 

tar -zcvf /home/zdzlibs.tar.gz /home/zdz/java/zdzlibs/

============================

linux zip命令

zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.

2.unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;

3.其他
zip -d myfile.zip smart.txt
删除压缩文件中smart.txt文件
zip -m myfile.zip ./rpm_info.txt
向压缩文件中myfile.zip中添加rpm_info.txt文件
-------------------------------------------------------------------------------

要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:

zip -r filename.zip filesdir
 

在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。

要抽取 zip 文件的内容,键入以下命令:

unzip filename.zip
 

你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

zip -r filename.zip file1 file2 file3 /usr/work/school 
 

上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。

 

tar 命令详解

  -c: 建立压缩档案

  -x:解压

  -t:查看内容

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

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

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

  -c: 建立压缩档案

  -x:解压

  -t:查看内容

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

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

  下面的参数-f是必须的

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

  # 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中tar命令详解(转载的资料)

  2008年04月17日 星期四 15:37

  tar命令

  tar 可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被 用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将 几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。

  语法:tar [主选项+辅选项] 文件或者目录

  使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

  主选项:

  c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。

  r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。

  t 列出档案文件的内容,查看已经备份了哪些文件。

  u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。

  x 从档案文件中释放文件。

  辅助选项:

  b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。

  f 使用档案文件或设备,这个选项通常是必选的。

  k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。

  m 在还原文件时,把所有文件的修改时间设定为现在。

  M 创建多卷的档案文件,以便在几个磁盘中存放。

  v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

  w 每一步都要求确认。

  z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

  Linux下的压缩文件剖析

  对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见 的压缩文件就只有两种,一是,zip,另一个是.rap。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的 压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip和.rar的人就太少了。本文就来对这些 常见的压缩文件进行一番小结,希望你下次遇到这些文件时不至于被搞晕。

  在具体总结各类压缩文件之前呢,首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压 缩算法变成一个小文件。为什么要区分这两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就 得先借助另它的工具将这一大堆文件先打成一个包,然后再就原来的压缩程序进行压缩。

  Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:

  tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:

  # 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的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用gzip、bzip2等。

  1) tar调用gzip

  gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下:

  # tar -czf all.tar.gz *.jpg

  这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz

  # tar -xzf all.tar.gz

  这条命令是将上面产生的包解开。

  2) tar调用bzip2

  bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例说明一下:

  # tar -cjf all.tar.bz2 *.jpg

  这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2

  # tar -xjf all.tar.bz2

  这条命令是将上面产生的包解开。

  3)tar调用compress

  compress也是一个压缩程序,但是好象使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是bzip2压缩的结果。与 compress相对的解压程序是uncompress。tar中使用-Z这个参数来调用gzip。下面来举例说明一下:

  # tar -cZf all.tar.Z *.jpg

  这条命令是将所有.jpg的文件打成一个tar包,并且将其用compress压缩,生成一个uncompress压缩过的包,包名为all.tar.Z

  # tar -xZf all.tar.Z

  这条命令是将上面产生的包解开

  有了上面的知识,你应该可以解开多种压缩文件了,下面对于tar系列的压缩文件作一个小结:

  1)对于.tar结尾的文件

  tar -xf all.tar

  2)对于.gz结尾的文件

  gzip -d all.gz

  gunzip all.gz

  3)对于.tgz或.tar.gz结尾的文件

  tar -xzf all.tar.gz

  tar -xzf all.tgz

  4)对于.bz2结尾的文件

  bzip2 -d all.bz2

  bunzip2 all.bz2

  5)对于tar.bz2结尾的文件

  tar -xjf all.tar.bz2

  6)对于.Z结尾的文件

  uncompress all.Z

  7)对于.tar.Z结尾的文件

  tar -xZf all.tar.z

  另外对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们:

  1)对于.zip

  linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

  # zip all.zip *.jpg

  这条命令是将所有.jpg的文件压缩成一个zip包

  # unzip all.zip

  这条命令是将all.zip中的所有文件解压出来

  2)对于.rar

  要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux

  不是免费的;然后安装:

  # tar -xzpvf rarlinux-3.2.0.tar.gz

  # cd rar

  # make

  这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

  # rar a all *.jpg

  这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加到包名后。

  # unrar e all.rar

  这条命令是将all.rar中的所有文件解压出来

  到此为至,我们已经介绍过linux下的tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、 zip、unzip、rar、unrar等程式,你应该已经能够使用它们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、.zip、.rar这10种压缩文件进行解压了,以后应该不需要为下载了一个软件而不知道如何在Linux下解开而烦恼了。而且以上方 法对于Unix也基本有效。

  本文介绍了linux下的压缩程式tar、gzip、gunzip、bzip2、bunzip2、 compress、uncompress、zip、unzip、rar、unrar等程式,以及如何使用它们对.tar、.gz、.tar.gz、. tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar这10种压缩文件进行操作


来自 

https://www.cnblogs.com/zdz8207/p/3765604.html




Linux下的tar压缩解压缩命令详解

tar

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

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

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

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

# 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文件打包成jpg.tar 

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 解压


来自 https://www.cnblogs.com/lhm166/articles/6604852.html



Linux下的tar压缩解压缩命令详解

tar

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

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

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

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

# 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 解压

 

解压jdk到指定文件夹:

tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java

 

root@ubuntu:~# tar --help
用法: tar [选项...] [FILE]...
GNU 'tar' saves many files together into a single tape or disk archive, and can
restore individual files from the archive.

Examples:
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar # List all files in archive.tar verbosely.
tar -xf archive.tar # Extract all files from archive.tar.

主操作模式:

-A, --catenate, --concatenate 追加 tar 文件至归档
-c, --create 创建一个新归档
-d, --diff, --compare 找出归档和文件系统的差异
--delete 从归档(非磁带!)中删除
-r, --append 追加文件至归档结尾
-t, --list 列出归档内容
--test-label 测试归档卷标并退出
-u, --update 仅追加比归档中副本更新的文件
-x, --extract, --get 从归档中解出文件

操作修饰符:

--check-device 当创建增量归档时检查设备号(默认)
-g, --listed-incremental=FILE 处理新式的 GNU 格式的增量备份
-G, --incremental 处理老式的 GNU 格式的增量备份
--ignore-failed-read
当遇上不可读文件时不要以非零值退出
--level=NUMBER 所创建的增量列表归档的输出级别
-n, --seek 归档可检索
--no-check-device 当创建增量归档时不要检查设备号
--no-seek 归档不可检索
--occurrence[=NUMBER] 仅处理归档中每个文件的第 NUMBER
个事件;仅当与以下子命令 --delete,
--diff, --extract 或是 --list
中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过
-T 选项指定的;NUMBER 值默认为 1
--sparse-version=MAJOR[.MINOR]
设置所用的离散格式版本(隐含
--sparse)
-S, --sparse 高效处理离散文件

重写控制:

-k, --keep-old-files don't replace existing files when extracting,
treat them as errors
--keep-directory-symlink preserve existing symlinks to directories when
extracting
--keep-newer-files
不要替换比归档中副本更新的已存在的文件
--no-overwrite-dir 保留已存在目录的元数据
--one-top-level[=DIR] create a subdirectory to avoid having loose files
extracted
--overwrite 解压时重写存在的文件
--overwrite-dir 解压时重写已存在目录的元数据(默认)

--recursive-unlink 解压目录之前先清除目录层次
--remove-files 在添加文件至归档后删除它们
--skip-old-files don't replace existing files when extracting,
silently skip over them
-U, --unlink-first 在解压要重写的文件之前先删除它们
-W, --verify 在写入以后尝试校验归档

选择输出流:

--ignore-command-error 忽略子进程的退出代码
--no-ignore-command-error
将子进程的非零退出代码认为发生错误
-O, --to-stdout 解压文件至标准输出
--to-command=COMMAND
将解压的文件通过管道传送至另一个程序

操作文件属性:

--atime-preserve[=METHOD]
在输出的文件上保留访问时间,要么通过在读取(默认
METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间
--clamp-mtime only set time when the file is more recent than
what was given with --mtime
--delay-directory-restore
直到解压结束才设置修改时间和所解目录的权限
--group=名称 强制将 NAME
作为所添加的文件的组所有者
--mode=CHANGES 强制将所添加的文件(符号)更改为权限
CHANGES
--mtime=DATE-OR-FILE 从 DATE-OR-FILE 中为添加的文件设置
mtime
-m, --touch 不要解压文件的修改时间
--no-delay-directory-restore
取消 --delay-directory-restore 选项的效果
--no-same-owner
将文件解压为您所有(普通用户默认此项)
--no-same-permissions
从归档中解压权限时使用用户的掩码位(默认为普通用户服务)
--numeric-owner 总是以数字代表用户/组的名称
--owner=名称 强制将 NAME
作为所添加的文件的所有者
-p, --preserve-permissions, --same-permissions
解压文件权限信息(默认只为超级用户服务)
--preserve 与 -p 和 -s 一样
--same-owner
尝试解压时保持所有者关系一致(超级用户默认此项)
-s, --preserve-order, --same-order
member arguments are listed in the same order as
the files in the archive
--sort=ORDER directory sorting order: none (default), name or
inode

Handling of extended file attributes:

--acls Enable the POSIX ACLs support
--no-acls Disable the POSIX ACLs support
--no-selinux Disable the SELinux context support
--no-xattrs Disable extended attributes support
--selinux Enable the SELinux context support
--xattrs Enable extended attributes support
--xattrs-exclude=MASK specify the exclude pattern for xattr keys
--xattrs-include=MASK specify the include pattern for xattr keys

设备选择和切换:

-f, --file=ARCHIVE 使用归档文件或 ARCHIVE 设备
--force-local
即使归档文件存在副本还是把它认为是本地归档
-F, --info-script=名称, --new-volume-script=名称
在每卷磁带最后运行脚本(隐含 -M)
-L, --tape-length=NUMBER 写入 NUMBER × 1024 字节后更换磁带
-M, --multi-volume 创建/列出/解压多卷归档文件
--rmt-command=COMMAND 使用指定的 rmt COMMAND 代替 rmt
--rsh-command=COMMAND 使用远程 COMMAND 代替 rsh
--volno-file=FILE 使用/更新 FILE 中的卷数

设备分块:

-b, --blocking-factor=BLOCKS 每个记录 BLOCKS x 512 字节
-B, --read-full-records 读取时重新分块(只对 4.2BSD 管道有效)
-i, --ignore-zeros 忽略归档中的零字节块(即文件结尾)
--record-size=NUMBER 每个记录的字节数 NUMBER,乘以 512

选择归档格式:

-H, --format=FORMAT 创建指定格式的归档

FORMAT 是以下格式中的一种:

gnu GNU tar 1.13.x 格式
oldgnu GNU 格式 as per tar <= 1.12
pax POSIX 1003.1-2001 (pax) 格式
posix 等同于 pax
ustar POSIX 1003.1-1988 (ustar) 格式
v7 old V7 tar 格式

--old-archive, --portability
等同于 --format=v7
--pax-option=关键字[[:]=值][,关键字[[:]=值]]...
控制 pax 关键字
--posix 等同于 --format=posix
-V, --label=TEXT 创建带有卷名 TEXT
的归档;在列出/解压时,使用 TEXT
作为卷名的模式串

压缩选项:

-a, --auto-compress 使用归档后缀名来决定压缩程序
-I, --use-compress-program=PROG
通过 PROG 过滤(必须是能接受 -d
选项的程序)
-j, --bzip2 通过 bzip2 过滤归档
-J, --xz 通过 xz 过滤归档
--lzip 通过 lzip 过滤归档
--lzma 通过 xz 过滤归档
--lzop 通过 xz 过滤归档
--no-auto-compress 不使用归档后缀名来决定压缩程序
-z, --gzip, --gunzip, --ungzip 通过 gzip 过滤归档
-Z, --compress, --uncompress 通过 compress 过滤归档

本地文件选择:

--add-file=FILE 添加指定的 FILE 至归档(如果名字以 -
开始会很有用的)
--backup[=CONTROL] 在删除前备份,选择 CONTROL 版本
-C, --directory=DIR 改变至目录 DIR
--exclude=PATTERN 排除以 PATTERN 指定的文件
--exclude-backups 排除备份和锁文件
--exclude-caches 除标识文件本身外,排除包含
CACHEDIR.TAG 的目录中的内容
--exclude-caches-all 排除包含 CACHEDIR.TAG 的目录
--exclude-caches-under 排除包含 CACHEDIR.TAG
的目录中所有内容
--exclude-ignore=FILE read exclude patterns for each directory from
FILE, if it exists
--exclude-ignore-recursive=FILE
read exclude patterns for each directory and its
subdirectories from FILE, if it exists
--exclude-tag=FILE 除 FILE 自身外,排除包含 FILE
的目录中的内容
--exclude-tag-all=FILE 排除包含 FILE 的目录
--exclude-tag-under=FILE 排除包含 FILE 的目录中的所有内容
--exclude-vcs 排除版本控制系统目录
--exclude-vcs-ignores read exclude patterns from the VCS ignore files
-h, --dereference
跟踪符号链接;将它们所指向的文件归档并输出
--hard-dereference
跟踪硬链接;将它们所指向的文件归档并输出
-K, --starting-file=MEMBER-NAME
begin at member MEMBER-NAME when reading the
archive
--newer-mtime=DATE 当只有数据改变时比较数据和时间
--no-null 禁用上一次的效果 --null 选项
--no-recursion 避免目录中的自动降级
--no-unquote do not unquote input file or member names
--null -T 读取以空终止的名字,-C 禁用
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
只保存比 DATE-OR-FILE 更新的文件
--one-file-system 创建归档时保存在本地文件系统中
-P, --absolute-names don't strip leading '/'s from file names
--recursion 目录递归(默认)
--suffix=STRING 在删除前备份,除非被环境变量
SIMPLE_BACKUP_SUFFIX
覆盖,否则覆盖常用后缀(‘’)
-T, --files-from=FILE 从 FILE
中获取文件名来解压或创建文件
--unquote unquote input file or member names (default)
-X, --exclude-from=FILE 排除 FILE 中列出的模式串

文件名变换:

--strip-components=NUMBER 解压时从文件名中清除 NUMBER
个引导部分
--transform=EXPRESSION, --xform=EXPRESSION
使用 sed 代替 EXPRESSION
来进行文件名变换

文件名匹配选项(同时影响排除和包括模式串):

--anchored 模式串匹配文件名头部
--ignore-case 忽略大小写
--no-anchored patterns match after any '/' (default for
exclusion)
--no-ignore-case 匹配大小写(默认)
--no-wildcards 逐字匹配字符串
--no-wildcards-match-slash wildcards do not match '/'
--wildcards 使用通配符(默认对 exclusion )
--wildcards-match-slash wildcards match '/' (default for exclusion)

提示性输出:

--checkpoint[=NUMBER] 每隔 NUMBER
个记录显示进度信息(默认为 10 个)
--checkpoint-action=ACTION 在每个检查点上执行 ACTION
--full-time 按文件原本时间格式打印
--index-file=FILE 将详细输出发送至 FILE
-l, --check-links
只要不是所有链接都被输出就打印信息
--no-quote-chars=STRING 禁用来自 STRING 的字符引用
--quote-chars=STRING 来自 STRING 的额外的引用字符
--quoting-style=STYLE 设置名称引用风格;有效的 STYLE
值请参阅以下说明
-R, --block-number 每个信息都显示归档内的块数
--show-defaults 显示 tar 默认选项
--show-omitted-dirs
列表或解压时,列出每个不匹配查找标准的目录
--show-snapshot-field-ranges
show valid ranges for snapshot-file fields
--show-transformed-names, --show-stored-names
显示变换后的文件名或归档名
--totals[=SIGNAL] 处理归档后打印出总字节数;当此
SIGNAL 被触发时带参数 -
打印总字节数;允许的信号为:
SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和
SIGUSR2;同时也接受不带 SIG
前缀的信号名称
--utc 以 UTC 格式打印文件修改时间
-v, --verbose 详细地列出处理的文件
--warning=KEYWORD 警告控制:
-w, --interactive, --confirmation
每次操作都要求确认

兼容性选项:

-o 创建归档时,相当于
--old-archive;展开归档时,相当于
--no-same-owner

其它选项:

-?, --help 显示此帮助列表
--restrict 禁用某些潜在的有危险的选项
--usage 显示简短的用法说明
--version 打印程序版本

长选项和相应短选项具有相同的强制参数或可选参数。

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control may be set with --backup or VERSION_CONTROL, values are:

none, off never make backups
t, numbered make numbered backups
nil, existing numbered if numbered backups exist, simple otherwise
never, simple always make simple backups

--quoting-style 选项的有效参数为:

literal
shell
shell-always
c
c-maybe
escape
locale
clocale

此 tar 默认为:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/lib/tar/rmt
--rsh-command=/usr/bin/rsh

源地址:

http://blog.csdn.net/x_iya/article/details/72889456


来自  https://www.cnblogs.com/manong--/p/8012324.html


Linux中zip压缩和unzip解压缩命令详解

转载 2015年07月01日 16:39:57

Linux中zip压缩和unzip解压缩命令详解

1、把/home目录下面的mydata目录压缩为mydata.zip 
zip -r mydata.zip mydata #压缩mydata目录 
2、把/home目录下面的mydata.zip解压到mydatabak目录里面 
unzip mydata.zip -d mydatabak 
3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip 
zip -r abc123.zip abc 123.txt 
4、把/home目录下面的wwwroot.zip直接解压到/home目录里面 
unzip wwwroot.zip 
5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面 
unzip abc*.zip 
6、查看把/home目录下面的wwwroot.zip里面的内容 
unzip -v wwwroot.zip 
7、验证/home目录下面的wwwroot.zip是否完整 
unzip -t wwwroot.zip 
8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录 
unzip -j wwwroot.zip

主要参数

-c:将解压缩的结果 
-l:显示压缩文件内所包含的文件 
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换 
-t:检查压缩文件是否正确 
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中 
-v:执行是时显示详细的信息 
-z:仅显示压缩文件的备注文字 
-a:对文本文件进行必要的字符转换 
-b:不要对文本文件进行字符转换 
-C:压缩文件中的文件名称区分大小写 
-j:不处理压缩文件中原有的目录路径 
-L:将压缩文件中的全部文件名改为小写 
-M:将输出结果送到more程序处理 
-n:解压缩时不要覆盖原有的文件 
-o:不必先询问用户,unzip执行后覆盖原有文件 
-P:使用zip的密码选项 
-q:执行时不显示任何信息 
-s:将文件名中的空白字符转换为底线字符 
-V:保留VMS的文件版本信息 
-X:解压缩时同时回存文件原来的UID/GID

来自  https://blog.csdn.net/a19860903/article/details/46711869

普通分类: