linux 命令 -- tar
tar - 文件打包
tar 命令可以为 linux 的文件和目录创建档案(备份文件),可以为某一个特定的文件创建档案,或者在档案中改变文件,或者向档案中添加文件。tar 最初用来在磁盘上创建档案,现在可以在任何设备上创建档案。利用 tar 可以把一大堆文件或者目录打包成一个文件,对于备份文件或者将多个文件打包成一个文件来进行网络传输是非常有利的。打包和压缩是不同的。
打包是将一大堆文件或者目录变成一个总的文件,而压缩是将一个大的文件通过一些压缩算法变成一个比较小的文件。
在 linux 中,很多压缩程序只能针对一个文件进行压缩,所以如果有很多文件或者目录需要打包,那么就先用 tar 命令打包,再使用压缩命令(gzip、bzip2)进行压缩。
linux 中最常用的打包程序就是 tar 命令。使用 tar 打包程序生成的包通常称为 tar 包,以 .tar 结尾。tar 本身不具有压缩和解压功能,通过调用别的命令来实现压缩和解压。
用法
格式
tar [必要参数] [可选参数] 文件名
必要参数
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
上面五个命令必选且互斥,可以和下面的可选命令连用。
可选参数
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
-f 参数
-f 参数是必须的,并且只能在最后,后边接档案名。
tar -cf all.tar *.jpg # 将所有的 jpg 文件打包成 all.tar 包。-c 生成档案,-f 指明目标档案名
tar -rf all.tar *.gif # 将所有的 gif 文件添加进 all.tar 包里面。 -r 追加文件
tar -uf all.tar logo.gif # 更新 all.tar 的 logo.gif 文件。 -u 更新文件
tar -tf all.tar # 列出 all.tar 的所有文件
tar -xf all.tar # 解出 all.tar 的所有文件
查看文件列表
tar -tf aaa.tar.gz # 在不解压的情况下列出包里的所有文件
压缩文件
tar -cvf all.tar *.jpg # 将所有的 jpg 文件打包成 all.tar
tar -czf all.tar.gz *.jpg # 将所有的 jpg 文件打包成 all.tar 之后,再用 gzip 命令压缩成 all.tar.gz
tar -cjf all.tar.bz2 *.jpg # 将所有 jpg 文件打包成 all.tar 之后,再用 bzip2 命令压缩成 all.tar.bz2
tar -cZf all.tar.Z *.jpg # 将所有 jpg 文件打包成 all.tar 之后,再用 compress 压缩成 all.tar.Z
解压文件
tar -xvf all.tar # 解压 all.tar 包
tar -xzvf all.tar.gz # 解压 all.tar.gz 包
tar -xjvf all.tar.bz2 # 解压 all.tar.bz2 包
提示
*.tar
用tar -xvf
解压*.gz
用gzip -d
或者gunzip
解压*.tar.gz
或者*.tgz
用tar -xzf
解压*.bz2
用bzip -d
或者bunzip
解压*.tar.bz2
用tar -xjf
解压*.Z
用uncompress
解压*.tar.Z
用tar -xZf
解压