一、解压缩命令简介
tar命令
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg这条命令是将所有。jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif这条命令是将所有。gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar这条命令是解出all.tar包中所有文件,-x是解开的意思
二、压缩命令使用
tar –cvf jpg.tar *.jpg  //将目录里所有jpg文件打包成tar.jpg
tar –czf *.jpg  // 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为
tar –cjf jpg.tar.bz2 *.jpg  //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg  //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg  //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg  //zip格式的压缩,需要先下载zip for linux
三、解压命令使用
tar –xvf file.tar  //解压 tar包
tar -xzvf   //解压
tar -xjvf file.tar.bz2<span>  //</span>解压 tar.bz2
tar –xZvf file.tar.Z<span>  //</span>解压tar.Z
unrar e file.rar  //解压rar
unzip file.zip  //解压zip
四、总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
rar for linux :
命令格式: rar < command> -< swith 1> -< swith N> < archive> < >
< @> < path_to_extract\>
< Commands>
a 向压缩包中添加文件
c 添加压缩注释
cf 添加文件注释
cw 向文件中写
压缩注释
d 从压缩包中删除文件
e 在当前目录下解压缩文件
f 刷新压缩文件中的文件
i[par]=< str> 在压缩包中查指定字符串
k 锁住压缩包
l[t,b] 列出压缩包的内容[t(technical)详细列表,b(bare)简单列表]
m[f] 向压缩包里移动内容[f(files only)只移动文件]
p 在标准输出上打印文件内容
r 修复压缩包
rc 修复丢失卷
rn 重命名压缩的文件
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[name|-] 将压缩包转换为自解压文件,或从自解压文件转换为压缩包
t 测试压缩文件
u 更新压缩包中的文件
v[t,b] 列出压缩包中文件(冗长型)[t(technical)详细列表,b(bare)简单列表]
x 以全路径方式解压文件
< Switches>
- 停止switches扫描
ad 在目的路径后添加压缩文件名
ag[format] 用当前日期生成压缩文件名
ap< path> 设置压缩包内部的路径
as 同步压缩内容
av 设置授权认证(注册版功能)
av- 禁用授权认证检查
c- 禁止内容显示
cfg- 不读取设置
cl 将名称转换为小写
cu 将名称转换为大写
df 在压缩完成后删除源文件
dh 打开共享文件
ds 对于固实压缩包,禁用名称排序
e< attr> 设置文件不包含的属性
ed 不添加空目录
en 不设置‘压缩文件尾标志’块
ep 在名称中去掉路径
ep1 在名称中去掉基本路径
ep2 展开全路径
f 刷新文件
hp[password] 对文件数据和文件头都进行加密
idp 禁用百分比显示
ierr 给标准错误输出发送所有信息
ilog[name] 生成错误日志文件(注册版功能)
inul 禁用所有信息
isnd 启用声效
k 锁住压缩包
kb 保留破损的解压文件
m< 0..5> 设置压缩率(0-存储...3-默认...5-最大)
mc< par> 设置高级压缩参数
md< size> 以KB显示大小(64,128,256,512,1024,2048,4096 或者A-G)
ms[ext; ext] 指定存储的文件类型
o+ 覆盖已存在文件
o- 不覆盖已存在文件
ol 将符号链接保存为链接而不是文件
ow 保存或恢复文件属主/组
p[password] 设置密码
p- 不查询密码
r 对子目录内容循环
r0 只对通配符进行子目录内容循环
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[< N> ,v[-],e] 创建固实压缩包
s- 禁用固实压缩
sfx[name] 创建自解压压缩包
t 压缩后进行解压测试
ta< date> 处理在< date> (YYYYMMDDHHMMSS格式)日期后修改的文件
tb< date> 处理在< date> (YYYYMMDDHHMMSS格式)日期前修改的文件
tk 保留初始压缩时间
tl 设置压缩时间为最新文件的时间
tn< time> 处理在< time> 时间后修改的文件
to< time> 处理在< time> 时间前修改的文件
ts< m,c,a> [N] 保存或恢复文件时间(修改,创建,访问)
u 更新文件
v 以自动分卷大小分卷压缩,或列出所有分卷
v< size> [k,b] 以< size> *1000大小分卷压缩[k-*1024, b-*1]
ver[n] 文件版本控制
vn 使用旧的分卷命名方式
vp 每次
分卷前暂停
w< path> 设置工作目录
x< file> 排除指定文件
x@ 从标准输入中读取要排除的文件名
x@< list> 排除列表文件中指定的文件
y 对所有问题均回复yes
z< file> 从文件中读取压缩包内容
============================================
查看压缩包中的文件
$rar l XXX.rar
或者
$rar v XXX.rar
查看压缩包中的文件(只看有什么文件)
$rar lb XXX.rar
或者
$rar vb XXX.rar
查看压缩包中的文件(详细信息)
$rar lt XXX.rar
或者
$rar vt XXX.rar
============================================
把压缩包的内容解压到当前目录
$rar e XXX.rar
把压缩包的内容解压到指定目录,比如/home/yxd/tmp/下面
$rar e XXX.rar /home/yxd/tmp/
把压缩包解的内容压到指定目录,比如/home/yxd/tmp/下面,包含压缩包中的路径
$rar x XXX.rar /home/yxd/tmp/
============================================
压缩指定的一个文件,比如aaa,以默认压缩率
$rar a XXX.rar aaa压缩包损坏
压缩指定的一个文件,比如aaa,以最大压缩率
$rar a -m5 XXX.rar aaa
压缩指定的一个目录下的所有文件,比如ddd目录下的所有文件
$rar a XXX.rar ddd/
压缩指定的一个目录下的所有文件,比如ddd目录下的所有文件和所有子目录
$rar a -r XXX.rar ddd/
压缩指定的一个目录下的所有文件,比如ddd目录下的所有文件和所有子目录,但是不包含空目录
$rar a -r -ed XXX.rar ddd/
压缩指定的一个目录下的所有文件,比如ddd目录,连目录也一起压缩,包括子目录
$rar a XXX.rar ddd
============================================
分卷压缩指定的一个文件,比如aaa,分卷大小为5000B
$rar a -v5 XXX.rar aaa
分卷压缩指定的一个文件,比如aaa,分卷大小为5k(5*1024B)
$rar a -v5k XXX.rar aaa
分卷压缩指定的一个文件,比如aaa,分卷大小为5B
$rar a -v5b XXX.rar aaa
zip for linux :
zip
功能说明:压缩文件。
在压缩时,不需先打包,打包后再压缩,压缩效率反而还更低,默认是-9,即最大效率
zip [options] distination_file source
补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会产生具有".zip"扩展名的压缩文件。
参  数:
-A  调整可执行的自动解压缩文件。
-b工作目录>  指定暂时存放文件的目录。(不需要)
-c  替每个被压缩的文件加上注释。
-d  从压缩文件内删除指定的文件。  (utility)
-D  压缩文件内不建立目录名称。
-f  此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。  (utility)
-F  尝试修复已损坏的压缩文件。
-g  将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h  在线帮助。
-i范本样式>  只压缩符合条件的文件。
-j  只保存文件名称及其内容,而不存放任何目录名称。(utility)
-J  删除压缩文件前面不必要的数据。
-k  使用MS-DOS兼容格式的文件名称。
-l  压缩文件时,把LF字符置换成LF+CR字符。
-ll  压缩文件时,把LF+CR字符置换成LF字符。
-L  显示版权信息。
-m  将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n字尾字符串>  不压缩具有特定字尾字符串的文件。
-o  以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q  不显示指令执行过程。
-r  递归处理,将指定目录下的所有文件和子目录一并处理。  (utility)
-
S  包含系统和隐藏文件。
-t日期时间>  把压缩文件的日期设成指定的日期。
-T  检查备份文件内的每个文件是否正确无误。
-u  更换较新的文件到压缩文件内。
-v  显示指令执行过程或显示版本信息。
-V  保存VMS操作系统的文件属性。
-w  在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
-x范本样式>  压缩时排除符合条件的文件。
-X  不保存额外的文件属性。
-y  直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
-z  替压缩文件加上注释。
-
$  保存第一个被压缩文件所在磁盘的卷册名称。
-压缩效率>  压缩效率是一个介于1-9的数值。数越大压缩效率越高(默认为9)      (utility)
例如:将目录/home/zhang/files下的所有文件压缩,并存储到当前目录,包名为files,它会自动在        files后面加上.zip
zip -r9 ~/files /home/zhang/files
参数9表示最大的压缩率,压缩结果为files.zip
如果对目录进行压缩,就需加参数-r
如果在压缩文件中,你不想包含原有的目录,只想其中的文件,就需参数-j
zip -j9 ~/files /home/zhang/files/*
unzip
功能说明:解压缩zip文件
语  法:unzip [-cflptuvz][-agCjLMnoqsVX][-P 密码>][.zip文件][文件][-d 目录>][-x 文件>] 或 unzip [-Z]
补充说明:unzip为.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。
[.zip文件]  指定.zip压缩文件。
[文件]  指定要处理.zip压缩文件中的哪些文件。
-d目录>  指定文件解压缩后所要存储的目录。(utility)
-x文件>  指定不要处理.zip压缩文件中的哪些文件。
-Z  unzip -Z等于执行zipinfo指令。
例如: 对上面压缩的文件解压到当前目录
unzip files.zip
如果你想将压缩的文件解压到当前主目录下的hat目录下:
unzip -d ~/hat files.zip
gzip
功能说明:压缩文件。
如果对一个文件夹进行压缩时,他会将各个文件分别进行压缩,目录仍然存在,不会被压缩。所以,如果想一个目录下的所有文件被压缩成一个压缩包的话,就得先打包,再压缩,而zip就不需要。压缩文件只能是本地目录,不能指定保存目录,除非和tar合用
语  法:gzip [-acdfhlLnNqrtvV][-S  压缩字尾字符串>][-压缩效率>][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV] [-S 压缩字尾字符串>][-压缩效率>][--best/fast][目录]
补充说明:gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。它不会对符号链接进行压缩
参  数:
 -a或--ascii  使用ASCII文字模式。
 -c或--stdout或--to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。
 -d或--decompress或----uncompress  解开压缩文件。
 -f或--force  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
 -h或--help  在线帮助。
 -l或--list  列出压缩文件的相关信息。
 -L或--license  显示版本与版权信息。
 -n或--no-name  压缩文件时,不保存原来的文件名称及时间戳记。
 -N或--name  压缩文件时,保存原来的文件名称及时间戳记。  (utility)
 -q或--quiet  不显示警告信息。
 -r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
 -S压缩字尾字符串>或----suffix压缩字尾字符串>  更改压缩字尾字符串。
 -t或--test  测试压缩