deserts |
2007-04-06 02:23 |
tar 命令在 Linux 中用于打包较多的文件,这样对于文件传输也比较方便,可是它只有打包的功能,却不能用于压缩,幸好 tar 可以使用参数来做到这些,这里就来了解一下:
[root @test /root ]# tar [-zxcvfpP] filename [root @test /root ]# tar -N 'yyyy/mm/dd' /path -zcvf target.tar.gz source 参数说明: -z :是否同时具有 gzip 的属性? -j :是否同时具有bzip2的属性? -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 -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 底下!』嘿嘿!不需要再建立一次中间档案!不过,使用上面的语法最好使用『绝对路径』,比较不会有问题!这个方式适合不想要建立中间档案时! |
|