tar命令是类Linux中比较常用的解压与压缩命令。
其实在使用tar命令的时候,tar命令本身用到的是归档功能,即文件没有真正进行压缩打包,创建之后的归档文件,往往会比原来所有文件的大小总和要大,就相当于日常生活中把一些东西放入到收纳盒里面,整个收纳盒的重量是要大于原来被收纳的物品的总重量的。
如果要对文件进行压缩,一般会调用其他的命令来实现,常用的有三种:zip,gzip2,bzip,其中zip命令一般是单独使用的,gzip2,bzip一般要跟tar命令结合到一起使用。
tar命令的具体使用方法,可以使用命令 (man tar) 命令来进行查看tar的基本命令。下面举例说明一下tar 的基本命令。
一些常用的命令参数如下:
-c --create创建新的文档
-v --verbose 显示详细的tar处理的文件信息
-f --file 要操作的文件名
-x --extract, --get 解压文件
-z --gzip, --gunzip, --ungzip 通过 gzip 来进行归档压缩
-j --bzip2 通过 bzip2 来归档压缩文件
-t --list 表示查看文件,查看文件中的文件内容
-C --directory=DIR 解压文件至指定的目录
-r --append 表示增加文件,把要增加的文件追加在压缩文件的末尾
-u --update 仅将较新的文件附加到存档中
-d --diff, --compare比较存档与当前文件的不同之处;--delete从存档中删除
--remove-files 压缩后删除原文件
--exclude 排除不需要压缩的目录或者文件
具体的用法:
-c --create创建新的文档
-v --verbose 显示详细的tar处理的文件信息
-f --file 要操作的文件名
#tar -cvf sysconfig.tar /etc/sysconfig
命令解释:将目录/etc/sysconfig/目录下的文件打包成文件sysconfig.tar文件,并且放在当前目录中
(可以使用pwd命令查看当前路径,可以使用ls命令来查看当前文件夹)。
-r --append 表示增加文件,把要增加的文件追加在压缩文件的末尾
#tar -rvf sysconfig.tar /etc/sysconfig/
命令解释:将目录/etc/sysconfig/目录下的文件添加到文件sysconfig.tar文件中,并放在末尾的位置。
-t --list 表示查看文件,查看文件中的文件内容
#tar -tf sysconfig.tar
命令解释:查看sysconfig.tar压缩文件中包含了哪些文件。
--remove-files 压缩后删除原文件
#tar -cvf sysconfig.tar 1.txt 2.txt 3.txt --remove-files
命令解释:将1.txt 2.txt 3.txt三个文件进行归档压缩,归档成功后并将这三个文件删除。
--exclude 排除不需要压缩的目录或者文件
#tar -cvf sysconfig.tar test1/* --exclude=test1/log
命令解释:将test1目录下除log目录外所有的文件和文件夹进行压缩。
log目录后面不能加/,不能写成--exclude=test1/log/
#tar -cvf sysconfig.tar 1.txt 2.txt 3.txt --exclude=txt4.txt
命令解释:将1.txt 2.txt 3.txt三个文件进行归档压缩,但是排除txt4.txt这个文件。
-x --extract, --get 解压文件
#tar -xvf sysconfig.tar
命令解释:解压文件sysconfig.tar,将压缩文件sysconfig.tar文件解压到当前文件夹内。
-C --directory=DIR 解压文件至指定的目录
#tar -xvf sysconfig.tar -C /root
命令解释:解压文件sysconfig.tar,将压缩文件sysconfig.tar文件解压到/root目录内。
tar调用程序进行压缩与解压缩:
1、tar调用gzip。
.gz结尾的文件就是调用gzip程序进行压缩的文件,相反文件以.gz结尾的文件需要使用gunzip来进行解压。tar中使用-z参数
来调用gzip程序。在这里通过举例子来进行解释。
-z --gzip, --gunzip, --ungzip 通过 gzip 来进行归档压缩
#tar -czvf sysconfig.tar.gz /etc/sysconfig/
命令解释:将目录/etc/sysconfig/打包成一个tar文件包,通过使用-z参数来调用gzip程序,对目录/etc/sysconfig/进行压缩,
压缩成文件sysconfig.tar.gz,并且将压缩成的文件放在当前文件夹内。
-z 调用gzip程序来压缩文件,压缩后的文件名称以.gz结尾。
#tar -xzvf sysconfig.tar.gz
命令解释:这条命令是将上一条命令解压。
2、tar调用bzip2
.bz2结尾的文件就是调用bzip2程序来进行压缩的文件,相反,文件以.bz2结尾的文件需要使用bunzip2来解压。tar中使用-j
参数来调用程序bzip2。
-j --bzip2 通过 bzip2 来归档压缩文件
#tar -cjvf sysconfig.tar.bz2 /etc/sysconfig/
命令解释:将/etc/sysconfig/目录打包成一个tar包,接着使用-j参数调用bzip2来进行压缩文件,对目录/etc/sysconfig/进行
压缩,压缩成文件sysconfig.tar.bz2并将其放在当前目录下。
#tar -xjvf sysconfig.tar.bz2
命令解释:解压上一个命令生成的压缩包。
zip进行压缩和解压缩
.zip结尾的文件就是调用zip程序来进行压缩文件的
#zip sysconfig.zip /etc/sysconfig/
命令解释:将/etc/sysconfig/目录打包成一个zip包
#zip -r etc.zip /etc
命令解释:将/etc整个目录打包成一个zip包
#unzip sysconfig.zip
命令解释:将sysconfig.zip包进行解压缩