压缩和解压

返回主页

一、tar:打包和解包文件

tar 命令的功能是压缩和解压缩文件,能够制作出Linux系统中常见的tartar.gztar.bz2等格式的压缩包文件。把要传输的文件先压缩再传输,能够很好地提高工作效率,方便分享。

1、tar:语法格式

tar [参数] [压缩包名] [文件或目录名]

2、tar:常用参数

参数 描述 参数 描述 参数 描述 参数 描述
-A 添加文件到已存在的压缩包 -p 保留原来的文件权限与属性 -B 设置区块大小 -P 使用绝对路径
-c 创建新的压缩 -t 显示压缩包的内容 -C 解压缩到指定目录 -u 更新压缩包内的文件
-d 记录文件的差别 -v 显示执行过程详细信息 -f 指定压缩包文件 -w 确认压缩包的完整性
-j 使用bzip2压缩格式 -x 从压缩包内提取文件 -l 设置文件系统边界 -z 使用gzip压缩格式
-m 保护文件不被覆盖 - -exclude 排除指定的文件不压缩 -N 只将较新日期的文件保存到压缩包中 - -remove-files 操作完成后删除源文件

3、tar:参考事例

3.1、tar 压缩

例:要将文件夹mysql 压缩成 .tar.gz 格式的压缩包文件。

# 1、压缩前目录结构
[root@converts ~]# ll
total 12
-rw-r--r-- 1 root root  569 Aug 18  2023 Dockerfile
drwxr-xr-x 4 root root 4096 Nov 24 15:45 mysql
drwxr-xr-x 2 root root 4096 Aug 19  2023 ssl
[root@converts ~]# 

# 2、开始压缩
[root@converts ~]# tar czvf mysql.tar.gz mysql
mysql/
mysql/backup/
mysql/backup/db_backup_2024-03-11T00:00:08Z.tgz
mysql/backup/db_backup_2024-03-02T00:00:21Z.tgz
mysql/backup/db_backup_2024-03-12T00:00:36Z.tgz
………………省略部分输出信息………………

# 3、 查看压缩后目录
[root@converts ~]# ll
total 73540
-rw-r--r-- 1 root root      569 Aug 18  2023 Dockerfile
drwxr-xr-x 4 root root     4096 Nov 24 15:45 mysql
-rw-r--r-- 1 root root 75288512 Mar 29 10:41 mysql.tar.gz
drwxr-xr-x 2 root root     4096 Aug 19  2023 ssl
[root@converts ~]#

3.2、tar 解压

例: 把步骤3.1压缩的 mysql.tar.gz 文件解压, 并且解压目录在/home

# 1、压缩前目录结构
[root@converts ~]# ll
total 73540
-rw-r--r-- 1 root root      569 Aug 18  2023 Dockerfile
drwxr-xr-x 4 root root     4096 Nov 24 15:45 mysql
-rw-r--r-- 1 root root 75288512 Mar 29 10:41 mysql.tar.gz
drwxr-xr-x 2 root root     4096 Aug 19  2023 ssl
[root@converts ~]# 

# 2、开始解压
[root@converts ~]# tar -zxvf mysql.tar.gz -C /home
mysql/
mysql/backup/
mysql/backup/db_backup_2024-03-11T00:00:08Z.tgz
mysql/backup/db_backup_2024-03-02T00:00:21Z.tgz
mysql/backup/db_backup_2024-03-12T00:00:36Z.tgz
mysql/backup/db_backup_2024-03-26T00:00:27Z.tgz
………………省略部分输出信息………………

# 3、查看解压后目录
[root@converts ~]# ll /home
total 8
drwxr-xr-x 4 root       root       4096 Nov 24 15:45 mysql
[root@converts ~]#

二、gzip:压缩和解压缩文件

gzip 命令来自英文单词gunzip的缩写,其功能是压缩和解压文件。gzip是一个使用广泛的压缩命令,文件经过压缩后一般会以.gz后缀结尾,与tar命令合用后即为.tar.gz后缀。 据统计,gzip命令对文本文件的压缩比率通常能达到60%~70%,压缩后可以很好地提升存储空间的使用率,还能够在网络中传输文件时减少等待时间。

1、gzip:语法格式

gzip [参数] [文件名]

2、gzip:常用参数

参数 描述 参数 描述 参数 描述 参数 描述
-a 使用ASCII文本模式 -n 不保存原来的文件名及时间戳 -c 把压缩后的文件输出到标准输出设备 -N 保存原来的文件名及时间戳
-d 解压指定的压缩包文件 -t 测试压缩包是否正确无误 -f 强行压缩文件而不询问 -q 静默执行模式
-h 显示帮助信息 -r 递归处理所有子文件 -k 保留原文件 -S 设置解压或压缩后文件的后缀名
-l 显示压缩包内的文件信息 -v 显示执行过程详细信息 -L 显示版权信息 -V 显示版本信息

3、gzip:参考事例

3.1、gzip 压缩

例:要将该文件夹下的mysql文件压缩成

# 1、压缩前目录结构
[root@converts ~]# ll
total 12
-rw-r--r-- 1 root root  569 Aug 18  2023 Dockerfile
drwxr-xr-x 4 root root 4096 Nov 24 15:45 mysql
drwxr-xr-x 2 root root 4096 Aug 19  2023 ssl
[root@converts ~]# 

# 2、开始压缩
[root@converts ~]# tar czvf mysql.tar.gz mysql
mysql/
mysql/backup/
mysql/backup/db_backup_2024-03-11T00:00:08Z.tgz
mysql/backup/db_backup_2024-03-02T00:00:21Z.tgz
mysql/backup/db_backup_2024-03-12T00:00:36Z.tgz
………………省略部分输出信息………………

