格式: tar 选项 文件目录列表 功能: 对文件目录进行打包备份 选项: -c 建立新的归档文件 -r 向归档文件末尾追加文件 -x 从归档文件中解出文件 可以这样记忆,创建新的文件是c,追加在原有文件上用r,从文件中解压出用x -O 将文件解开到标准输出 -v 处理过程中输出相关信息 -f 对普通文件操作 -z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩 -Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩 -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! -p :使用原文件的原来属性(属性不会依据使用者而变) -P :可以使用绝对路径来压缩! -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中! --exclude FILE:在压缩的过程中,不要将 FILE 打包! 例如: 1.将当前目录下所有.txt文件打包并压缩归档到文件this.tar.gz,我们可以使用 tar czvf this.tar.gz ./*.txt 2.将当前目录下的this.tar.gz中的文件解压到当前目录我们可以使用 tar xzvf this.tar.gz ./ ------------- longshuai实训: 例子1: along@along-desktop:~$ pwd /home/along along@along-desktop:~$ tar czvf this.tar.gz ./*.txt ./linux代码.txt 例子2: 这时候在/home/along出现一个this.tar.gz文件,双击打开可以看见里面的文件或者用命令查看。 查看文件内容 along@along-desktop:~$ tar ztf this.tar.gz ./linux代码.txt # 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时, # 就得要加上 z 这个参数了!这很重要的!longshuai测试到无论是否加z都是一样的结果 例子3: 下面解压 along@along-desktop:~$ tar xzfv this.tar.gz ./linux代码.txt 要解压new.tar.gz目录下的tmp文件夹 along@along-desktop:~$ tar xzvf 例子4: 下面介绍怎么对文件夹操作 把当前目录下的longshuai文件夹压缩到当前也目录 along@along-desktop:~$ tar cvf longshuai.tar ./longshuai/ ./longshuai/linux代码.txt along@along-desktop:~$ tar -czvf longshuai.tar.gz ./longshuai <==打包后,用gzip压缩! ./longshuai/ ./longshuai/linux代码.txt along@along-desktop:~$ tar -jcvf longshuai.tar.bz2 ./longshuai ./longshuai/ ./longshuai/linux代码.txt # 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 # 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~ # 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~ # 上述指令在执行的时候,会显示一个警告讯息: # 『tar: Removing leading `/' from member names』那是关於绝对路径的特殊设定 例子5: 将longshuai.tar.gz 解压到 along@along-desktop:~$ cd 文档 along@along-desktop:~/文档$ pwd /home/along/文档 along@along-desktop:~/文档$ tar -xzvf ./longshuai/ ./longshuai/linux代码.txt # 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说, # 我先将工作目录变换到 # 则解开的目录会在 /home/along/文档 /longshuai! 要解压new.tar.gz目录下的tmp文件夹 along@along-desktop:~$ tar xzvf 现创建一个文件 along@along-desktop:~/文档$ cd .. along@along-desktop:~$ pwd /home/along along@along-desktop:~$ tar cvfz ./new/ ./new/tmp/ ./new/tmp/longshuai2.txt ./new/linux代码.txt 例子7: 我现在要解压new.tar.gz目录下的tmp文件夹 along@along-desktop:~$ tar xzvf ./new/tmp/ ./new/tmp/longshuai2.txt 这样就完成了new.tar.gz下tmp文件夹的解压 例子8: 将 along@along-desktop:~$ tar zcvfp ./文档/ ./文档/a1/ ./文档/a1/a2/ ./文档/a1/a2/a3/ ./文档/a1/a2/a3/a4/ ./文档/test1/ ./文档/test/ ./文档/test/1 ./文档/test/obj/ ./文档/test/obj/Debug/ ./文档/test/test.layout ./文档/test/bin/ ./文档/test/bin/Debug/ ./文档/test/test.cbp ./文档/test/main.cpp # 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时! 例子9: 在 /home 当中,比 2010/01/01 新的文件才备份 along@along-desktop:~$ tar -N '2010/01/01' -cvfz tar: Option --after-date: Treating date `2010/01/01' as 2010-01-01 00:00:00 tar: back22.tar.gz:无法 stat: 没有那个文件或目录 ./文档/ ./文档/a1/ ./文档/a1/a2/ ./文档/a1/a2/a3/ ./文档/a1/a2/a3/a4/ ./文档/test1/ ./文档/test/ tar: ./文档/test/1:文件未改变;未输出 ./文档/test/obj/ ./文档/test/obj/Debug/ tar: ./文档/test/test.layout:文件未改变;未输出 ./文档/test/bin/ ./文档/test/bin/Debug/ tar: ./文档/test/test.cbp:文件未改变;未输出 ./文档/test/main.cpp tar: 由于前面延迟的错误而退出 出现问题,不知道怎么解决 例子10: 我要备份 /new, 但不要 /new/tmp文件夹 along@along-desktop:~$ tar -zcvf file.tar.gz ./new/ --exclude ./new/tmp ./new/ ./new/ASasdas.txt |
|