Linux 上常见的解压缩命令
文章目录
- Linux 上常见的解压缩命令
- 常见格式的解压方式
- 1. `.tar` 文件(只经过 `tar` 打包)
- 2. `.tar.gz` 或 `.tgz` 文件(`tar` + `gzip`)
- 3. `.tar.bz2` 文件(`tar` + `bzip2`)
- 4. `.tar.xz` 文件(`tar` + `xz`)
- 5. `.gz` 文件(只经过 `gzip` 压缩)
- 6. `.bz2` 文件(只经过 `bzip2` 压缩)
- 7. `.xz` 文件(只经过 `xz` 压缩)
- 8. `.zst` 文件(`zstd` 压缩文件)
- 9. `.lz4` 文件(`lz4` 压缩文件)
- 10. `.zip` 文件(`zip` 压缩文件)
- 11. `.rar` 文件(`rar` 压缩文件)
- 12. `.7z` 文件(`7zip` 压缩文件)
- 自动识别文件格式并解压
Linux 上常见的解压缩命令
在 Linux 系统中,常用的解压命令有很多,具体根据压缩文件的格式来选择。
常见格式的解压方式
1. .tar
文件(只经过 tar
打包)
tar -xvf file.tar
-
-x
:解压 -
-v
:显示过程(verbose,可选) -
-f
:指定文件名 -
-C
:指定解压到的目录 -
--strip-components
:从解压路径中去除指定数量的目录层级示例:
tar -xvf file.tar -C /path/to/directory/
2. .tar.gz
或 .tgz
文件(tar
+ gzip
)
tar -xzvf file.tar.gz
-z
:使用gzip
进行解压-C
:指定解压到的目录
示例:
tar -xzvf file.tar.gz -C /path/to/directory/
3. .tar.bz2
文件(tar
+ bzip2
)
tar -xjvf file.tar.bz2
-j
:使用bzip2
进行解压-C
:指定解压到的目录
示例:
tar -xjvf file.tar.bz2 -C /path/to/directory/
4. .tar.xz
文件(tar
+ xz
)
tar -xJvf file.tar.xz
-J
:使用xz
进行解压-C
:指定解压到的目录
示例:
tar -xJvf file.tar.xz -C /path/to/directory/
5. .gz
文件(只经过 gzip
压缩)
gunzip file.gz
或者
gzip -d file.gz
-c
:指定解压到的目录(需要重定向)
示例:
gunzip -c file.gz > /path/to/directory/file
注意:重定向是指将命令的输出结果保存到指定的文件或目录中。使用
>
符号可以将解压后的内容重定向到目标文件。
6. .bz2
文件(只经过 bzip2
压缩)
bunzip2 file.bz2
-c
:指定解压到的目录(需要重定向)
示例:
bunzip2 -c file.bz2 > /path/to/directory/file
7. .xz
文件(只经过 xz
压缩)
unxz file.xz
-c
:指定解压到的目录(需要重定向)
示例:
unxz -c file.xz > /path/to/directory/file
8. .zst
文件(zstd
压缩文件)
unzstd file.zst
或者
zstd -d file.zst
-o
:指定解压到的目录
示例:
unzstd file.zst -o /path/to/directory/file
9. .lz4
文件(lz4
压缩文件)
lz4 -d file.lz4
-o
:指定解压到的目录
示例:
lz4 -d file.lz4 -o /path/to/directory/file
10. .zip
文件(zip
压缩文件)
unzip file.zip
-d
:指定解压到的目录
示例:
unzip file.zip -d /path/to/directory/
如果没有 unzip
命令,首先需要安装:
sudo apt install unzip # Debian/Ubuntu 系统
11. .rar
文件(rar
压缩文件)
unrar x file.rar
-o+
:覆盖现有文件-o-
:不覆盖现有文件
示例:
unrar x file.rar /path/to/directory/
如果没有 unrar
命令,首先需要安装:
sudo apt install unrar # Debian/Ubuntu 系统
12. .7z
文件(7zip
压缩文件)
7z x file.7z
-o
:指定解压到的目录
示例:
7z x file.7z -o/path/to/directory/
如果没有 7z
命令,首先需要安装:
sudo apt install p7zip-full # Debian/Ubuntu 系统
上述的这些命令覆盖了大部分常见的压缩文件格式,选择对应的解压命令即可。
自动识别文件格式并解压
如果你经常需要处理压缩文件,可以考虑写一个简单的 Shell 脚本,让它自动识别文件格式并选择合适的解压命令,比如:
#!/bin/bash
if [ $# -ne 1 ]; then
echo "用法: $0 <压缩文件>"
exit 1
fi
file="$1"
case "$file" in
*.tar) tar -xvf "$file" ;;
*.tar.gz|*.tgz) tar -xzvf "$file" ;;
*.tar.bz2) tar -xjvf "$file" ;;
*.tar.xz) tar -xJvf "$file" ;;
*.gz) gunzip "$file" ;;
*.bz2) bunzip2 "$file" ;;
*.xz) unxz "$file" ;;
*.zst) unzstd "$file" ;;
*.lz4) lz4 -d "$file" ;;
*.zip) unzip "$file" ;;
*.rar) unrar x "$file" ;;
*.7z) 7z x "$file" ;;
*) echo "不支持的文件格式: $file" ;;
esac
保存为 extract.sh
,然后给它可执行权限:
chmod +x extract.sh
以后就可以用 ./extract.sh 文件名
直接解压,大大提高效率!💡