首页 > 技术文章 > Linux中tar命令

dazzleC 2019-03-18 18:25 原文

tar(tar只是打包,如果只打包不压缩那么文件的大小并不会改变)

tar[必选参数][选择参数][文件] 

 

一般情况下打包单个文件或者目录(gzip)

tar -czvf xxx/xxx/x.tar.gz xxx/xxx/xxx/1

其中的xxx/xxx/x.tar.gz是创建出来的文件路径(最好是绝对路径)

xxx/xxx/xxx/1是打包的源文件(绝对路径),也可以是目录

 

多个文件或者目录打包(gzip)

tar -czvf xxx/xxx/x.tar.gz [file1/d1] [f2/d2] ...

 

打包同一类型文件(gzip)

tar -czvf xxx/xxx/x.tar.gz *.xxx *.aaa ....

打包时最好指明.tar.gz

不然打包出来的压缩包内的文件会报错

-c: 建立压缩档案(建立一个新的压缩文件,打包时一定要加
-x:解压(解压一个压缩文件,解压缩时一定要加
-t:查看内容
-r:向压缩归档文件末尾追加文件(在不重新打包的情况下向已存在的压缩文件包中添加内容
-u:更新原压缩包中的文件(?)

这5个命令是必选一个(也只能选一个)的,下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的(压缩包文件格式xxx.tar.gz
-j:有bz2属性的(压缩包文件格式xxx.tar.bz2
-Z:有compress属性的(压缩包文件格式xxx.tar.Z
-v:显示所有过程
-O:将文件解开到标准输出

如果可选参数中不加 z / j / Z ,那么就只是打包文件但是不压缩

参数的最后一位必须是f ,f后面必须要直接接压缩包名

解包时如果压缩包和解包出来的文件不在同一个目录,解包出来的文件路径前要加-C

tar xzvf ~/Desktop/xxx.tar.gz -C ~/

查看某个tar文件(列表显示压缩文件中的文件,不会解压)

tar -tf xxx/xxx/x.tar.gz 

推荐阅读