linux 解压压缩命令 .tar/.gz/.bz2/jar/zip/cpio……

.tar

解包:tar -xvf FileName.tar
打包:tar -cvf FileName.tar DirName
(注:tar是打包,不是压缩!)

序号选项说明
1-c创建存档文件,与-x相斥(create)
2-t列出档案文件的文件列表
3-x解包存档文件,与-c相斥
4-A合并存档文件
5-d比较存档文件与源文件
6-r追加文件到存档文件末尾
7-u更新存档文件
8-f指定存档文件,与其它选项同时使用时,必须在最后例如tar -xjvf a.tar.bz2
9-v显示详细处理信息
10-C转到指定目录,常用于解开存档文件到指定目录
11-j调用bzip2程序
12-z调用gzip程序
13-Z调用 compress 程序
序号选项说明
1tar xjvf a.tar.bz2解压 a.tar.bz2 文件,并显示详细信息
2tar xzvf b.tar.gz -C /home/leo解压 b.tar.gz 文件,并指定解压到/home/leo/目录
3tar cjvf drivers.tar.bz2 drivers将 drivers 目录的文件打包,创建一个.tar.bz2 压缩文件

.jar

打jar包(要到指定文件夹下压缩)
jar -cvf app.jar *


.zip

解压:unzip -d 指定解压路径 FileName.zip
压缩:zip FileName.zip DirName

1、安装zip、unzip应用。

yum install zip unzip

2、压缩和解压文件

OPTIONDescribeAndOPTIONDescribe
-A调整自解压程序。-su类似 -sf 但是展示转义 UTF-8 Unicode 名称,如果存在。
-c添加单行注释。-sU类似 -sf 但是展示转义 UTF-8 Unicode 名称。
-d从 zipfile 中删除条目。-t包括在指定日期当天货之后有修改的文件。
-db展示正在执行的字节数和尚未执行(压缩)的字节数。-tt包括在指定日期之前有修改的文件。日期格式(mmddyyyy 或 yyyy-mm-dd)。
-dc展示正在执行的文件数和尚未执行(压缩)的文件数。-T测试 zipfile 的完整性。
-dd每10MB展示为一个点。-TT cmd使用命令 cmd 测试归档。
-dg将整个归档用点代表,而不是为每个文件。-u只更新有改变的文件或新文件。
-ds每个点都代表一个 siz ,其中 siz 是以 nm 为单位作为分割(0 代表没有点)。-U从 zipfile 中选择文件复制(和 --out 一起使用)。等于 --copy。
-D不添加目录条目。-v显示详细执行信息。如果只执行 “zip -v”,则展示版本信息。
-DF也写作 --dif。只包括有改变的文件或比输入归档较新的文件。-x压缩时排除文件。
-e设置解压权限,使用标准(弱)PKZip 2.0 编码,提示输入密码。-X排除额外的文件属性。
-f只更新有改变的文件。-y将软链作为链接保存,而不是作为文件。
-F修复 zipfile(-FF 更努力地修复)。拷贝潜在损坏的归档中的文件到新归档中。
-F 尝试正常读取归档并仅复制完整条目,而 -FF 尝试挽救可能导致不完整条目
-z添加 zipfile 的注释。
-FS如果日期或大小改变了就更新,系统不存在的文件就删除。-Z后接压缩方式:store(只保存,等于 -0),deflate(压缩,默认值),如果系统支持 bzip2,可以使用 bzip2 方式。
-i压缩时只包括的文件。-0只保存,不压缩。
-ic大小写不敏感。-1~-91是更快地压缩,9是更好地压缩,默认值是6。
-j不压缩目录,只压缩文件。-@从标准输入读取文件名。
-J删除 zipfile 中的前缀(unzipsfx)。-sv创建拆分时显示详细信息。
-l将 LF 转换为 CR LF (-ll 是将 CR LF 转换为 LF)-sf展示操作的文件后退出(-sf- 日志文件专属)。
-lf path打开 path 的文件作为日志文件(覆盖已存在的文件)。-sb暂停时响铃。
-la追加到已存在的日志文件。-sp在每个拆分操作结束时暂停,来切换磁盘。
-li包括 info 信息(默认只有警告和错误信息)。-s ssize使用大小为 ssize 的拆分文件大小创建拆分存档。
-m将文件移动到 zipfile 中,并从系统中删除源文件。-R递归当前目录中匹配的文件。
-n不压缩具有指定后缀的文件。-r递归目录。
-o以压缩文件列表中最新的文件的更新时间为压缩文件的更新时间。-q不显示执行过程。
–out输出到新的归档。如果输入是拆分的,输出将会默认为相同的拆分大小。使用 -s=0 或 -s- 来关闭拆分。如果覆盖旧的拆分归档,但是需要的拆分数量较少,-P使用标准编码,设置密码。
通配符
        ?        匹配任意单个字符。
        *        匹配任意个数的字符,包括00 到 正无穷)
        [list]   匹配 list 中的字符(正则),可以使用范围表示 [ac-f],排除字符 [!bf]

一般情况下,* 会跨越目录级别,比如 'a*b' 可以匹配 'ac/db'。如果使用 -ws,* 不会跨越,  **会跨越。

使用示例:

1、压缩file目录
	zip -r file.zip file 

2、把file.zip解压到file目录里面
	unzip file.zip -d file 

