在 CentOS 里并不存在一条叫 extract 的命令,你大概率是想问 如何解压(extract)各种压缩包。下面按常见格式给你一份速查表,基本覆盖 99% 的使用场景。
很多格式需要额外工具:
# 查看是否安装
rpm -qa | grep -E "unzip|tar|bzip2|xz|p7zip"
缺少时安装:
# CentOS 7
yum install -y unzip bzip2 xz p7zip p7zip-plugins
# CentOS 8 / Stream
dnf install -y unzip bzip2 xz p7zip p7zip-plugins
.tartar -xvf file.tar
.tar.gz / .tgztar -zxvf file.tar.gz
.tar.bz2tar -jxvf file.tar.bz2
.tar.xztar -Jxvf file.tar.xz
.zipunzip file.zip
指定解压目录:
unzip file.zip -d /data/
.gz(单文件)gunzip file.gz
# 或
gzip -d file.gz
.bz2bunzip2 file.bz2
.7z7za x file.7z
tar -zxvf file.tar.gz -C /data/
可以自己写一个别名或脚本:
alias extract='tar -xvf'
extract() {
if [ -f "$1" ]; then
case "$1" in
*.tar) tar -xvf "$1" ;;
*.tar.gz|*.tgz) tar -zxvf "$1" ;;
*.tar.bz2) tar -jxvf "$1" ;;
*.tar.xz) tar -Jxvf "$1" ;;
*.zip) unzip "$1" ;;
*.gz) gunzip "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.7z) 7za x "$1" ;;
*) echo "不支持的格式" ;;
esac
else
echo "文件不存在"
fi
}
写入:
~/.bashrc
生效:
source ~/.bashrc
使用:
extract test.tar.gz
如果你说的 “centos extract” 是指:
可以直接告诉我具体场景,我可以给你更精确的命令。