tar 是tape archive的缩写,原理就是把多个文件前后连在一起,形成一个大的文件,tar命令并不对文件进行压缩。
tar打包文件起码要跟上2个选项:-cf,-c选项是创建打包文件,-f选项是指定打包文件名,后面跟2个参数,一个是打包文件名,一个是要打包的文件或列表
tar –cf [打包文件名][要打包的文件/列表]
tar -cf file.tar file1.sh file2.sh file3.sh 创建打包文件file.tar,打包file1.sh file2.sh file3.sh这几个文件,当然也可以不用加后缀,但是建议加后缀名,这样以后一眼就可以看出来,这个是用tar打包的文件。
通过上图可以看到打包的文件大小要比打包列表中的所有文件之后还要大,是因为tar打包之后要添加一些额外的信息,所以文件要大一些,再次印证了tar命令是不会压缩文件的。
tar命令也可以打包整个目录,将参数2替换成要打包的目录就可以了。
tar -cf dir.tar dir1 dir2
此外我们还可以用tar –tf来列出打包文件中的所有文件名
tar -tf file.tar 列出file.tar里面的所有文件
--delete长选项可以用来删除tar打包文件中的某个文件,注意长选项是用2个连字符。
tar -f file.tar --delete file1.sh 如下图我们删除了打包文件file.tar中的file1.sh文件,要删除的文件名要紧跟在--delete选项后面 用空格隔开
用-A选项合并两个打包文件
tar -f file.tar -A dir.tar 把dir.tar目录合并到file.tar中去,如下图所示
-r选项给打包文件中添加新文件,比如
tar -f file.tar -r file4.sh 此命令是向file.tar打包文件中添加file4.sh文件
默认的解包目录是当前目录,你可以用-C选项来指定要解包的目录
tar -xf file.tar -C jbfile/ 把file.tar打包文件,解包到 目录jbfile目录中
备注:
-c 新建打包文件
-x 从档案文件中释放文件, -C 拆包到对应的文件目录。
-f 后面接要处理的文件