在 CentOS 里“批量 extract(解压)”通常指批量解压很多压缩包。下面按常见场景给你几种最实用的方法。
.tar.gzfor f in *.tar.gz; do
tar -xzf "$f"
done
.tar.bz2for f in *.tar.bz2; do
tar -xjf "$f"
done
.zipfor f in *.zip; do
unzip "$f"
done
for f in *; do
case "$f" in
*.tar.gz|*.tgz) tar -xzf "$f" ;;
*.tar.bz2) tar -xjf "$f" ;;
*.tar.xz) tar -xJf "$f" ;;
*.zip) unzip "$f" ;;
*.rar) unrar x "$f" ;;
esac
done
for f in *.tar.gz; do
d="${f%.tar.gz}"
mkdir -p "$d"
tar -xzf "$f" -C "$d"
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
parallel(超大量文件,速度快)parallel tar -xzf ::: *.tar.gz
(需安装:yum install parallel)
unzip: command not foundyum install -y unzip
✅ 上面示例都用 "$f",是安全的
如果你能说明:
我可以直接给你最合适的一条命令。