📌  相关文章
📜  解压 linux 目录下的所有文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:27:56.146000             🧑  作者: Mango

解压 Linux 目录下的所有文件 - Shell-Bash

在 Linux 系统中,压缩文件是很常见的操作,而解压缩文件也是需要频繁执行的任务。本文将介绍如何使用 Shell-Bash 脚本来解压 Linux 目录下的所有文件。

代码实现

下面是 Shell-Bash 脚本代码,用来解压指定目录下的所有文件:

#!/bin/bash
# Get Current directory
current_path=$(pwd)

# Process all zip files in current folder
for file in *.zip
do
    # Extract the file into a folder with the same name as the zip file
    echo "Extracting $file"
    unzip -q "$current_path/$file" -d "${file%.zip}"
done

# Process all tar.gz files in current folder
for file in *.tar.gz
do
    # Extract the file into a folder with the same name as the tar.gz file
    echo "Extracting $file"
    tar -xzf "$current_path/$file" -C "${file%.tar.gz}"
done

# Process all tar.bz2 files in current folder
for file in *.tar.bz2
do
    # Extract the file into a folder with the same name as the tar.bz2 file
    echo "Extracting $file"
    tar -xjf "$current_path/$file" -C "${file%.tar.bz2}"
done

echo "Extraction complete"
代码说明
  1. 第一行声明使用 bash Shell。
  2. 获取当前目录路径的变量 current_path
  3. 第一个 for 循环处理所有 .zip 文件,使用 unzip 命令解压缩文件,将文件解压到与其同名的文件夹中。
  4. 第二个 for 循环处理所有 .tar.gz 文件,使用 tar -xzf 命令解压缩文件,将文件解压到与其同名的文件夹中。
  5. 第三个 for 循环处理所有 .tar.bz2 文件,使用 tar -xjf 命令解压缩文件,将文件解压到与其同名的文件夹中。
  6. 代码使用 echo 命令输出解压缩的文件名。
  7. 最后输出 Extraction complete,表示所有压缩文件都处理完成。
代码执行
  1. 将代码保存为 extract_all.sh
  2. 切换到需要解压缩的目录下。
  3. 执行 bash extract_all.sh
  4. 所有压缩文件都会被解压到与其同名的文件夹中。
总结

本文介绍了如何使用 Shell-Bash 脚本来解压 Linux 目录下的所有文件。这是一个简单而又实用的脚本,可以极大地提高工作效率。