前言:
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 解压出来的文件所要存放的目录
实战案例:
########压缩########
[[email protected] 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
[[email protected] tar]# rm -f oldboy.tar.bzip2
[[email protected] tar]#
[[email protected] 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
[[email protected] 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
########解压########
[[email protected] 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
[[email protected] tar]# ls /mnt/
[[email protected] 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
[[email protected] 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 解压存放目录路径
实战案例:
###########压缩###########
[[email protected] 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
[[email protected] 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
[[email protected] 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
###########解压###########
[[email protected] 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
[[email protected] tar]# ls /mnt/
[[email protected] 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
[[email protected] 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
实战案例:
###########排除一个文件打包##########
[[email protected] 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
[[email protected] tar]# tar jcvf txt.tar.bz2 ./ --exclude=./003.txt
./001.txt
./002.txt
./004.txt
./005.txt
###########排除多个文件打包##########
[[email protected] 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
[[email protected] tar]# tar jcvfX txt.tar.bz2 aa.txt ./
./001.txt
./004.txt
./005.txt
[[email protected] tar]# cat aa.txt
aa.txt
002.txt
003.txt
提示:当需要只排除一个文件打包时,可以用--exclude参数进行排除打包。如果需要排除多个文件打包时,可以用大写X参数进行打包,把需要排除的文件名放在一个文件中,然后指定这个文件进行排除打包。例如,上述案例中把需要排除的文件名放在了aa.txt文件中,指定了这个文件进行了排除打包。
5、查看压缩文件中的内容
命令格式:
tar tf xxx.tar.bz2或xxx.tar.gz
实战案例:
[[email protected] tar]# ls
001.txt 002.txt 003.txt 004.txt 005.txt aa.txt txt.tar.bz2
[[email protected] 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
原文地址:https://blog.51cto.com/14571713/2444423