您的位置:首页 > 运维架构 > Linux

Linux压缩命令

2016-07-03 17:45 288 查看

tar

这是个在Linux下很流行且很强大的命令,它在压缩过程中默认保留原文件。

格式: tar [主选项+次选项] file_or_dir

•主选项,只能出现以下的一种,不能同时出现

-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

-x 从档案文件中释放文件。相当于拆包。

-t 列出档案文件的内容,查看已经备份了哪些文件。

•次选项

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz

-Z:是否同时具有 compress 的属性?亦即是否需要用 compress 压缩或解压? 一般格式为xx.tar.Z

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2

-v :压缩的过程中显示文件详细信息!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!

-p :使用原文件的原来属性(属性不会依据使用者而变)

-------------------------------------------------------------------------------------------------------------------

.tar(tar是归档(或者打包),而没有压缩的效果,.tar文件均为归档文件)

打包:tar -cvf file_name.tar file_or_dir

解档:tar -xvf file_name.tar 解档后的文件在当前目录下

———————————————

.tar.gz和.tgz

压缩:tar -zcvf file_name.tar.gz file_or_dir

解压:tar -zxvf file_name.tar.gz

———————————————

.tar.bz2

压缩:tar -jcvf file_name.tar.bz2 file_or_dir

解压:tar -jxvf file_name.tar.bz2

———————————————

.tar.Z

压缩:tar -Zcvf file_name.tar.Z file_or_dir

解压:tar -Zxvf file_name.tar.Z

gzip和gunzip

gzip是一个被广泛使用的压缩命令,gunzip是与其对应的解压命令。它们直接替换原文件。其实gunzip只是gzip的硬连接,所有操作都可以用gzip完成,file经gzip压缩后为file.gz。

•gzip格式:gzip [参数] file_or_dir

参数如下,红色字体表明常用参数:

-a或--ascii:使用ASCII文字模式;

-d或--decompress或----uncompress:解开压缩文件;

-f或--force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;

-h或--help:在线帮助;

-l或--list:列出压缩文件的相关信息;

-L或--license:显示版本与版权信息;

-n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记;

-N或--name:压缩文件时,保存原来的文件名称及时间戳记;

-q或--quiet:不显示警告信息;

-r或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理;

-S<压缩字尾字符串>或--suffix<压缩字尾字符串>:更改压缩字尾字符串;

-t或--test:测试压缩文件是否正确无误;

-v或--verbose:显示指令执行过程;

-V或--version:显示版本信息;

-<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;

--best:此参数的效果和指定“-9”参数相同;

--fast:此参数的效果和指定“-1”参数相同。

•gunzip格式:gunzip [参数] file.gz

参数如下,红色字体表明常用参数:

-a或--ascii:使用ASCII文字模式;

-c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备;

-f或--force:强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接;

-h或--help:在线帮助;

-l或--list:列出压缩文件的相关信息;

-L或--license:显示版本与版权信息;

-n或--no-name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理;

-N或--name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上;

-q或--quiet:不显示警告信息;

-r或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理;

-S<压缩字尾字符串>或--suffix<压缩字尾字符串>:更改压缩字尾字符串;

-t或--test:测试压缩文件是否正确无误;

-v或--verbose:显示指令执行过程;

-V或--version:显示版本信息。

bzip2和bunzip2

显然,bzip2用于压缩,bunzip2用于解压,它们直接替换掉原文件。当然bzip2也能进行解压。压缩后的文件file为file.bz2,它们的参数一样(差一个-d),故只列举bzip2。

•bzip2格式:bzip2 [参数] [file]

参数如下,红色字体表明常用参数:

-c:将压缩或是解压缩的结果 送到标准输出,如果输出到屏幕上则是乱码
-d:解压缩文件,同bunzip2 文件名.bz2
-f:有同名文件时强制覆盖
-k:解压缩后,不删除原来的压缩文件,默认会删除
-q:安静模式,不会在屏幕上有任何输出
-s:解压缩时降低内存的使用量,但是时间会增加
-t:测试解压缩效果,测试后会将解开的文件删除
-v:列出详细的信息
-z:强制压缩
-V或是-L:显示版本信息

compress和uncompress

这个在新版linux下估计已经找不到了...它们和bzip2、bunzip2基本一样,只不过它们支持递归解/压缩目录,且它们的压缩文件后缀为.Z,compress参数如下:

•格式:compress [参数] [file_or_dir]

参数如下,红色字体表明常用参数:

-b:指定压缩比例,数值在6~9之间,越大则压缩后文件越小,但是占用时间也越多
-c:压缩后保留原文件,但默认不保留
-d:解压缩文件
-f:强制压缩文件
-r:递归压缩目录及以下文件
-v:显示完整的压缩过程
-V:显示版本信息

例子很简单,就不多说了。

zip和unzip

这是个使用特别广泛的压缩格式,文件后缀名为.zip,且默认保留原文件,它们的用法也特别广泛:

•zip格式:zip [参数] file.zip file_or_dir

参数如下,红色字体表明常用参数:

-A 调整可执行的自动解压缩文件。

-b<工作目录> 指定暂时存放文件的目录。

-c 替每个被压缩的文件加上注释。

-d 从压缩文件内删除指定的文件。

-D 压缩文件内不建立目录名称。

-f 此参数的效果和指定"-u"参 数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。

-F 尝试修复已损坏的压缩文件。

-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。

-h 在线帮助。

