温馨提示×

centos extract怎么脚本

小樊
38
2026-10-06 00:17:26
栏目: 智能运维

你提到的 “centos extract” 一般是指在 CentOS 系统上写脚本去 解压 / 提取文件(如 tar、zip、gz 等)。下面给你几种常见场景的脚本示例。


一、解压 tar / tar.gz / tar.bz2(最常用)

1️⃣ 通用解压脚本(推荐)

#!/bin/bash

FILE=$1
DEST=${2:-./}

if [ ! -f "$FILE" ]; then
  echo "文件不存在: $FILE"
  exit 1
fi

case "$FILE" in
  *.tar)
    tar -xvf "$FILE" -C "$DEST"
    ;;
  *.tar.gz|*.tgz)
    tar -zxvf "$FILE" -C "$DEST"
    ;;
  *.tar.bz2)
    tar -jxvf "$FILE" -C "$DEST"
    ;;
  *.tar.xz)
    tar -Jxvf "$FILE" -C "$DEST"
    ;;
  *)
    echo "不支持的文件格式"
    exit 1
    ;;
esac

使用:

chmod +x extract.sh
./extract.sh test.tar.gz /data/

二、解压 zip 文件

2️⃣ zip 解压脚本

#!/bin/bash

FILE=$1
DEST=${2:-./}

if [ ! -f "$FILE" ]; then
  echo "文件不存在"
  exit 1
fi

unzip "$FILE" -d "$DEST"

需要安装:

yum install -y unzip

三、批量解压脚本(整个目录)

3️⃣ 批量解压 tar.gz

#!/bin/bash

SRC_DIR="/data/packages"
DEST_DIR="/data/extract"

mkdir -p "$DEST_DIR"

for f in "$SRC_DIR"/*.tar.gz; do
  echo "解压: $f"
  tar -zxvf "$f" -C "$DEST_DIR"
done

四、自动判断并解压(智能版)

#!/bin/bash

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" ;;
      *) echo "未知格式: $1" ;;
    esac
  else
    echo "文件不存在: $1"
  fi
}

extract "$1"

五、常见命令速查

tar -xvf file.tar
tar -zxvf file.tar.gz
tar -jxvf file.tar.bz2
unzip file.zip

如果你说的 “centos extract” 是别的意思(比如 extract 命令、rpm extract、ISO 提取、日志提取),告诉我具体场景,我可以给你更精确的脚本。

0 踩