用tar对文件进行归档
其中-c表示创建文件,-f代表指定文件名,我们还能在最后匹配文件或文件夹
[root@mio-test ~]# tar -cf /tmp/tar1.tar *.txt
-t 查看tar包中的文件
[root@mio-test tmp]# tar -tf tar2.tar yum_save_tx-2014-08-07-09-47Hr4LpX.yumtx yum_save_tx-2014-08-07-09-47Hr4LpX.yumtx
-r 向归档文件中添加文件
有时候,我们可能需要向已存在的归档文件中再添加一些参数
[root@mio-test ~]# tar -rf /tmp/tar1.tar php-5.3.29.tar.gz
-v 在终端输出信息
如果需要在归档或列出归档内容的过程中获得更多细节,可以使用-v选项
[root@mio-test ~]# tar -vrf /tmp/tar1.tar temp/ temp/ temp/img_8.jpg temp/img_1.jpg temp/img_3.jpg temp/1.txt temp/2.txt temp/img_6.jpg temp/1 temp/img_11.jpg temp/img_2.jpg temp/big_file temp/text.dat temp/img_6.jpg_copy temp/img_4.jpg temp/2 temp/img_9.jpg temp/img_10.jpg temp/aaa/ temp/img_7.jpg temp/del.sh temp/rename.sh temp/img_5.jpg temp/1v2000000 temp/sdsds6.jpg_copy
-x 从归档文件中提取文件
[root@mio-test tmp]# tar -xf tar1.tar
-C指定提取目录
[root@mio-test tmp]# tar -xf tar1.tar -C ./ttt/
提取部分文件
[root@mio-test tmp]# tar -xvf tar1.tar 1.txt -C ./ttt/ 1.txt
-A 合并两个tar文件
将tar2.tar合并至tar2.tar中
[root@mio-test tmp]# tar -Af tar1.tar tar2.tar
追加有更新的文件至tar
添加选项可以将指定的任意文件加入到归档文件中,如果同名的文件已经存在,那么结果就是在归档文件中包含两个同名的文件,我们可以用更新选项 -u,这样文件只有比tar包中的文件更新时,才会覆盖tar包中的旧文件
[root@mio-test tmp]# tar -uvf tar2.tar yum_save_tx-2014-08-07-09-47Hr4LpX.yumtx [root@mio-test tmp]# echo '111' > yum_save_tx-2014-08-07-09-47Hr4LpX.yumtx [root@mio-test tmp]# tar -uvf tar2.tar yum_save_tx-2014-08-07-09-47Hr4LpX.yumtx yum_save_tx-2014-08-07-09-47Hr4LpX.yumtx
-d 比较归档文件与文件系统中的内容
有时候,我们需要知道归档文件中的文件与文件系统中同名文件是否有差别,对于我们而言还是有帮助的,选项-d可以打印出两者之间的差别
[root@mio-test tmp]# tar -df tar2.tar yum_save_tx-2014-08-07-09-47Hr4LpX.yumtx yum_save_tx-2014-08-07-09-47Hr4LpX.yumtx: Mod time differs yum_save_tx-2014-08-07-09-47Hr4LpX.yumtx: Size differs
—delete 删除归档中的文件
[root@mio-test tmp]# tar -vf tar2.tar --delete yum_save_tx-2014-08-07-09-47Hr4LpX.yumtx
压缩tar归档文件
tar命令只能用来对文件进行归档,他并不具备压缩功能,出于这个原因,多数用户在使用归档文件时都会对文件采用某种形式的压缩,这样就能够大量降低文件的大小,归档文件通常被压缩成下列格式之一
tar.gz tar.bz2 tar.lzma tar.lzo
不同的tar选项可以用来指定不同的压缩格式
-j 指定bunzip2格式
-z 指定gzip格式
—lzma指定lzma格式
将文件压缩为gzip格式
[root@mio-test tmp]# tar -zcvf 13.tar 1.txt
—totals 打印出tar包占用文件大小
[root@mio-test tmp]# tar -zcvf 13.tar 1.txt --totals 1.txt Total bytes written: 10240 (10KiB, 14MiB/s)