首页 > 代码库 > Linux下的简单压缩相关操作

Linux下的简单压缩相关操作

一、需求:压缩/data/tmp

操作:

 1 [root@xiaoming /]# tar zcf /tmp/data.tar.gz data/                           #压缩/data到/tmp下并将压缩包命名为data.tar.gz
 2 [root@xiaoming /]# ls -lrt /tmp/                                            #查看/tmp下的文件
 3 total 0 4-rw-r--r--  1 root     root  490 May 10 15:51 data.tar.gz                    #成功

 二、需求:查看压缩包data.tar.gz里的内容

操作:

 1 [root@xiaoming /]# tar tf /tmp/data.tar.gz                         #查看压缩包data.tar.gz里的内容,下面为内容(包含目录、文件、以及子目录下的文件)
 2 data/
 3 data/logs/                 
 4 data/logs/access.log-20170426
 5 data/logs/access.log-20170430
 6 data/logs/access.log-20170427
 7 data/logs/access.log-20170505
 8 data/logs/access.log-20170429
 9 data/logs/access.log-20170425
10 data/logs/access.log-20170424
11 data/logs/access.log-20170503
12 data/logs/access.log
13 data/logs/access.log-20170101
14 data/logs/access.log-20170508
15 data/logs/access.log-20170428
16 data/logs/access.log-20170507
17 data/logs/access.log-20170504
18 data/logs/access.log-20170422
19 data/logs/access.log-20170501
20 data/logs/access.log-20170423
21 data/logs/access.log-20170502
22 data/logs/access.log-20170506
23 data/hello.txt
24 data/nginx.conf

 三、需求:解压压缩包data.tar.gz到其所在目录

操作:

1 [root@xiaoming /]# tar xf /tmp/data.tar.gz

 四、需求:解压压缩包data.tar.gz到/root下

操作:

1 [root@xiaoming /]# tar xf /tmp/data.tar.gz -C /root

 五、需求:压缩/data/tmp下,但不包含(排除)其中的hello.txt这个文件

操作:

1 [root@xiaoming /]# tar zcf /tmp/data_pc.tar.gz data/ --exclude=hello.txt                      #使用--exclude参数排除hello.txt

 六、需求:压缩/data/tmp下,但不包含(排除)其中的hello.txt;nginx.conf这两个文件(排除多个文件)

操作:

1 [root@xiaoming /]# cat>>paichu.txt<<EOF                            #将hello.txt;nginx.conf两个文件名写入到paichu.txt里
2 > hello.txt
3 > nginx.conf
4 > EOF
5 [root@xiaoming /]# tar zcf /tmp/data_pc2.tar.gz data/ --exclude-from=paichu.txt      #使用--ecclude-from来排除paichu.txt里的文件

 

总结:

  使用tar命令来压缩与解压缩,如下:

  1. 压缩文件:tar zcf [压缩包路径] [待压缩目录/文件相对路径]
  2. 查看压缩文件:tar tf [压缩包路径]
  3. 解压压缩文件:tar xf [压缩包路径]
    1. 解压到指定路径:tar xf [压缩包路径] -C [解压路径]    
  4. 压缩某个目录但排除其中的某个文件:tar zcf  [压缩包路径] [待压缩目录相对路径] --exclude=[排除文件的文件名的相对路径]
  5. 压缩某个目录但排除其中的多个文件:
    1. 创建一个文本文件paichu.txt,并将欲排除文件名称写入其中。
    2. 然后执行:tar zcf  [压缩包路径] [待压缩目录相对路径] --exclude-from=[paichu.txt]

 

 ----------------------------------------------------分割线------------------------------------------------------

参考:

  1. 李泳宜老师授课
  2. http://man.linuxde.net/tar

Linux下的简单压缩相关操作