胆小的猫

导航

tar命令详解

1.简介:

tar 命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。

2.命令的参数及其作用:
-c  创建压缩文件
-x  解开压缩文件
-t  查看压缩包内有哪些文件
-z  用 Gzip 压缩或解压
-j  用 bzip2 压缩或解压
-v  显示压缩或解压的过程
-f  目标文件名
-p  保留原始的权限与属性
-P  使用绝对路径来压缩
-C  指定解压到的目录
首先,-c 参数用于创建压缩文件,-x 参数用于解压文件,因此这两个参数不能同时使用。
其次,-z 参数指定使用 Gzip 格式来压缩或解压文件,-j 参数指定使用 bzip2 格式来压缩或解压文件。用户使用时则是根据文件的后缀来决定应使用何种格式参数进行解压。

在执行某些压缩或解压操作时,可能需要花费数个小时,如果屏幕一直没有输出,您一方面不好判断打包的进度情况,另一方面也会怀疑电脑死机了,因此非常推荐使用-v 参数向用户不断显示压缩或解压的过程。

-C 参数用于指定要解压到哪个指定的目录。

-f 参数特别重要,它必须放到参数的最后一位,代表要压缩或解压的软件包名称。

3.命令格式:

在虚拟机中模拟一下,/home/alex/test下有多个文件和文件夹。本文中都是在/home/alex目录进行操作。

最常用的打包压缩功能:tar -zcvf  xxx.tar.gz  test。结果会在当前路径下产生一个xxx.tar.gz文件,内容就是 /home/alex/test目录及目录下的内容压缩包,即前缀路径/home/alex也会被包含进来。

相应的解包解压缩功能: tar -zxvf  xxx.tar.gz,结果会在当前路径下产生一个路径,内容为 /home/alex/test目录及该目录下的内容。

4.范例:

将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/' from member names』那是关於绝对路径的特殊设定。

posted on 2018-11-29 14:58  胆小的猫  阅读(4893)  评论(0编辑  收藏  举报