Linux/Unix中压缩或解压缩命令tar、zip/unzip、rar/unrar的用法

一、打包和解压的概念

打包和压缩: 

打包是指将一大堆文件或目录变成一个总的文件;

压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

为什么要区分这两个概念呢?

这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip、bzip2命令)。

二、tar

1、打包压缩

tar -cvf    log.tar   log2012.log       仅打包,不压缩! 
tar -zcvf  log.tar.gz   log2012.log   打包后,以 gzip 压缩 
tar  -jcvf  log.tar.bz2   log2012.log  打包后,以 bzip2 压缩 
在选项f之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 
如果加z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包;
如果加j选项,则以.tar.bz2来作为tar包名。

  -j, --bzip2
  -z, --gzip, --gunzip --ungzip
  -v, --verbose
       verbosely list files processed
       详细列出处理过的文件
  -f, --file ARCHIVE
       use archive file or device ARCHIVE
       使用存档文件或设备存档(指定存档文件)
       切记,这个参数是最后一个参数,后面只能接档案名。
       tar 命令 必须和-f命令连用
       在选项f之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 如果加z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包;

2、tar压缩命令

tar  -zcvf  压缩名.tar.gz  文件/目录

PS:tar  -zcvf  cesh.tar.gz  cesh/

3、tar解压命令

tar  -zxvf  压缩包名

PS:tar  -zxvf  cesh.tar.gz

4、解压缩到指定目录(默认是当前目录)
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
jz选项依据压缩属性需要加上
   -C, --directory DIR
       change to directory DIR

5、只将tar内的部分文件解压出来
tar -xf hello.tar  word.txt

6、查阅tar包内有哪些文件
tar -ztvf log.tar.gz
注意:由于我们使用 gzip 压缩的log.tar.gz,所以要查阅log.tar.gz包内的文件时,就得要加上z这个选项了,t的意思是查看文档内容。

7、tar  --help

tar命令会对文件进行压缩或者解压缩,在命令行中输入tar --help可以查看tar命令的详细使用方法

三、zip和unzip

1、安装:sudo apt install zip

2、解压命令:unzip -o  XXX.zip 

zip all.zip *.jpg  这条命令是将所有.jpg的文件压缩成一个zip包
unzip all.zip     这条命令是将all.zip中的所有文件解压出来

3、zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
-r:递归处理,将指定目录下的所有文件和子目录一并处理;
-v:显示指令执行过程或显示版本信息;

4、zip进行压缩的时候命令格式为 

zip -q -r 压缩包名.zip   目录/文件名

PS:zip -q -r cesh.zip  cesh

zip   压缩包名.zip  目录/文件名

PS:zip cesh.zip cesh

四、rar和unrar

1、安装: sudo apt-get install rar unrar
或者可从http://www.rarsoft.com/download.htm下载 RAR for Linux 编译安装
# tar -xzpvf rarlinux-3.8.0.tar.gz
# cd rar
# make
这样就安装好了,安装之后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,可用命令rar -help和unrar -help查看,这里亦简单举例说明一下其用法:

 a             Add files to archive
 e             Extract files without archived paths


2、# rar a test.rar test.jpg test.png
这条命令是将test.jpg和test.png压缩成一个rar包
3、# rar a test.rar *.jpg
这条命令是将所有.jpg的文件压缩成一个rar包
4、# rar a test.rar test
这条命令是将文件夹test压缩成一个rar包
5、# unrar e test.rar
这条命令是将test.rar中的所有文件解压出来
也可以用 rar e test.rar

 

 

https://blog.csdn.net/uotail/article/details/89281459

你可能感兴趣的:(Linux,zip,unzip,gzip,bzip,linux)