Linux-解压缩文件命令(gzip、zip、unzip、tar、jar)

时间:2025-05-11 07:09:13

目录

1、压缩解压命令

1.1 gzip、gzcat、gunzip

1.2 bzip2、bzcat、bunzip2  

1.3 zip和unzip

2、tar命令

3、jar命令


1、压缩解压命令

1.1 gzip、gzcat、gunzip

gzip 命令 压缩文件后缀.gz
gzcat  用来显示压缩的文本文件内容
gunzip  用来解压文件

把/home目录下的test目录下所有文件压缩成.gz文件
    cd /home
    tar -cvf /home/ /home/test
    gzip
    gzip -l

解压缩
    gzip -dv
    gzip -v -9 高压缩比
    gzip -l

    gzip -dv
    gizp -v -1 低压缩比
    gzip -l

1.2 bzip2、bzcat、bunzip2  

bzip2 命令 压缩文件后缀.bz2 自动使用压缩后的bzip2文件替换原文件
bzcat 用来显示压缩的文本文件内容
bunzip2  用来解压压缩后的.bz2文件

把/home目录下的test目录下所有文件压缩成.bz2文件
    cd /home
    tar -cvf /home/ /home/test
    bzip2 -z

解压缩.bz2
    bzip2 -d .bz2


1.3 zip和unzip

例如:将解压到指定的目录  -d 指定目录
[root@oracle upload]# unzip -oq -d common
例:将当前目录下的所有文件和文件夹全部压缩成文件,-r表示递归压缩子目录下所有文件
[root@mysql test]# zip -r ./*
 
命令名: 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<目录>   指 定文件解压缩后所要存储的目录。
-x<文件>   指 定不要处理.zip压 缩文件中的哪些文件。
-Z   unzip -Z等 于执行zipinfo指 令。
 
命令名: zip
功能说明:压缩文件。
语法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式>]
补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具 有".zip"扩展名 的压缩文件。
参数:
-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的 数值。

把一个文件和一个目录dir1压缩成为:
# zip -r dir1

2、tar命令

tar -zxvf jdk-8u60-linux-

-c或--create   建立新的tar归档文件。
-f<备份文件>或--file=<备份文件>   指定备份文件。
-z或--gzip或--ungzip   通过gzip指令处理备份文件。
-x或--extract或--get  从备份文件中还原文件。
-v或--verbose   显示指令执行过程。

将整个/home/test目录下的文件全部打包成为/home/

仅打包,不压缩
    tar -cvf /home/ /home/test

打包后,以gzip压缩
    tar -zcvf /home/ /home/test

打包后,以bzip2压缩
    tar -jcvf /home/.bz2 /home/test

    # 特别注意,在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识
    # 如果加z参数,则以.或.tgz来代表gzip压缩过的tar file
    # 如果加j参数,则以.tar.bz2来作为文档名

-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir

压缩:tar -jcv -f .bz2 要被处理的文件或目录名称
     tar -jcv -f .bz2  /usr/games
查询:tar -jtv -f .bz2
解压:tar -jxv -f .bz2 -C 欲解压缩的目录  注意此处的C需要大写
     tar -jxv -f .bz2 -C /usr
 
压缩:tar -cvf .bz2 要被处理的文件或者目录名称
解压: tar -xvf .bz2 -C 欲解压缩的目录  注意此处的C需要大写


3、jar命令

压缩war包:
把当前目录下的所有文件打包成
jar -cvfM0 ./
-c   创建war包
-v   显示过程信息
-f    指定归档文件名
-M  不创建条目的清单文件
-0   这个是阿拉伯数字,只打包不压缩的意思
解压war包 解压到当前目录
jar -xvf

jar -xvf  
jar -xvf