-i<范本样式> 只压缩符合条件的文件。

-j 只保存文件名称及其内容,而不存放任何目录名称。

-J 删除压缩文件前面不必要的数据。

-k 使用MS-DOS兼容格式的文件名称。

-l 压缩文件时,把LF字符置换成LF+CR字 符。

-ll 压缩文件时,把LF+CR字符置换成LF字符。

-L 显示版权信息。

-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。

-n<字尾字符串> 不压缩具有特定字尾字符串的文件。

-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。

-q 不显示指令执行过程。

-r 递归处理,将指定目录下的所有文件和子目录一并处理。

-S 包含系统和隐藏文件。

-t<日期时间> 把压缩文件的日期设成指定的日期。

-T 检查备份文件内的每个文件是否正确无误。

-u 更换较新的文件到压缩文件内。

-v 显示指令执行过程或显示版本信息。

-V 保存VMS操作系统的文件属性。

-w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。

-x<范本样式> 压缩时排除符合条件的文件。

-X 不保存额外的文件属性。

-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。

-z 替压缩文件加上注释。

-$ 保存第一个被压缩文件所在磁盘的卷册名称。

-<压缩效率> 压缩效率是一个介于1-9的 数值。

•unzip格式:unzip [参数] file.zip

参数如下,红色字体表明常用参数:

-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。

-f 更新现有的文件。

-l 显示压缩文件内所包含的文件。

-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。

-t 检查压缩文件是否正确,但不解压。

-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。

-v 执行时显示详细的信息。或查看压缩文件目录,但不解压。

-z 仅显示压缩文件的备注文字。

-a 对文本文件进行必要的字符转换。

-b 不要对文本文件进行字符转换。

-C 压缩文件中的文件名称区分大小写。

-j 不处理压缩文件中原有的目录路径。

-L 将压缩文件中的全部文件名改为小写。

-M 将输出结果送到more程序处理。

-n 解压缩时不要覆盖原有的文件。

-o 不必先询问用户,unzip执行后覆盖原有文件。

-P<密码> 使用zip的密码选项。

-q 执行时不显示任何信息。

-s 将文件名中的空白字符转换为底线字符。

-V 保留VMS的文件版本信息。

-X 解压缩时同时回存文件原来的UID/GID。

-d<目录> 指定文件解压缩后所要存储的目录。

-x<文件> 指定不要处理.zip压缩文件中的哪些文件。

-Z unzip -Z等于执行zipinfo指令。

rar

rar的命令和选项太多,这里只列举一些常用的,压缩文件后缀为.rar,默认保留原文件。

•rar格式:rar [命令] [选项]

命令有:

a:添加文件到操作文档,例:rar a test.rar file1.txt 若test.rar文件不存在,则打包file1.txt文件成test.rar,例:rar a test.rar file2.txt 若test.rar文件已经存在,则添加file2.txt文件到test.rar中,这样test.rar中就有两个文件了

d:从文档中删除文件,例:rar d test.rar file1.txt

e:将文件解压到当前目录,例:rar e test.rar用e解压的话,不仅原来的file1.txt被解压到当前目录,就连dir1里面的所有文件也被解压到当前目录下,不能保持压缩前的目录结构

k:锁定文档,例:rar k test.rar 锁定文档后,该文档就无法进行任何更新操作了

r:修复文档,例:rar r test.rar

s:转换文档成自解压文档,例:rar s test.rar,会生成一个test.sfx的可执行文档,运行它的效果就相当于rar x test.rar,适合于向没有rar的用户传输文件

t:检测文档,例:rar t test.rar,检测test.rar的完整性,一般压缩完大型文件准备传输前最好用这个命令来确保文件的正确性

x:带路径解压文档中内容到当前目录,例:rar x test.rar,这样解压的话,dir1就会保持原来的目录结构

选项有:

cl:将文件名转换为小写,cu:将文件名转换为大写,例:rar a -cl test.rar FILe.txt,FILe.txt在添加进test.rar之后,变为file.txt

df:文档操作后删除源文件,例:rar a -df test.rar file1.txt file2.txt dir1,将file1.txt,file2.txt,dir1压缩到test.rar中之后,删除源文件

ed:不添加空目录,例:rar a -ed test.rar dir1,添加dir1到test.rar中时,不对空目录进行操作,rar e -ed test.rar,解压test.rar时,不生成空目录

k:锁定文件,例:rar a -k test.rar file1.txt,等价于rar a test.rar file1.txt rar k test.rar

m<0..5>:设定压缩比等级(0-存储,3-默认,5-最大),例:rar a -m0 test.rar dir1 dir2

o+:覆盖已有文件,o- 不覆盖已有文件,例:rar x -o- test.rar,解压test.rar文件,但是如果碰到以存在的文件则不覆盖

p[password]:设定密码,例:rar a test.rar *.txt -p prettygirl 压缩文件设定密码为prettygirl,解压时无密码无法进行操作,如果觉得明码密码太过暴露,可以使用rar a test.rar *.txt -p,则rar程序会询问你要使用什么密码,不回显

t:压缩完毕后进行完整性检验,例:rar a test.rar /home -t,压缩完毕后进行检验,如果有问题则报错。

x<file>:排除特定的文件,例:rar x test.rar -x *.txt,解压test.rar中除*.txt以外的文档

y:所有操作均回答yes,例如有时解压时每碰到相同文件就问是否覆盖(Y/N),加上-y就可以默认选择Yes,不再询问
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: