目录
压缩和解压缩命令
- 在 Linux 中可以识别的常见压缩格式有十几种,比如“.zip”“.gz”“.bz2”“.tar”“.tar.gz”“.tar.bz2”等。
“.zip”格式
- “.zip”是 Windows 中最常用的压缩格式,Linux 也可以正确识别“.zip”格式,这可以方便地和Windows 系统通用压缩文件。
- “.zip”格式的压缩命令
- 压缩命令就是 zip,其基本信息如下。
- 命令名称:zip。
- 英文原意:package and compress (archive) files。
- 所在路径:/usr/bin/zip。
- 执行权限:所有用户。
- 功能描述:压缩文件或目录。
-
命令格式如下:
[root@localhost ~]# zip [选项] 压缩包名 源文件或源目录
- 选项:
- -r: 压缩目录
- 例如:
[root@localhost ~]# zip ana.zip anaconda-ks.cfg
“.zip”格式的解压缩命令
- “.zip”格式的解压缩命令是 unzip,其基本信息如下。
- 命令名称:unzip。
- 英文原意:list, test and extract compressed files in a ZIP archive。
- 所在路径:/usr/bin/unzip。
- 执行权限:所有用户。
- 功能描述:列表、测试和提取压缩文件中的文件。
- 命令格式如下:
[root@localhost ~]# unzip [选项] 压缩包名
- 选项:
- -d: 指定解压缩位置
- 例如:
- 把压缩包解压到指定位置
[root@localhost ~]# unzip -d /tmp/ ana.zip
“.gz”格式(不会打包)
- “.gz”格式的压缩命令
- “.gz”格式是 Linux 中最常用的压缩格式,使用 gzip 命令进行压缩,其基本信息如下。
- 命令名称:gzip。
- 英文原意:compress or expand files。
- 所在路径:/bin/gzip。
- 执行权限:所有用户。
- 功能描述:压缩文件或目录。
- 命令的格式如下:
[root@localhost ~]# gzip [选项] 源文件
- 选项:
- -c: 将压缩数据输出到标准输出中,可以用于保留源文件
- -d: 解压缩
- -r: 压缩目录
[root@localhost ~]# gzip -c anaconda-ks.cfg > anaconda-ks.cfg.gz
#使用-c 选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中
#这样可以在压缩文件的同时不删除源文件
“.gz”格式的解压缩命令
- 如果要解压缩“.gz”格式,那么使用“gzip -d 压缩包”和“gunzip 压缩包”命令都可以。我们
- 先看看 gunzip 命令的基本信息。
- 命令名称:gunzip。
- 英文原意:compress or expand files。
- 所在路径:/bin/gunzip。
- 执行权限:所有用户。
- 功能描述:解压缩文件或目录。
[root@localhost ~]# gunzip install.log.gz
[root@localhost ~]# gzip -d anaconda-ks.cfg.gz
- 两个命令都可以解压缩“.gz”格式
“.bz2”格式 (不能压缩目录)
- “.bz2”格式是 Linux 的另一种压缩格式,从理论上来讲,“.bz2”格式的算法更先进、压缩比更好;而“.gz”格式相对来讲压缩的时间更快。
- “.bz2”格式的压缩命令是 bzip2,我们来看看这个命令的基本信息。
- 命令名称:bzip2。
- 英文原意:a block-sorting file compressor。
- 所在路径:/usr/bin/bzip2。
- 执行权限:所有用户。
- 功能描述:.bz2 格式的压缩命令。
- 来看看 bzip2 命令的格式。
[root@localhost ~]# bzip2 [选项] 源文件
- 选项:
- -d: 解压缩
- -k: 压缩时,保留源文件
- -v: 显示压缩的详细信息
- 例如:
[root@localhost ~]# bzip2 anaconda-ks.cfg
[root@localhost ~]# bzip2 -k install.log.syslog
“.bz2”格式的解压缩命令
- “.bz2”格式可以使用“bzip2 -d 压缩包”命令来进行解压缩,也可以使用“bunzip2 压缩包”命
- 令来进行解压缩。先看看 bunzip2 命令的基本信息。
- 命令名称:bunzip2。
- 英文原意:a block-sorting file compressor。
- 所在路径:/usr/bin/bunzip2。
- 执行权限:所有用户。
- 功能描述:.bz2 格式的解压缩命令。
[root@localhost ~]# bunzip2 anaconda-ks.cfg.bz2
[root@localhost ~]# bzip2 -d install.log.syslog.bz2
“.tar.gz”和“.tar.bz2”格式
- 使用 tar 命令直接打包压缩。命令格式如下:
[root@localhost ~]# tar [选项] 压缩包 源文件或目录
- 选项:
- -z: 压缩和解压缩“.tar.gz”格式
- -j: 压缩和解压缩“.tar.bz2”格式
.tar.gz 格式
[root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/
#把/tmp/目录直接打包压缩为“.tar.gz”格式
[root@localhost ~]# tar -zxvf tmp.tar.gz
#解压缩与解打包“.tar.gz”格式
.tar.bz2 格式
[root@localhost ~]# tar -jcvf tmp.tar.bz2 /tmp/
#打包压缩为“.tar.bz2”格式,注意压缩包文件名
[root@localhost ~]# tar -jxvf tmp.tar.bz2
#解压缩与解打包“.tar.bz2”格式
- 案例
[root@localhost ~]# mkdir test
[root@localhost ~]# touch test/abc
[root@localhost ~]# touch test/bcd
[root@localhost ~]# touch test/cde
#建立测试目录和测试文件
[root@localhost ~]# tar -zcvf test.tar.gz test/
#压缩
[root@localhost ~]# tar -ztvf test.tar.gz
#只查看,不解压
[root@localhost ~]# tar -zxvf test.tar.gz -C /tmp
#解压缩到指定位置
[root@localhost ~]# tar -zxvf test.tar.gz -C /tmp test/cde
#只解压压缩包中的特定文件,到指定位置
- 只查看,不解压
- 解压缩到指定位置
- 只解压压缩包中的特定文件,到指定位置
【注】:参考尚硅谷沈超老师教程