RedHat Linux中压缩与解压缩命令
在RedHat中的压缩和解压缩有tar、zip、gzip命令。其中最常用的压缩与解压缩命令是tar。
1.tar命令
格式:tar [选项][参数] 文件目录列表
功能:将文件或目录归档为tar文件,与相关选项连用可以压缩归档文件
下面5个选项是互斥出现的,一般在压缩与解压缩时会用到其中的某一个选项。
-c 创建新的归档文件
-x 还原归档文件中的文件和目录
-t 显示归档文件的内容
-r 向归档文件末尾追加文件和目录
-u 更新归档文件
一般需要联合使用的常用选项
-f --file[HOSTNAME:]F 指定存档或设备(一般f选项放在最后,后面需要给定存档的文件名称)
-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩
-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩
-j 调用bzip2命令压缩或解压缩归档文件
例子:
1.命令中互斥选项的示例
%这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名 # tar -cf all.tar *.jpg
%这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 # tar -rf all.tar *.gif
%这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 # tar -uf all.tar logo.gif
%这条命令是列出all.tar包中所有文件,-t是列出文件的意思 # tar -tf all.tar
%这条命令是解出all.tar包中所有文件,-x是解开的意思 # tar -xf all.tar
2.压缩与解压缩示例
(1)压缩
%仅打包不压缩 %将整个/home目录下的文件全部打包成为/usr/backup/home.tar #tar -cvf /usr/backup/home.tar /home %打包后,用gzip命令压缩 #tar -zcvf /usr/backup/home.tar.gz /home %打包后,用bzip2命令压缩 #tar -jcvf /usr/backup/home.tar.bz2 /home
(2)解压缩
%解压缩到当前目录 #tar -zxvf /usr/backup/home.tar.gz
2.压缩与解压缩命令zip和uzip
(1)zip
格式:zip [选项] 压缩后文件名 待压缩的文件或文件夹
功能:zip命令可以把一个或多个文件压缩成一个.zip文件
%将当前目录下的所有.c和*.txt文件压缩成mypro.zip #zip mypro.zip *.c *.txt %将data子目录下的所有.log文件压缩,并加入到已存在的mypro.zip中 #zip -g mypro.zip data/*.log
(2)unzip
格式:unzip [选项] 待解压的文件
功能:解压缩用zip命令压缩的文件
%将压缩文件text.zip在当前目录下解压缩 #unzip text.zip %将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件 #unzip -n text.zip -d /tmp
3.压缩与解压缩命令gzip和ugzip
(1)gzip
格式:gzip [选项] 压缩的文件名 待压缩的文件
功能:压缩/解压缩文件。在Linux中,用gzip命令进行压缩的文件格式为.gz
注:gzip命令不能将多个文件压缩成一个文件,gzip一般和tar命令配合使用。常见的扩展名为.tar.gz或.tgz格式的文件,就是先用tar命令将所有文件打包,再用gzip命令进行压缩得到的。
%对当前目录的data.txt文件进行压缩 #gzip data.txt %压缩后用ls命令看,会发现生成了data.txt.gz压缩文件,而原文件已被删除 %压缩一个tar备份文件usr.tar,压缩后文件为usr.tar.gz #gzip usr.tar %将data.txt.gz进行解压缩并指定解压缩后的文件以.gzip为扩展名 %选项-d的含义是将压缩文件解压 #gzip -S .gzip -d data.txt.gz
(2)gunzip
gunzip是用来解gzip压缩文件的工具程序,gunzip也可以解压缩zip命令压缩的文件。
gunzip的格式与gzip一样,他们拥有相同的命令行选项。其实可以把gunzip和gzip看作一个程序,只是他们的默认选项不同而已。gunzip等同于gzip -d命令。