tar命令用于对文件打包压缩或解压:
$ tar [选项] [文件]
以下是tar命令的常用参数:
tar是个打包的命令,它的作用是将一堆的文件或目录归档成一个.tar结尾的文件。生成tar包后,就可以用其他的压缩程序来对tar包进行压缩。
我们在上面看到的 -z 参数就是对tar包用Gzip程序进行了压缩,最后才生成了 .tar.gz 结尾的压缩包。如果不用 -z 参数而使用 -j 参数,也就是用bzip2程序压缩tar包,最后就会生成 .tar.bz2 结尾的压缩包。
使用tar命令打包压缩的一个好处是,它会保留原始文件的权限和属性。
我们经常会在windows系统上使用 .zip 格式的压缩文件,在linux中也可以将文件和目录压缩成zip格式,或者解压zip格式的压缩包。
但是zip的缺点是不能保留文件的权限和属性,解压后需要我们自己用chmod重新设置文件的权限。
‘贰’ linux中打包和压缩有什么区别
打包就是把若干文件或文件夹放到一个tar文件中,但是不会压缩文件大小。
压缩就是在打包的基础上压缩文件的大小。
‘叁’ 怎样在linux下对目录进行压缩生成gz文件
在linux下,使用gzip命令可以对目录压缩生成gz文件,具体步骤如下:
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
‘肆’ linux中怎么压缩一个文件夹
1、将/home/wwwroot/xahot/ 这个目录下所有文件和文件夹打包为当前目录下的xahot.zip
zip –q –r xahot.zip /home/wwwroot/xahot
4、然后就完成了。
‘伍’ linux文件压缩
tar[-j|-z][cv][-f建立的档案名]filename...《==打包与压缩
tar[-j|-z][tv][-f建立的档案名]《==查看档案
tar[-j|-z][xv][-f建立的档案名][-C目录]《==解压缩
选项与参数:
-c:建立打包档案,可搭配-v来观察过程中被打包的档案名(filename)
-t:查看打包档案的内容含有那些档案
-x:解压缩的功能,可以搭配-C在特定的目录解开;-c、-t、-x不能同时出现在一串指令列中。
-j:透过bzip2的支持进行压缩/解压缩:此时档案名最好为*.tar.bz2
-z:透过gzip的支持进行压缩/解压缩:此时档案名最好为*.tar.gz
-v:在压缩/解压缩的过程中,将正在处理文件名显示出来
-ffilename:-f后面要立刻接被处理的档案名!建议-f单独写一个选项
-C目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
tar命令是Unix/Linux系统中非常常用的备份文件方法,它的使用权限是所有用户。
tar命令语法:
tar[主选项+辅选项]文件名或目录。使用该命令时,主选项是必须要有的,它告诉tar命令要做什么,辅选项是辅助使用的,可以选用。
主选项:
-c创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
-x从档案文件中释放文件。相当于拆包。
-t列出档案文件的内容,查看已经备份了哪些文件。
-r把要存档的文件追加到档案文件的末尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中
特别注意,主选项只能存在一个,c/x/t/r仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
辅助选项:
-z:用gzip程序来压缩或解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。文件格式一般为xx.tar.gz或xx.tgz
-j:使用bzip2程序进行文件的压缩或解压,文件格式一般为xx.tar.bz2
-v:压缩的过程中显示文件!这个常用
-f:使用档名,请留意,在f之后要立即接档名!不要再加其他参数!
-p:使用原文件的原来属性(属性不会依据使用者而变)
-w每一步都要求确认。
--excludeFILE:在压缩的过程中,不要将FILE打包!
范例:
范例一:将整个/etc目录下的文件全部打包成/tmp/etc.tar
[root@ubuntu~]#tar-cvf/tmp/etc.tar/etc<==仅打包,不压缩!
[root@ubuntu~]#tar-zcvf/tmp/etc.tar.gz/etc<==打包后,以gzip压缩
[root@ubuntu~]#tar-jcvf/tmp/etc.tar.bz2/etc<==打包后,以bzip2压缩
#特别注意,在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识。
#如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tarfile
#如果加j参数,则以.tar.bz2来代表bzip2压缩过的tarfile
#上述指令在执行的时候,会显示一个警告讯息:
#‘tar:Removingleading`/"frommembernames’那是关于绝对路径的特殊设定。
范例二:查看上述/tmp/etc.tar.gz文件内有那些被压缩的文件
[root@ubuntu~]#tar-ztvf/tmp/etc.tar.gz
#由于我们使用gzip压缩,所以要查阅该tarfile内的文件时,
#就得要加上z这个参数了!这很重要的!
范例三:将/tmp/etc.tar.gz文件解压缩在/usr/local/src底下
[root@linux~]#cd/usr/local/src
[root@linuxsrc]#tar-zxvf/tmp/etc.tar.gz
#在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说
#我先将工作目录变换到/usr/local/src底下,并且解开/tmp/etc.tar.gz
#则解开的目录会在/usr/local/src/etc,另外,如果您进入/usr/local/src/etc
#则会发现,该目录下的文件属性与/etc/可能会有所不同喔!
范例四:在/tmp底下,我只想要将/tmp/etc.tar.gz内的etc/passwd解开而已
[root@linux~]#cd/tmp
[root@linuxtmp]#tar-zxvf/tmp/etc.tar.gzetc/passwd
#我可以透过tar-ztvf来查阅tarfile内的文件名称,如果单只要一个文件,
#就可以透过这个方式来下达!注意到!etc.tar.gz内的根目录/是被拿掉了!
范例五:我要备份/home,/etc,但不要/home/dmtsai
[root@linux~]#tar--exclude/home/dmtsai-zcvfmyfile.tar.gz/home/*/etc
另外:tar命令的C参数
$tar-cvffile2.tar/home/usr2/file2
tar:Removingleading'/'frommembersnames
home/usr2/file2
该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来。使用tar命令解压缩后会出现以下情况:
$tar-xvffile2.tar
$ls
………home…………
解压缩后的文件名不是想象中的file2,而是home/usr2/file2。
$tar-cvffile2.tar-C/home/usr2file2
该命令中的-Cdir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意:-Cdir参数的作用在于改变工作目录,其有效期为该命令中下一次-Cdir参数之前。
使用tar的-Cdir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:
$tar-xvffile2.tar-C/home/usr2
而tar不用-Cdir参数时是无法做到的:
$tar-xvffile2.tar/home/usr2
tar:/tmp/file:Notfoundinarchive
tar:
‘陆’ 如何在Linux上使用tar命令解压和压缩文件
在Linux上使用tar命令解压和压缩文件方法如下:
压缩单个文件或者整个文件的方式方法,通常可以利用以下这些命令来解压和压缩:
-v:在终端显示进度的同时创建归档,也被称为“V erbose”模式。
-c:C reate存档。
-f:允许你指定存档的Filename。
-z:压缩zip存档。如图所示: