CentOS Linux 常用命令整理(压缩和解压,更新于 2017 年 12 月 31 日)

更多 CentOS Linux 常用命令整理请点击这里

汇总:

(1).tar 格式
解包:# tar xvf FileName.tar
打包:# tar cvf FileName.tar DirName(注:tar 是打包,不是压缩!)

(2).gz 格式
解压 1:# gunzip FileName.gz
解压 2:# gzip -d FileName.gz
压  缩:# gzip FileName

(3).tar.gz 格式
解压:# tar zxvf FileName.tar.gz
压缩:# tar zcvf FileName.tar.gz DirName

(4).bz2 格式
解压 1:# bzip2 -d FileName.bz2
解压 2:# bunzip2 FileName.bz2
压  缩:# bzip2 -z FileName

(5).tar.bz2 格式
解压:# tar jxvf FileName.tar.bz2
压缩:# tar jcvf FileName.tar.bz2 DirName

(6).bz 格式
解压1:# bzip2 -d FileName.bz
解压2:# bunzip2 FileName.bz

(7).tar.bz 格式
解压:# tar jxvf FileName.tar.bz

(8).Z 格式
解压:# uncompress FileName.Z
压缩:# compress FileName

(9).tar.Z 格式
解压:# tar Zxvf FileName.tar.Z
压缩:# tar Zcvf FileName.tar.Z DirName

(10).tgz 格式
解压:# tar zxvf FileName.tgz

(11).tar.tgz 格式
解压:# tar zxvf FileName.tar.tgz
压缩:# tar zcvf FileName.tar.tgz FileName

(12).zip 格式
解压:# unzip FileName.zip
压缩:# zip FileName.zip DirName

(13).lha 格式
解压:# lha -e FileName.lha
压缩:# lha -a FileName.lha FileName

(14).rar 格式
解压:# rar a FileName.rar
压缩:# rar e FileName.rar

压缩(zip 命令):

以下命令均在 /home 文件夹下操作:

# cd /home            # 进入 /home

把 /home 文件夹下的 123.txt 文件压缩为 mydata.zip:

# zip mydata.zip 123.txt

把 /home 文件夹下的 mydata 文件夹及其子文件夹压缩为 mydata.zip:

# zip -r mydata.zip mydata           # 递归压缩 mydata 文件夹

如果进入到 /home/mydata/ 文件夹下面,然后需要压缩 mydata 文件夹下的文件及其子文件夹,则需要执行:

# cd /home/mydata/
# zip -r mydata.zip *
选项:

-A:调整可执行的自动解压缩文件;
-b<工作目录>:指定暂时存放文件的目录;
-c:替每个被压缩的文件加上注释;
-d:从压缩文件内删除指定的文件;
-D:压缩文件内不建立目录名称;
-f:此参数的效果和指定 “ -u ” 参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中;
-F:尝试修复已损坏的压缩文件;
-g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件;
-h:在线帮助;
-i<范本样式>:只压缩符合条件的文件;
-j:只保存文件名称及其内容,而不存放任何目录名称;
-J:删除压缩文件前面不必要的数据;
-k:使用 MS-DOS 兼容格式的文件名称;
-l:压缩文件时,把 LF 字符置换成 LF + CR 字符;
-ll:压缩文件时,把 LF + cp 字符置换成 LF 字符;
-L:显示版权信息;
-m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中;
-n<字尾字符串>:不压缩具有特定字尾字符串的文件;
-o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同;
-q:不显示指令执行过程;
-r:递归处理,将指定目录下的所有文件和子目录一并处理;
-S:包含系统和隐藏文件;
-t<日期时间>:把压缩文件的日期设成指定的日期;
-T:检查备份文件内的每个文件是否正确无误;
-u:更换较新的文件到压缩文件内;
-v:显示指令执行过程或显示版本信息;
-V:保存 VMS 操作系统的文件属性;
-w:在文件名称里假如版本编号,本参数仅在 VMS 操作系统下有效;
-x<范本样式>:压缩时排除符合条件的文件;
-X:不保存额外的文件属性;
-y:直接保存符号连接,而非该链接所指向的文件,本参数仅在 UNIX 之类的系统下有效;
-z:替压缩文件加上注释;
-$:保存第一个被压缩文件所在磁盘的卷册名称;
-<压缩效率>:压缩效率是一个介于 1 ~ 9 的数值。

把 /home 文件夹下的 mydata 文件夹和 123.txt 文件压缩成为 mydata.zip:

# zip -r mydata.zip mydata 123.txt

把 /home 文件夹下的 mydata 文件夹和 123.txt 文件压缩成为 mydata.zip,但不显示指令执行过程:

# zip -q -r mydata.zip mydata 123.txt

解压(unzip 命令):

以下命令均在 /home 文件夹下操作:

# cd /home            # 进入 /home

把 /home 文件夹下的 wwwroot.zip 直接解压到 /home 文件夹里面:

# unzip wwwroot.zip

把 /home 文件夹下的 mydata.zip 解压到 mydatabak 文件夹里面:

# unzip mydata.zip -d mydatabak
选项:

-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 指令。

把 /home 文件夹下的 mydata.zip 解压到 /tmp 文件夹里面:

# unzip mydata.zip -d /tmp/

把 /home 文件夹下的 mydata.zip 解压到 /tmp 文件夹里面,如果已有相同的文件存在,不要覆盖原有的文件:

# unzip -n mydata.zip -d /tmp/

把 /home 文件夹下的 mydata.zip 解压到 /tmp 文件夹里面,如果已有相同的文件存在,则覆盖原有的文件:

# unzip -o mydata.zip -d /tmp/

查看压缩文件目录,但不解压:

# unzip -v mydata.zip

示例:

[username@XXXXXX temp]$ unzip -v mydata.zip
Archive:  mydata.zip
 Length   Method    Size  Ratio   Date   Time   CRC-32    Name
--------  ------  ------- -----   ----   ----   ------    ----
       3  Stored        3   0%  11-08-17 09:53  5fc0d40c  1.txt
       3  Stored        3   0%  11-08-17 09:53  d74debda  2.txt
       4  Stored        4   0%  11-08-17 09:53  5a82fd08  3.txt
--------          -------  ---                            -------
      10               10   0%                            3 files

把 /home 文件夹下的 abc12.zip、abc23.zip、abc34.zip 同时解压到 /home 文件夹里面:

# unzip abc\*.zip

把 /home 文件夹下的 wwwroot.zip 里面的所有文件解压到第一级目录:

# unzip -j wwwroot.zip

压缩和解压:

压缩 file1:

# bzip2 file1

解压 file1.bz2:

# bunzip2 file1.bz2

压缩 file1:

# gzip file1

最大程度压缩 file1:

# gzip -9 file1

解压 file1.gz:

# gunzip file1.gz

把 file1 打包成 archive.tar:

# tar -cvf archive.tar file1

(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数)

把 file1,dir1 打包成 archive.tar:

# tar -cvf archive.tar file1 dir1

显示一个包中的内容:

# tar -tf archive.tar

释放一个包:

# tar -xvf archive.tar

把压缩包释放到 /tmp 文件夹下:

# tar -xvf archive.tar -C /tmp
打赏作者
这里是 “ CCIE 工程师社区 ” 官方的捐款通道,您是否可以考虑请我们喝杯咖啡呢?

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

Was this article helpful?

Related Articles

Leave A Comment?

This site uses Akismet to reduce spam. Learn how your comment data is processed.