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 文件名 直接解压,大大提高效率!💡
