tar命令
tar命令用于将多个文件合成1个文件,wiki中把这个命令和cpio、shar等一起叫做archive文件,个人理解是归档,合成一个文件,后就可以用gzip、bz2、xz等工具进行压缩,同时也能方便在各个计算机间传输,有点类似windows下共享的zip文件。
wiki上这个图比较形象,tar把零散的文件合拢,gzip把合拢的文件压缩。
一、 命令语法 tar [选项...] [FILE]...
二、 选项详解 使用 tar --help命令能够阅读tar命令的详细用法解析。 示例 tar -cf archive.tar foo bar # 从文件 foo 和 bar 创建归档文件archive.tar。 tar -tvf archive.tar # 详细列举归档文件 archive.tar中的所有文件。 tar -xf archive.tar # 展开归档文件 archive.tar中的所有文件。 选项 1、 主要选项: -A, --catenate, --concatenate 追加 tar 文件至归档 -c, --create 创建一个新归档 -d, --diff, --compare 找出归档和文件系统的差异 --delete 从归档(非磁带!)中删除 -r, --append 追加文件至归档结尾 -t, --list 列出归档内容 --test-label 测试归档卷标并退出 -u, --update 仅追加比归档中副本更新的文件 -x, --extract, --get 从归档中解出文件 2、压缩选项 -a, --auto-compress 使用归档后缀名来决定压缩程序 -I, --use-compress-program=PROG ,通过 PROG 过滤(必须是能接受 -d 选项的程序) -j, --bzip2 通过 bzip2 压缩归档 -J, --xz 通过 xz 压缩归档 -z, --gzip, --gunzip, --ungzip 通过 gzip 压缩归档 -Z, --compress, --uncompress 通过 compress 压缩归档 3、辅助选项 -v, --verbose 详细地列出处理的文件 -f, --file=ARCHIVE 使用归档文件或 ARCHIVE 设备,该选项后必须接*打包的.tar
三、使用示例
做试验的文件夹目录结构
1、将bdir 打包成 bdir.tar
命令:
tar -cvf bdir.tar bdir
打包之前是0为什么打包之后是12k,需要研究,可能不是单纯的合并。
2、把1.txt加入bdir.tar
命令:tar -rvf bdir.tar 1.txt
3、打包adir、bdir到bdir.tar,但不打包其中的a.txt文件
命令:tar -cvf bdir.tar --exclude bdir/a.txt adir bdir
命令的语序为打包到哪个文件,哪些东西不要,描述总体需要加进去的文件。
4、查看bdir.tar中的文件
命令:tar -tf bdir.tar
,该命令同时可以查看使用-z,-j,-J打包压缩过的文件包中的内容
注意如果包中文件过多,可在命令后加|less分屏显示
命令:
tar -tf bdir.tar|less
5、把bdir.tar解压到当前目录下
命令:tar -xvf bdir.tar
注意,解包操作会覆盖原始文件并且不会有提示。
6、将1.txt、adir、bdir打包再用gzip压缩(用其他压缩方式只需替换其中的z为j或J)
命令:tar -czvf bdir.tar.gz 1.txt adir bdir
查看其中的内容:
命令:
tar -tf bdir.tar.gz
解压包
命令:
tar -xzvf bdir.tar.gz
补充知识:单独解压出包中个别文件 命令:``` cd /tmp tar -xzvf /tarlearning/bdir.tar.gz bdir/a.txt
