在 CentOS 里如果你说的 extract 是指批量解压文件(比如 .tar.gz、.zip、.tar.xz 等),下面给你几种常见、实用的做法。
一、批量解压 .tar.gz 文件
for f in *.tar.gz; do
tar -xzf "$f"
done
如果你希望解压到单独目录:
for f in *.tar.gz; do
d="${f%.tar.gz}"
mkdir -p "$d"
tar -xzf "$f" -C "$d"
done
二、批量解压 .zip 文件
for f in *.zip; do
unzip "$f"
done
解压到单独目录:
for f in *.zip; do
d="${f%.zip}"
mkdir -p "$d"
unzip "$f" -d "$d"
done
三、批量解压多种格式(混合)
for f in *; do
case "$f" in
*.tar.gz) tar -xzf "$f" ;;
*.tgz) tar -xzf "$f" ;;
*.tar.xz) tar -xJf "$f" ;;
*.tar.bz2) tar -xjf "$f" ;;
*.zip) unzip "$f" ;;
esac
done
四、使用 find 批量解压(含子目录)
find . -name "*.tar.gz" -exec tar -xzf {} \;
子目录 + 单独目录解压:
find . -name "*.tar.gz" | while read f; do
d="${f%.tar.gz}"
mkdir -p "$d"
tar -xzf "$f" -C "$d"
done
五、常用解压命令速查
| 格式 | 命令 |
|---|---|
| .tar.gz / .tgz | tar -xzf |
| .tar.xz | tar -xJf |
| .tar.bz2 | tar -xjf |
| .zip | unzip |
如果你说的 “extract” 是指某个具体工具(如 extract 命令、脚本、软件),把用法或报错贴出来,我可以更精准帮你。