2007-06-12

Linux 常用压缩/解压缩命令(2)

关键字: Linux 学习
tar [-zxcvfpP] filename
tar -N 'yyyy/mm/dd' /path -zcvf  target.tar.gz source


参数说明:
-z : 是否同时具有gzip
-x : 解开一个压缩文件
-t  : 查看tarfile里面的文件
-c :建立一个压缩文件
-v :压缩过程显示文件
-f  :使用文件名
-P (大写):
可以使用绝对路径
-p (小写) :
使用原文件的原有属性(属性不会依据用户而变)
-N :比后面接的日期(yyyy/mm/dd)还有新的文件才会被打包进新建的文件中
--exclude file: 在压缩过程中,不要将file打包

例子:
tar -cvf directory.tar director y    //只将目录打包成一个文件,无压缩

tar -zcvf directory.tar.gz directory //除了将目录打包外,同时以gzip压缩

tar -zcvf filename.tar.gz  /home/test/*
//将 /home/test 目录下的文件全部打包并压缩成一个filename.tar.gz文件

tar -xvf directory.tar
//解压tar包

tar -zxvf dirctory.tar.gz
//解压用gzip压缩过的tar包

tar -ztvf directory.tar.gz
//这个t可以用来查看tar里面的文件信息,而不需要解压

tar -zcvfP home.tar.gz /home
//建立起来的压缩文件内文件为绝对路径(实验失败)


tar -N '2007/06/12'  -zcvf home.tar.gz  /home
//自home目录中,比20070612还要新的文件才会被打包进入 home.tar.gz文件中

tar -zcvf host.tar.gz  / --exclude /mnt --exclude /proc
//将根目录的所有数据都打包进host.tar.gz文件中,但是/mnt 跟 /proc 不打包

tar是一个多用途的压缩指令,可以压缩文件夹,而compress和gzip只能压缩一个文件。tar打包后的文件名一般为*.tar,如果还含有gzip属性,就叫*.tar.gz,这种命名是为了方便记忆,不具备实际意义。

有趣的例子:
tar cvf - /home | tar -xvf -,它直接以管线命令pipe进行压缩,解压缩过程。这个例子将/home下的资料直接复制到当前路径。其中“-"表示被打包的文件。由于不想要中间文件,所以以这个方式进行复制。
 
评论
发表评论

您还没有登录,请登录后发表评论

yanshiyi
搜索本博客
最近加入圈子
存档
最新评论