打包目录

tar -czvf my_directory.tar.gz my_directory/
tar -zcPf /tmp/xx.tar.gz -C /www/temp2/

解压

tar -xzvf my_directory.tar.gz -C /path/to/destination

压缩目录下所有文件夹 gall.zip

#!/bin/bash

# 检查当前目录下是否有子目录
if [ "$(ls -A)" = "" ]; then
    echo "当前目录为空。"
    exit 1
fi

# 遍历当前目录下的所有子目录
for dir in ./*/ ; do
    # 获取目录名,去除前导点和斜杠
    dir_name=$(basename "${dir%*/}")

    # 使用tar和gzip压缩当前子目录
    tar -czvf "$.tar.gz" "$"

    echo "压缩完成: $.tar.gz"
done

解压当前目录下所有*.tar.gz文件

#!/bin/bash

# 检查当前目录下是否有.tar.gz文件
if [ "$(ls *.tar.gz 2>/dev/null)" = "" ]; then
    echo "当前目录没有找到任何 .tar.gz 文件。"
    exit 1
fi

# 遍历当前目录下的所有 .tar.gz 文件
for tar_gz_file in *.tar.gz; do
    # 使用tar解压当前文件
    tar -xzvf "$tar_gz_file"

    echo "解压完成: $tar_gz_file"
done