前言:
tar命令本身没有压缩功能的,它只是把多个文件或目录打包成一个文件,并且打包出来的文件的大小比原来文件大小的总和还要大,这样会大大浪费我们的磁盘空间,在工作环境中这也不是我们想要的。想要把多个文件或目录打包成一个文件 并且进行压缩,这时,我们可以用tar命令与压缩命令相结合使用。在工作实践中tar命令通常与gzip和bzip2两种压缩格式相结合使用。
1、tar命令常用参数
参数 | 含义 |
j | bzip2压缩格式 |
z | gzip压缩格式 |
c | 创建一个新归档 |
x | 解除归档中的文件 |
v | 详细输出 |
f | 文件 |
t | 列出归档内容 |
C | 指定解压目录 |
X或--exclude | 排除打包 |
2、bzip2压缩格式
命令格式:
1、压缩命令: tar jcvf xxx.tar.bz2 [file or directory]
2、解压命令: tar jxvf xxx.tar.bz2 -C 解压出来的文件所要存放的目录
实战案例:
########压缩######## [root@vms001 tar]# ls 001.txt 003.txt 005.txt oldboy-02 oldboy.tar.bzip2 wahaha-0002 002.txt 004.txt oldboy-01 oldboy-03 wahaha-0001 wahaha-0003 [root@vms001 tar]# rm -f oldboy.tar.bzip2 [root@vms001 tar]# [root@vms001 tar]# tar jcvf oldboy.tar.bz2 * 001.txt 002.txt 003.txt 004.txt 005.txt oldboy-01 oldboy-02 oldboy-03 wahaha-0001/ wahaha-0001/passwd wahaha-0002/ wahaha-0002/group wahaha-0003/ wahaha-0003/services [root@vms001 tar]# ls 001.txt 003.txt 005.txt oldboy-02 oldboy.tar.bz2 wahaha-0002 002.txt 004.txt oldboy-01 oldboy-03 wahaha-0001 wahaha-0003 ########解压######## [root@vms001 tar]# ls 001.txt 003.txt 005.txt oldboy-02 oldboy.tar.bz2 wahaha-0002 002.txt 004.txt oldboy-01 oldboy-03 wahaha-0001 wahaha-0003 [root@vms001 tar]# ls /mnt/ [root@vms001 tar]# tar jxvf oldboy.tar.bz2 -C /mnt/ #-C 指定解压存放目录 001.txt 002.txt 003.txt 004.txt 005.txt oldboy-01 oldboy-02 oldboy-03 wahaha-0001/ wahaha-0001/passwd wahaha-0002/ wahaha-0002/group wahaha-0003/ wahaha-0003/services [root@vms001 tar]# ls /mnt/ 001.txt 003.txt 005.txt oldboy-02 wahaha-0001 wahaha-0003 002.txt 004.txt oldboy-01 oldboy-03 wahaha-0002
3、gzip压缩格式
命令格式:
1、压缩命令:tar zcvf xxx.tar.gz [file or directory]
2、解压命令:tar zxvf xxx.tar.gz -C 解压存放目录路径
实战案例:
###########压缩########### [root@vms001 tar]# ls 001.txt 003.txt 005.txt oldboy-02 oldboy.tar.bz2 wahaha-0002 002.txt 004.txt oldboy-01 oldboy-03 wahaha-0001 wahaha-0003 [root@vms001 tar]# tar zcvf oldboy_gzip.tar.gz * 001.txt 002.txt 003.txt 004.txt 005.txt oldboy-01 oldboy-02 oldboy-03 oldboy.tar.bz2 wahaha-0001/ wahaha-0001/passwd wahaha-0002/ wahaha-0002/group wahaha-0003/ wahaha-0003/services [root@vms001 tar]# ls 001.txt 004.txt oldboy-02 oldboy.tar.bz2 wahaha-0003 002.txt 005.txt oldboy-03 wahaha-0001 003.txt oldboy-01 oldboy_gzip.tar.gz wahaha-0002 ###########解压########### [root@vms001 tar]# ls 001.txt 004.txt oldboy-02 oldboy.tar.bz2 wahaha-0003 002.txt 005.txt oldboy-03 wahaha-0001 003.txt oldboy-01 oldboy_gzip.tar.gz wahaha-0002 [root@vms001 tar]# ls /mnt/ [root@vms001 tar]# tar zxvf oldboy_gzip.tar.gz -C /mnt/ 001.txt 002.txt 003.txt 004.txt 005.txt oldboy-01 oldboy-02 oldboy-03 oldboy.tar.bz2 wahaha-0001/ wahaha-0001/passwd wahaha-0002/ wahaha-0002/group wahaha-0003/ wahaha-0003/services [root@vms001 tar]# ls /mnt/ 001.txt 003.txt 005.txt oldboy-02 oldboy.tar.bz2 wahaha-0002 002.txt 004.txt oldboy-01 oldboy-03 wahaha-0001 wahaha-0003
4、排除压缩打包
排除打包参数:
1、--exclude
2、X
实战案例:
###########排除一个文件打包########## [root@vms001 tar]# ll 总用量 0 -rw-r--r--. 1 root root 0 7月 9 16:19 001.txt -rw-r--r--. 1 root root 0 7月 9 16:19 002.txt -rw-r--r--. 1 root root 0 7月 9 16:19 003.txt -rw-r--r--. 1 root root 0 7月 9 16:19 004.txt -rw-r--r--. 1 root root 0 7月 9 16:19 005.txt [root@vms001 tar]# tar jcvf txt.tar.bz2 ./* --exclude=./003.txt ./001.txt ./002.txt ./004.txt ./005.txt ###########排除多个文件打包########## [root@vms001 tar]# ll 总用量 4 -rw-r--r--. 1 root root 0 7月 9 16:19 001.txt -rw-r--r--. 1 root root 0 7月 9 16:19 002.txt -rw-r--r--. 1 root root 0 7月 9 16:19 003.txt -rw-r--r--. 1 root root 0 7月 9 16:19 004.txt -rw-r--r--. 1 root root 0 7月 9 16:19 005.txt -rw-r--r--. 1 root root 23 7月 9 16:26 aa.txt [root@vms001 tar]# tar jcvfX txt.tar.bz2 aa.txt ./* ./001.txt ./004.txt ./005.txt [root@vms001 tar]# cat aa.txt aa.txt 002.txt 003.txt
提示:当需要只排除一个文件打包时,可以用--exclude参数进行排除打包。如果需要排除多个文件打包时,可以用大写X参数进行打包,把需要排除的文件名放在一个文件中,然后指定这个文件进行排除打包。例如,上述案例中把需要排除的文件名放在了aa.txt文件中,指定了这个文件进行了排除打包。
5、查看压缩文件中的内容
命令格式:
tar tf xxx.tar.bz2或xxx.tar.gz
实战案例:
[root@vms001 tar]# ls 001.txt 002.txt 003.txt 004.txt 005.txt aa.txt txt.tar.bz2 [root@vms001 tar]# tar tf txt.tar.bz2 ./001.txt ./004.txt ./005.txt
6、总结
参数组合:
1、bzip2压缩格式:
压缩:jcvf
解压:jxvf
2、gzip压缩格式:
压缩:zcvf
解压:zxvf
3、查看压缩文件内容:
tf
排除打包参数:
1、--exclude
2、X