Tar压缩文件
[root@test /root]# tar [-zxcvfpP] filename
[root@test /root]# tar -N 'yyyy/mm/dd' /path -zcvf target.tar.gz source
参数说明:
-z :是否同时具有gzip 的属性?
-x :解开一个压缩档案的参数指令!
-t :查看tarfile 里面的档案!
-c :建立一个压缩档案的参数指令
-v :压缩的过程中显示档案!
-f :使用档名,请留意,在f 之后要立即接档名喔!不要再加参数!
例如使用『tar -zcvfP tfile sfile 』就是错误的写法,要写成
『tar -zcvPf tfile sfile 』才对喔!
-p :使用原档案的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径
-N :比后面接的日期(yyyy/mm/dd) 还要新的才会被打包进新建的档案中!
--exclude FILE :在压缩的过程中,不要将FILE 打包!
范例:
[root@test /root]# tar -cvf directory.tar directory
// 只将目录整合打包成一个档案
[root@test /root]# tar -zcvf directory.tar.gz directory
除了将目录打包外,同时以gzip 压缩
[root@test /root]# tar -zcvf filename.tar.gz /home/test/*
将/home/test/ 这个目录下的档案全部打包并压缩成为一个filename.tar.gz 的档案
[root@test /root]# tar -jcvf /tmp/etc.tar.bz2 /etc < == 打包后,以 bzip2 压缩
[root@test /root]# tar -xvf directory.tar
解tar 的封包,请注意,由于没有gzip (.tar 而非.tar.gz) 的作用,所以只要使用–xvf 即可!不需要加上z ,否则会显示有问题!
[root@test /root]# tar -zxvf directory.tar.gz
这个就是有加上gzip 的压缩的结果!所以需要加上–z 呦!
[root@test /root]# tar –ztvf directory.tar.gz
这个t 可以用来查看tar 里面的档案信息呢!而不需要将他解开!
[root@test /root]# tar -zcvPf home.tar.gz /home
则建立起来的压缩档内档案为绝对路径
请注意,使用这个P 的参数时,不要将P 加在f 后面,因为
f 之后要立即接档名才行喔!
[root@test /root]# tar -N '2002/06/25' -zcvf home.tar.gz /home
上面是说 在/home 这个目录中,比2002/06/25 日还要新的档案才会被打包进入home.tar.gz 这个档案中!
[root@test /root]# tar -zcvf host.tar.gz / --exclude /mnt --exclude /proc
上面是说,将根目录的所有数据都打包进host.tar.gz 这个档案中,但是/mnt 及/proc 则不打包!
[root@test /root]# tar -cvf - /home | tar -xvf -
上面的意思是『将/home 打包之后,直接解压缩在/root 底下!』嘿嘿!不需要再建立一次中间档案!不过,使用上面的语法最好使用『绝对路径』,比较不会有问题!这个方式适合不想要建立中间档案时!