Linux下分别对每个目录单独打包

2024-10-18 14:02 栏目: 技术学堂 查看()

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


扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

郑重申明:宁波优景摄影以外的任何单位或个人,不得使用该案例作为工作成果展示!