温馨提示×

怎样批量centos extract

小樊
38
2026-10-03 02:34:25
栏目: 智能运维

在 CentOS 里“批量 extract(解压)”通常指批量解压很多压缩包。下面按常见场景给你几种最实用的方法。


一、批量解压同类型压缩包

1️⃣ 批量解压 .tar.gz

for f in *.tar.gz; do
  tar -xzf "$f"
done

2️⃣ 批量解压 .tar.bz2

for f in *.tar.bz2; do
  tar -xjf "$f"
done

3️⃣ 批量解压 .zip

for 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 found

yum install -y unzip

❓ 文件名有空格

✅ 上面示例都用 "$f",是安全的


如果你能说明:

  • 压缩包类型(tar.gz / zip / rar)
  • 是否要解压到子目录
  • 是否在子目录中递归

我可以直接给你最合适的一条命令。

0 踩