# 3、 查看压缩后目录
[root@converts ~]# ll
total 73540
-rw-r--r-- 1 root root      569 Aug 18  2023 Dockerfile
drwxr-xr-x 4 root root     4096 Nov 24 15:45 mysql
-rw-r--r-- 1 root root 75288512 Mar 29 10:41 mysql.tar.gz
drwxr-xr-x 2 root root     4096 Aug 19  2023 ssl
[root@converts ~]#

3.2、gzip 解压

例:要将该文件夹下的mysql文件压缩成

# 1、压缩前目录结构
[root@converts ~]# ll
total 12
-rw-r--r-- 1 root root  569 Aug 18  2023 Dockerfile
drwxr-xr-x 4 root root 4096 Nov 24 15:45 mysql
drwxr-xr-x 2 root root 4096 Aug 19  2023 ssl
[root@converts ~]# 

# 2、开始压缩
[root@converts ~]# tar czvf mysql.tar.gz mysql
mysql/
mysql/backup/
mysql/backup/db_backup_2024-03-11T00:00:08Z.tgz
mysql/backup/db_backup_2024-03-02T00:00:21Z.tgz
mysql/backup/db_backup_2024-03-12T00:00:36Z.tgz
………………省略部分输出信息………………

# 3、 查看压缩后目录
[root@converts ~]# ll
total 73540
-rw-r--r-- 1 root root      569 Aug 18  2023 Dockerfile
drwxr-xr-x 4 root root     4096 Nov 24 15:45 mysql
-rw-r--r-- 1 root root 75288512 Mar 29 10:41 mysql.tar.gz
drwxr-xr-x 2 root root     4096 Aug 19  2023 ssl
[root@converts ~]#

三、zip/unzip:压缩和解压缩文件(ZIP格式)

zip 命令的功能是压缩文件,解压命令为 unzip。通过zip命令可以将文件打包成zip格式的压缩包,里面包含文件的名称、路径、创建时间、上次修改时间等信息(与tar命令相似)。

1、zip 压缩

1.1、zip:语法格式
zip    [参数] [目标文件名.zip] [源文件或目录名]
1.2、zip:常用参数
参数 描述 参数 描述 参数 描述 参数 描述
-A 自动解压缩文件 -n 不压缩具有特定字符串的文件 -b 设置暂存文件的目录 -q 静默执行模式
-c 添加注释信息到压缩文件 -r 递归处理所有子文件 -d 更新压缩包内文件 -S 包含系统和隐藏文件
-F 尝试修复损坏的压缩文件 -t 设置压缩时间为指定日期 -h 显示帮助信息 -T 检查压缩文件是否正确无误
-i 仅压缩符合条件的文件 -v 显示执行过程详细信息 -k 使用MS-DOS兼容格式 -V 保留VMS操作系统的文件属性
-l 将“LF”替换成“LF+CR”字符 -w 在文件名称中加入版本编号 -L 显示版本信息 -X 不保留过多的文件属性信息
-m 压缩后删除源文件 -y 直接保存符号链接,而不是对应文件
1.3、zip:参考事例
1.3.1、将指定目录及其包含的全部文件全部进行压缩
# 1、压缩前目录结构
[root@converts ~]# ll
total 73544
-rw-r--r-- 1 root root      569 Aug 18  2023 Dockerfile
drwxr-xr-x 2 root root     4096 Aug 19  2023 ssl

# 2、开始压缩
[root@converts ~]# zip -r home.zip /home
  adding: home/ (stored 0%)
  adding: home/lighthouse/ (stored 0%)
  adding: home/lighthouse/.bash_logout (stored 0%)
  adding: home/lighthouse/.bashrc (deflated 35%)
  adding: home/lighthouse/.bash_profile (deflated 20%)
[root@converts ~]# 

# 3、压缩后目录结构
[root@converts ~]# ll
total 73544
-rw-r--r-- 1 root root      569 Aug 18  2023 Dockerfile
-rw-r--r-- 1 root root     1240 Mar 29 11:20 home.zip
drwxr-xr-x 2 root root     4096 Aug 19  2023 ssl

2、unzip 解压缩

2.1、unzip:语法格式
unzip [参数] [压缩包名]
2.2、unzip:常用参数
参数 描述 参数 描述 参数 描述 参数 描述
-a 对文本进行必要的字符转换 -L 将压缩包内文件名改为小写 -b 不要对文本进行任何字符转换 -n 解压缩时不覆盖已有文件
-c 适当转换字符后输出解压缩结果 -p 使用密码加密 -C 严格区分大小写 -q 静默执行模式
-d 解压缩文件到指定目录中 -t 检查压缩包完整性 -f 强制覆盖已有文件 -v 显示执行过程详细信息
-j 不处理压缩文件中原有的目录路径 -x 跳过压缩包内的指定文件 -l 显示压缩包内文件列表 -z 显示压缩包内的备注文字
2.3、unzip:参考事例
2.3.1、解压文件
[root@converts ~]# unzip home.zip
Archive:  home.zip
   creating: home/
   creating: home/lighthouse/
 extracting: home/lighthouse/.bash_logout
  inflating: home/lighthouse/.bashrc
  inflating: home/lighthouse/.bash_profile
2.3.2、解压文件到指定目录
[root@converts ~]# unzip home.zip -d /root
Archive:  home.zip
   creating: /root/home/
   creating: /root/home/lighthouse/
 extracting: /root/home/lighthouse/.bash_logout
  inflating: /root/home/lighthouse/.bashrc
  inflating: /root/home/lighthouse/.bash_profile
展开/折叠菜单
111 预览数量 2024-03-28 09:37:11 发布 时间
目录
赞数量
评论数量
返回顶部
暂无评论

暂无评论