一、tar:打包和解包文件
tar
命令的功能是压缩和解压缩文件,能够制作出Linux系统中常见的tar、tar.gz、tar.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
2
暂无评论