欢迎来到Felix的博客

Do the right things! And talk is cheap,show me your code!

linux系列(二十二):tar命令

1、命令格式

    tar[必要参数][选择参数][文件] 

2、命令功能

    用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的

3、命令参数    

必要参数:
-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性

可选参数:
-b 设置区块数目
-C 切换到指定目录
-f 指定压缩文件
--help 显示帮助信息
--version 显示版本信息

4、常见解包/压缩命令

(1)、.tar

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(2)、.tar.gz和.tgz

解包:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

(3)、.tar.bz2

解压:tar jxvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

(4)、.zip

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

 (5)、.rar

解压:rar x FileName.rar

压缩:rar a FileName.rar DirName 

5、简单实例

 (1)、将文件打包成不同格式

命令:

tar -cvf t1.tar tar_test/    (仅打包,不压缩!)
tar -zcvf t2.tar.gz tar_test/   (打包后,以 gzip 压缩)
tar -jcvf t3.tar.bz2 tar_test/   (打包后,以 bzip2 压缩 )

输出:

felix@felix-computer:~/test$ ls tar_test/
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt
felix@felix-computer:~/test$ tar -cvf t1.tar tar_test/
tar_test/
tar_test/1.txt
tar_test/2.txt
tar_test/7.txt
tar_test/5.txt
tar_test/4.txt
tar_test/6.txt
tar_test/3.txt
felix@felix-computer:~/test$ ls
t1.tar  tar_test
felix@felix-computer:~/test$ tar -zcvf t2.tar.gz tar_test/
tar_test/
tar_test/1.txt
tar_test/2.txt
tar_test/7.txt
tar_test/5.txt
tar_test/4.txt
tar_test/6.txt
tar_test/3.txt
felix@felix-computer:~/test$ ls
t1.tar  t2.tar.gz  tar_test
felix@felix-computer:~/test$ tar -jcvf t3.tar.bz2 tar_test/
tar_test/
tar_test/1.txt
tar_test/2.txt
tar_test/7.txt
tar_test/5.txt
tar_test/4.txt
tar_test/6.txt
tar_test/3.txt
felix@felix-computer:~/test$ ls
t1.tar  t2.tar.gz  t3.tar.bz2  tar_test
felix@felix-computer:~/test$ 

(2)、查看tar包内有哪些内容

命令:

    tar -tvf t1.tar

    tar -ztvf t2.tar.gz

    tar -jtvf t3.tar.bz2

输出:

felix@felix-computer:~/test$ tar -tvf t1.tar 
drwxr-xr-x felix/felix       0 2018-12-12 10:19 tar_test/
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/1.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/2.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/7.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/5.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/4.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/6.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/3.txt
felix@felix-computer:~/test$ tar -ztvf t2.tar.gz 
drwxr-xr-x felix/felix       0 2018-12-12 10:19 tar_test/
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/1.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/2.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/7.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/5.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/4.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/6.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/3.txt
felix@felix-computer:~/test$ tar -jtvf t3.tar.bz2 
drwxr-xr-x felix/felix       0 2018-12-12 10:19 tar_test/
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/1.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/2.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/7.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/5.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/4.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/6.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/3.txt
felix@felix-computer:~/test

(3)、打包的时候排除某些文件

命令:

tar --exclude tar_test/1* -zcvf tt.tar.gz tar_test/tar_test/  (使用--exclude)

输出:

felix@felix-computer:~/test$ tar --exclude tar_test/1* -zcvf tt.tar.gz tar_test/tar_test/
tar_test/2.txt
tar_test/7.txt
tar_test/5.txt
tar_test/4.txt
tar_test/6.txt
tar_test/3.txt
felix@felix-computer:~/test$ ls tar_test/
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt
felix@felix-computer:~/test$ tar -ztvf tt.tar.gz 
drwxr-xr-x felix/felix       0 2018-12-12 10:19 tar_test/
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/2.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/7.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/5.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/4.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/6.txt
-rw-r--r-- felix/felix       0 2018-12-12 10:19 tar_test/3.txt
felix@felix-computer:~/test$ 

 

posted @ 2018-12-12 10:52  寂静的天空  阅读(507)  评论(0编辑  收藏  举报
个人感悟: 一个人最好的镜子就是自己,你眼中的你和别人眼中的你,不是一回事。有人夸你,别信;有人骂你,别听。一根稻草,扔街上就是垃圾;捆上白菜就是白菜价;捆上大闸蟹就是大闸蟹的价。 一个人,不狂是没有出息的,但一直狂,肯定是没有出息的。雨打残花风卷流云,剑影刀光闪过后,你满脸冷酷的站在珠峰顶端,傲视苍生无比英武,此时我问你:你怎么下去? 改变自己就是改变自己的心态,该沉的时候沉下去,该浮的时候浮上来;不争名夺利,不投机取巧,不尔虞我诈;少说、多听、多行动。人每所谓穷通寿夭为命所系,岂不知造物之报施,全视人之自取。 座佑铭:每一个不曾起舞的日子,都是对生命的辜负。