Linux下分别对每个目录单独打包
1.新建 z.sh 文件,内容为:
#!/bin/bash
# 指定要处理的目录
base_dir="/www/wwwroot/www.nbvr.cn/360"
# 遍历目录并为每个子目录创建tar包
for dir in "$base_dir"/*; do
if [ -d "$dir" ]; then
dir_name=$(basename "$dir")
tar -czf "${dir_name}.tar.gz" -C "$base_dir" "$dir_name"
fi
done
2. 给予执行权限755:
chmod +x z.sh
3.如报错:/bin/bash^M: bad interpreter: No such file or directory
sed -i "s//" z.sh
用命令 cat -A z.sh 察看从显示结果可以判断,dos 格式的文件行尾为 ^M$,unix 格式的文件行尾为 $;,
4. 执行
./z.sh
5.多个压缩包分别解压到单独文件夹中,建立 u.sh
#!/bin/bash
# 循环遍历所有tar文件
for tarfile in *.tar.gz; do
# 创建一个与tar文件同名的文件夹
mkdir -p "${tarfile%.tar.gz}"
# 解压tar文件到创建的文件夹中
tar -xf "$tarfile"
done
6.同上操作,修改成755权限,cat察看文件结尾必须为 $; 运行 ./u.sh