3、把file文件夹和file.txt压缩成为file.zip
	zip -r file.zip file file.txt 

4、直接解压到当前位置
	unzip file.zip 

5、解压adc文件夹下的所有文件
	unzip abc\*.zip 

6、查看file.zip里面的内容
	unzip -v file.zip 

7、验证file.zip是否完整
	unzip -t file.zip 

8、递归当前目录并压缩以 .h 为结尾的文件:
        zip zipfile -r . -i "*.h"
9、压缩 path 到 zipfile,排除 pattern:
        zip -x pattern pattern @ zipfile path path ...

10、归档更新:
        zip zipfile -FS -r dir

11、从 inarchive 复制 pattern 文件到 outarchive:
        zip inarchive --copy pattern pattern ... --out outarchive

12、从 old_archive 复制以 .c 结尾的文件(排除foo.c)到 new_archive:
        zip old_archive --copy "*.c" --out new_archive -x foo.c

13、修复 bad.zip 为 fixed.zip:
        zip -F bad.zip --out fixed.zip
        zip bad.zip -FF -v --out fixed.zip

14、递归当前目录,如果有 foofull 中没有的文件或有改变的文件,就压缩到 foonew 中:
        zip -r foofull . -DF --out foonew
        
15、指定目录压缩文件到指定目录下(-j 不压缩目录、-m 移动源压缩文件到zipfile中)
	zip -mvj /var/opt/zip/sys_$(date +%Y-%m-%d).zip  /var/opt/zip_test/$(date +%Y-%m-%d)/*.csv

.gz

解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName


.bz2

解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName


.bz

解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知

.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知


.Z

解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z

解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName


.rar

解压:rar x FileName.rar
压缩:rar a FileName.rar DirName


.lha

解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName


.rpm

解包:rpm2cpio FileName.rpm | cpio -div


.deb

解包:ar p FileName.deb data.tar.gz | tar zxf -

.cpio

# 解压案例
cpio -idmv < leotest.cpio
 -0--null:接受新增列控制字符,通常配合find指令的“-print0”参数使用;
 -a或--rest-access-time:重新设置文件的存取时间;
 -A--append:附加到已存在的备份文档中,且这个备份文档必须存放在磁盘上,而不能放置于磁带机里;
 -b或--awap:此参数的效果和同时指定“-ss”参数相同;
 -B:将输入/输出的区块大小改成5210Bytes;
 -c:使用旧ASCII备份格式;
 -C--io-size=:设置输入/输出的区块大小,单位是Byte;
 -d或--make-directories:如有需要cpio会自行建立目录;
 -E--pattern-file=:指定范本文件,其内含有一个或多个范本样式,让cpio解开符合范本条件的文件,格式为每列一个范本样式;
 -f或--nonmatching:让cpio解开所有不符合范本条件的文件;
 -F--file=:指定备份档的名称,用来取代标准输入或输出,也能借此通过网络使用另一台主机的保存设备存取备份档;
 -H:指定备份时欲使用的文件格式;
 -i或--extract:执行copy-in模式,还原备份档;
 -l:指定备份档的名称,用来取代标准输入,也能借此通过网络使用另一台主机的保存设备读取备份档;
 -k:此参数将忽略不予处理,仅负责解决cpio不同版本间的兼容性问题;
 -l或--link:以硬连接的方式取代复制文件,可在copy-pass模式下运用;
 -L--dereference:不建立符号连接,直接复制该连接所指向的原始文件;
 -m或preserve-modification-time:不去更改文件的更改时间;
 -M--message=:设置更换保存媒体的信息;
 -n或--numeric-uid-gid:使用“-tv”参数列出备份档的内容时,若再加上参数“-n”,则会以用户识别和群组识别码替代拥有者和群组名称列出文件清单;
 -o或--create:执行copy-out模式,建立备份档;
 -O:指定备份档的名称,用来取代标准输出,也能借此通过网络使用另一台主机的保存设备存放备份档;
 -p或--pass-through:执行copy-pass模式,略过备份步骤,直接将文件复制到目的目录;
 -r或--rename:当有文件名称需要更改时,采用互动模式;
 -R<:>----owner<:>   在copy-in模式还原备份档,或copy-pass模式复制文件时,可指定这些备份,复制的文件的拥有者与所属群组;
 -s或--swap-bytes:交换每队字节的内容;
 -S--swap-halfwords:交换每半个字节的内容;
 -t或--list:将输入的内容呈现出来;
 -u或--unconditional:置换所有文件,不论日期时间的新旧与否,皆不予询问而直接覆盖;
 -v或--verbose:详细显示指令的执行过程;
 -V--dot:执行指令时。在每个文件的执行程序前面加上“.”号;
 --block-size=:设置输入/输出的区块大小,假如设置数值为5,则区块大小为2500,若设置成10,则区块大小为5120,以此类推;
 --force-local:强制将备份档存放在本地主机;
 --help:在线帮助;
 --no-absolute-filenames:使用相对路径建立文件名称;
 --no-preserve-owner:不保留文件的拥有者,谁解开了备份档,那些文件就归谁所有;
 -only-verify-crc:当备份档采用CRC备份格式时,可使用这项参数检查备份档内的每个文件是否正确无误;
 --quiet:不显示复制了多少区块;
 --sparse:倘若一个文件内含有大量的连续0字节,则将此文件存在稀疏文件;
 --version:显示版本信息。
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值