【个人成长笔记】在Linux系统中常见压缩与解压文件及文件夹命令(亲测有效)
【个人成长笔记】在Linux系统中常见压缩与解压文件及文件夹命令(亲测有效)
在Linux/Windows中做项目,基本每天都有新问题!!!
 Linux 系统中的文件压缩与解压是日常操作的重要部分,掌握常用命令能显著提高效率。
(关注不迷路哈!!!)
文章目录
- 【个人成长笔记】在Linux系统中常见压缩与解压文件及文件夹命令(亲测有效)
 - 📦 核心压缩与解压命令汇总表
 - 💡 命令参数详解与常用技巧
 - 1. tar 命令参数
 - 2. 实用操作技巧
 
- ⚠️ 重要注意事项
 
📦 核心压缩与解压命令汇总表
下表汇总了 Linux 下常见压缩格式的对应命令,方便你快速查阅。
| 压缩格式 | 压缩命令(示例) | 解压命令(示例) | 关键特点 | 
|---|---|---|---|
| .tar (仅打包) | tar -cvf archive.tar /path/to/folder | tar -xvf archive.tar | 仅将多个文件/目录打包成一个文件,不压缩体积。 | 
| .tar.gz / .tgz | tar -czvf archive.tar.gz /path/to/folder | tar -xzvf archive.tar.gz | 最常用的格式,在打包基础上使用 gzip 压缩,平衡了压缩率和速度。 | 
| .tar.bz2 | tar -cjvf archive.tar.bz2 /path/to/folder | tar -xjvf archive.tar.bz2 | 使用 bzip2 压缩,通常比 gzip 压缩率更高,但速度更慢。 | 
| .tar.xz | tar -cJvf archive.tar.xz /path/to/folder | tar -xJvf archive.tar.xz | 使用 xz 压缩,压缩率通常最高,但速度也最慢。 | 
| .zip | zip -r archive.zip /path/to/folder | unzip archive.zip | 跨平台兼容性最好,可直接在 Windows 和 macOS 上使用。 | 
| .gz (仅压缩单个文件) | gzip filename | gunzip filename.gz 或 gzip -d filename.gz | 仅压缩单个文件,不适用于目录。压缩后默认会删除原文件。 | 
| .7z | 7z a archive.7z /path/to/folder | 7z x archive.7z | 高压缩率格式,通常需要安装 p7zip 软件包。 | 
| .rar | rar a archive.rar /path/to/folder | unrar x archive.rar | 高压缩率格式,通常需要安装 unrar 软件包。 | 
💡 命令参数详解与常用技巧
了解命令中的参数和技巧能让操作更得心应手。
1. tar 命令参数
tar 是 Linux 中最强大的归档工具,其参数含义如下:
-c:create,创建新的归档文件。-x: extract,从归档中解出文件。-z: 通过 gzip 过滤器进行压缩或解压(用于 .tar.gz)。-j: 通过 bzip2 过滤器进行压缩或解压(用于 .tar.bz2)。-J: 通过 xz 过滤器进行压缩或解压(用于 .tar.xz)。-v: verbose,处理过程中显示详细信息(建议始终使用,便于观察进度)。-f: file,指定归档文件名(此参数后必须紧跟文件名)。-C: 指定解压到的目标目录。例如,解压到/home/user/target:tar -xzvf file.tar.gz -C /home/user/target。
2. 实用操作技巧
-  
解压到指定目录:除了
tar的-C选项,unzip命令可以使用-d参数。例如:unzip archive.zip -d /path/to/destination。 -  
查看压缩包内容:不解压即可查看压缩包内有哪些文件。
- 对于 
.tar.gz等:tar -tzvf archive.tar.gz - 对于 
.zip:unzip -l archive.zip 
 - 对于 
 -  
保留原始文件:默认情况下,像
gzip或bzip2直接压缩单个文件时会删除原文件。使用-k(keep)选项可以保留它。例如:gzip -k filename或bzip2 -k filename。 -  
一键解压所有常见格式:可以创建一个简单的 Shell 脚本,自动识别文件格式并调用相应命令解压,非常方便:
#!/bin/bash if [ -z "$1" ]; thenecho "用法: $0 <压缩文件>"exit 1 fi case "$1" in*.tar) tar -xvf "$1" ;;*.tar.gz|*.tgz) tar -xzvf "$1" ;;*.tar.bz2) tar -xjvf "$1" ;;*.tar.xz) tar -xJvf "$1" ;;*.gz) gunzip "$1" ;;*.zip) unzip "$1" ;;*.7z) 7z x "$1" ;;*) echo "不支持的文件格式: $1" ;; esac将上述代码保存为
extract.sh,然后赋予执行权限chmod +x extract.sh。之后就可以使用./extract.sh 文件名来解压了。 
⚠️ 重要注意事项
- 工具安装:部分解压工具(如用于 
.rar的unrar和用于.7z的p7zip)可能未预装。在基于 Debian/Ubuntu 的系统上,可以使用sudo apt install unrar p7zip-full安装。 - 压缩格式选择: 
- 追求通用和效率:选择 
.tar.gz。 - 追求最高压缩率(不介意时间):选择 
.tar.xz。 - 与 Windows 用户交互:选择 
.zip。 
 - 追求通用和效率:选择 
 - 权限问题:解压文件时,你可能需要足够的权限才能写入目标目录。在命令前加 
sudo可以获取管理员权限,但需谨慎使用。 - 文件路径:使用绝对路径(如 
/home/user/documents)进行压缩时,解压也会创建完整的绝对路径结构。通常更推荐在要压缩内容的父目录下操作,使用相对路径。 
希望这份详细的指南能帮助你更好地掌握 Linux 下的压缩和解压操作!
