linux tar命令简介
一、使用介绍
1、名词区分
打包:将一大堆文件或目录变成一个总的文件【tar命令】
压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】
Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzipbzip2命令)。
2、tar语法
语法:tar[主选项+辅选项]文件或目录
使用该命令时,主选项必须有,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:【一条命令以下5个参数只能有一个】
-c:--create新建一个压缩文档,即打包
-x:--extract,--get解压文件
-t:--list,查看压缩文档里的所有内容
-r:--append向压缩文档里追加文件
-u:--update更新原压缩包中的文件
辅助选项:
-z:是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xxx.tar.gz或xx.tgz
-j:是否同时具有bzip2的属性?即是否需要用bzip2压缩或解压?一般格式为xx.tar.bz2
-v:显示操作过程!这个参数很常用
-f:使用文档名,注意,在f之后要立即接文档名,不要再加其他参数!
-C:切换到指定目录
--excludeFILE:在压缩过程中,不要将FILE打包
二、例子
1、打包
习惯上以.tar后缀代表tar包,用xxx.tar.gz或.tgz代表gzip压缩过的tar文件,用.tar.bz2代表bzip2压缩过的tar文件。
将img1和img2两个文件夹打包成img.tar,仅打包不压缩
liuxiaoyan@development:~/test$tar-cvfimg.tarimg1img2
img1/ img1/102.png img1/101.png img1/100.png img2/ img2/105.png img2/104.png img2/103.png liuxiaoyan@development:~/test$ls img1img2img.tar
将img1和img2两个文件夹打包成img.tar.gz,打包后,以gzip压缩
liuxiaoyan@development:~/test$tar-zcvfimg.tar.gzimg1img2 img1/ img1/102.png img1/101.png img1/100.png img2/ img2/105.png img2/104.png img2/103.png liuxiaoyan@development:~/test$ls img1img2img.tarimg.tar.gz
将img1和img2两个文件夹打包成img.tar.bz2,打包后,以bzip2来压缩
liuxiaoyan@development:~/test$tar-jcvfimg.tar.bz2img1img2 img1/ img1/102.png img1/101.png img1/100.png img2/ img2/105.png img2/104.png img2/103.png liuxiaoyan@development:~/test$ls img1img2img.tarimg.tar.bz2img.tar.gz
2、不解压的情况下查看
查看img.tar中的所有内容
liuxiaoyan@development:~/test$tar-tfimg.tar img1/ img1/102.png img1/101.png img1/100.png img2/ img2/105.png img2/104.png img2/103.png
查看img.tar.gz的所有内容
加-v参数查看详细信息,-z可有可无
liuxiaoyan@development:~/test$tar-tfimg.tar.gz img1/ img1/102.png img1/101.png img1/100.png img2/ img2/105.png img2/104.png img2/103.png liuxiaoyan@development:~/test$tar-ztfimg.tar.gz img1/ img1/102.png img1/101.png img1/100.png img2/ img2/105.png img2/104.png img2/103.png liuxiaoyan@development:~/test$tar-ztvfimg.tar.gz drwxrwxr-xliuxiaoyan/liuxiaoyan02015-05-2022:09img1/ -rw-r--r--liuxiaoyan/liuxiaoyan19522015-05-2022:08img1/102.png -rw-r--r--liuxiaoyan/liuxiaoyan23442015-05-2022:08img1/101.png -rw-r--r--liuxiaoyan/liuxiaoyan19952015-05-2022:09img1/100.png drwxrwxr-xliuxiaoyan/liuxiaoyan02015-05-2022:10img2/ -rw-r--r--liuxiaoyan/liuxiaoyan19222015-05-2022:09img2/105.png -rw-r--r--liuxiaoyan/liuxiaoyan15462015-05-2022:08img2/104.png -rw-r--r--liuxiaoyan/liuxiaoyan20332015-05-2022:08img2/103.png
查看img.tar.bz2内容
加-v参数查看详细信息,-j可有可无
liuxiaoyan@development:~/test$tar-tfimg.tar.bz2 img1/ img1/102.png img1/101.png img1/100.png img2/ img2/105.png img2/104.png img2/103.png liuxiaoyan@development:~/test$tar-jtfimg.tar.bz2 img1/ img1/102.png img1/101.png img1/100.png img2/ img2/105.png img2/104.png img2/103.png liuxiaoyan@development:~/test$tar-jtvfimg.tar.bz2 drwxrwxr-xliuxiaoyan/liuxiaoyan02015-05-2022:09img1/ -rw-r--r--liuxiaoyan/liuxiaoyan19522015-05-2022:08img1/102.png -rw-r--r--liuxiaoyan/liuxiaoyan23442015-05-2022:08img1/101.png -rw-r--r--liuxiaoyan/liuxiaoyan19952015-05-2022:09img1/100.png drwxrwxr-xliuxiaoyan/liuxiaoyan02015-05-2022:10img2/ -rw-r--r--liuxiaoyan/liuxiaoyan19222015-05-2022:09img2/105.png -rw-r--r--liuxiaoyan/liuxiaoyan15462015-05-2022:08img2/104.png -rw-r--r--liuxiaoyan/liuxiaoyan20332015-05-2022:08img2/103.png
3、解压
将img.tar减压到temp目录
liuxiaoyan@development:~/test$cdtemp/ liuxiaoyan@development:~/test/temp$ls liuxiaoyan@development:~/test/temp$tar-xf../img.tar liuxiaoyan@development:~/test/temp$ls img1img2
只减压img.tar中的img1
liuxiaoyan@development:~/test/temp$tar-xf../img.tarimg1 liuxiaoyan@development:~/test/temp$ls img1
4、更新
现在给movies文件下新建一个文件movie2.txt,然后更新enjoy.tar
$tar-cfimg.tarimg1img2
给img1增加了一张照片,现在用下面命令更新img.tar
$tar-ufimg.tarimg1
5、追加
$tar-cfimg.tarimg1img2 img.tar里追加一个文件夹img3 $tar-rfimg.tarimg3
6、-C参数
-C(大C参数很有用,改变文件目录,多层时用) -C,--directory=DIR changetodirectoryDIR
使用了-C参数改变目录为-C后面目录,不管是在打包还是解压都很有用。
用法:
tartemp.tarfile-CfileDir $cdtemp $ls img1img2img3 $tar-cfimg.tartemp/*
这样打包会将temp目录也打包进去,使用下面带有-C参数的命令可以去掉路径信息
$tar-cfimg.tar*-Ctemp
解压img.tar到当前目录下的temp目录
$tar-xfimg.tar-Ctemp
三、解压方法总结
1、*.tar用tar–xvf解压
2、*.gz用gzip-d或者gunzip解压
3、*.tar.gz和*.tgz用tar–xzf解压
4、*.bz2用bzip2-d或者用bunzip2解压
5、*.tar.bz2用tar–xjf解压
6、*.Z用uncompress解压
7、*.tar.Z用tar–xZf解压
8、*.rar用unrarx解压
9、*.zip用unzip解压
使用unrar注意:
先安装unrar,使用unrar不带参数运行一下就可以看到帮助信息。
如果一个文件s.rar,里面有1000首歌,用e参数,就直接把1000首歌全减压出来到当前目录。
如果是x参数,解压后,所有内容都放在同名的文件夹里面。
总结
以上所述是小编给大家介绍的linuxtar命令简介,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!