在 Debian(或一般 Linux)系统里,“extract”通常指解压各种压缩包。下面给你几种常见写法,从简单脚本到万能解压脚本。
#!/bin/bash
if [ $# -ne 1 ]; then
echo "用法: $0 文件名"
exit 1
fi
file="$1"
case "$file" in
*.tar) tar xf "$file" ;;
*.tar.gz) tar xzf "$file" ;;
*.tgz) tar xzf "$file" ;;
*.tar.bz2) tar xjf "$file" ;;
*.tar.xz) tar xJf "$file" ;;
*.gz) gunzip "$file" ;;
*.bz2) bunzip2 "$file" ;;
*.zip) unzip "$file" ;;
*.rar) unrar x "$file" ;;
*.7z) 7z x "$file" ;;
*)
echo "不支持的文件格式: $file"
exit 1
;;
esac
保存为 extract.sh:
chmod +x extract.sh
./extract.sh file.tar.gz
atool(一行搞定)Debian 可直接安装:
sudo apt install atool
使用:
aunpack file.tar.xz
写一个极简脚本:
#!/bin/bash
aunpack "$1"
extract() {
if [ -f "$1" ]; then
case "$1" in
*.tar.bz2) tar xjf "$1" ;;
*.tar.gz) tar xzf "$1" ;;
*.tar.xz) tar xJf "$1" ;;
*.tar) tar xf "$1" ;;
*.zip) unzip "$1" ;;
*.rar) unrar x "$1" ;;
*.7z) 7z x "$1" ;;
*) echo "无法解压: $1" ;;
esac
else
echo "文件不存在: $1"
fi
}
使用:
extract test.zip
sudo apt install tar gzip bzip2 xz-utils unzip unrar p7zip-full
.bashrc:extract 函数最方便如果你说的是 “Debian 源码包 extract(dpkg-source -x)” 或 ISO / deb 包解包,可以告诉我具体场景,我给你对应脚本。