命令:
tar 对压缩文件进行操作
1. -c: 建立压缩档案
2. -x:解压
3. -t:查看内容
4. -r:向压缩归档文件末尾追加文件
5.-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
1. -z:有gzip属性的
2. -j:有bz2属性的
3. -Z:有compress属性的
4. -v:显示所有过程
5. -O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
1. # tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
2. # tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
3.# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
4. # tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
5.# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并 且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
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 -c|x|u|r|t[z|j][v] -f <归档文件> [未打包文件]
将多个文件打包为一个归档文件,可以在打包的同时进行压缩。支持的格式为
tar
(归档)、
gz
(压缩)、
bz2
(压缩率更高,比较耗时)
-c
创建
-x
解包
-u
更新
-r
添加
-t
查看
-d
比较压缩包内文件和文件
-A
将
tar
文件添加到归档文件中
-z
使用
gz
压缩格式
-j
使用
bz2
压缩格式
-v
显示过程
-f <
文件名
>
归档文件的文件名
[
未打包文件
]
创建、更新时必须填写
示例:
tar -czvf xxx.tar.gz xxx/ xxx1 xxx2 xxx3
多个待打包文件以空格分隔
tar -czvf xxx.tar.gz /home/user/xxx/
使用绝对路径打包,解包也使用绝对路径
tar -xzvf xxx.tar.gz
按相对路径解包到当前目录下,或按绝对路径解包
tar -czvf xxx.tar.gz xxx | split -b 1m
打包后,使用
split
分割为
1m
大小的多个文件
其它参数
-P
使用绝对路径压缩时,保留根目录
“/”
-W
校验
-p
还原文件权限
-w
询问用户
--totals
统计
-T <
表达式
>
处理符合条件的文件
-X <
表达式
>
排除符合条件的文件
===============================
zip [参数] <压缩包> <源文件>
使用
zip
格式打包文件
-r
递归,将指定目录下的所有文件和子目录一并处理
-S
包含系统和隐藏文件
-y
直接保存符号连接,而非该连接所指向的文件
-X
不保存额外的文件属性
-m
将文件压缩并加入压缩文件后,删除源文件
-<
压缩级别
> 1~9
,数字越大,压缩率越高
-F
尝试修复已损坏的压缩文件
-T
检查备份文件内的每个文件是否正确无误
-q
不显示指令执行过程
-g
将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件
-u
更新压缩包内文件
-f
更新压缩包内文件。如果符合条件的文件没有包含在压缩包中,则压缩后添加
-$
保存第一个被压缩文件所在磁盘的卷标
-j
只保存文件名称及其内容
-D
压缩文件内不建立目录名称
-i <
表达式
>
压缩目录时,只压缩符合条件的文件
-x <
表达式
>
排除符合条件的文件
-n <
文件名后缀
>
排除指定文件名后缀的文件
-b <
缓存路径
>
指定临时文件目录
-d <
表达式
>
从压缩文件内删除指定的文件
-t <
日期时间
>
把压缩文件的日期设成指定的日期
-o
以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同
-A
调整可执行的自动解压缩文件
-c
替每个被压缩的文件加上注释
-z
替压缩文件加上注释
-k
使用
MS-DOS
兼容格式的文件名称。
-l
压缩文件时,把
LF
字符置换成
LF+CR
字符。
-ll
压缩文件时,把
LF+CR
字符置换成
LF
字符。
===============================
unzip [参数] <压缩文件> [压缩包中将被释放的文件]
解压
zip
压缩包文件
-P <
密码
> zip
压缩包的密码
-d <
路径
>
指定解压路径
-n
解压缩时不覆盖原有文件
-f
覆盖原有文件
-o
不经询问,直接覆盖原有文件
-u
覆盖原有文件,并将压缩文件中的其他文件解压缩到目录中
-l
显示压缩文件内所包含的文件
-t
检查压缩文件是否正确
-z
显示压缩包注释
-Z unzip -Z
等于执行
zipinfo
指令
-j
不处理压缩文件中原有的目录路径
-C
压缩文件中的文件名称区分大小写
-L
将压缩文件中的全部文件名改为小写
-s
将文件名中的空格转换下划线
-X
解压缩时保留文件原来的
UID/GID
-q
执行时不显示任何信息
-v
执行是时显示详细的信息
-c
将解压缩的结果显示到屏幕上,并对字符做适当的转换
-p
与
-c
参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
-a
对文本文件进行必要的字符转换
-b
不要对文本文件进行字符转换
-x <
表达式
>
处理里排除压缩包中的指定文件
-M
将输出结果送到
more
程序处理
==============================
7z|7za <子命令> [参数] <压缩包> [文件]
子命令
a
添加
d
删除
e
解压
x
带路径解压
l
列表查看
t
测试
u
更新
参数
-m<
压缩方式
>
-m0=<
压缩算法
>
默认使用
lzma
-mx=<1~9>
压缩级别
-mfb=64 number of fast bytes for LZMA = 64
-md=<
字典大小
>
设置字典大小,例如
-md=32m
-ms=<on|off>
是否固实压缩
-o<
输出目录
>
设置输出目录
-p[
密码
]
使用密码
-r[
数字
]
递归,使用数字定义递归子目录的深度
-sfx[<
模块名称
>]
使用自解压模块
-si
从标准输入设备读入数据
-so
将数据写入标准输出设备
-y
所有询问均回答
Yes
-w<
工作目录
>
=================================
rar <子命令> [参数] <压缩包> [文件|文件列表|路径]
子命令
x
带路径解压
e
解压到当前目录
a
将文件添加到压缩包内
d
从压缩包中删除文件
u
更新压缩包内文件
f
更新压缩包内文件,并添加压缩包内不存在的文件
m
添加并删除源文件
r
修复
l
列表查看压缩包内文件信息
lt
更详细信息
lb
简短信息
c
添加压缩包注释
cf <
文件名
>
将文件内容添加为注释
cw <
文件名
>
将注释保存为文件
t
测试压缩包
rr
添加恢复纪录
rv
恢复到文件
参数
-p<
密码
>
设置密码
-m<0~5>
设置压缩级别,数字越大,压缩级别越高
参考出处: http://baobaolimei.blog.163.com/blog/static/45287074201032895314283/
解压
1. tar –xvf file.tar //解压 tar包
2. tar -xzvf file.tar.gz //解压tar.gz
3. tar -xjvf file.tar.bz2 //解压 tar.bz2
4. tar –xZvf file.tar.Z //解压tar.Z
5. unrar e file.rar //解压rar
6. unzip file.zip //解压zip
总结
1. *.tar 用 tar –xvf 解压
2. *.gz 用 gzip -d或者gunzip 解压
3. *.tar.gz和*.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 解压;