通过下面的命令可以将web.tar.gz复制到wwwroot下面所有文件夹并且解压之后再删除
find /www/wwwroot -mindepth 1 -maxdepth 1 -type d -exec cp web.tar.gz {} \;
find /www/wwwroot -mindepth 2 -maxdepth 2 -type d -exec unzip -o {}/web.tar.gz -d {} \;
find /www/wwwroot -name ‘web.tar.gz’ -type f -delete
find /www/wwwroot -name ‘*.tar.gz’ -exec sh -c ‘unzip -o “{}” -d “$(dirname “{}”)” && rm -f “{}”‘ \;
find /www/wwwroot -name ‘*.tar.gz’ -exec sh -c ‘tar -zxvf “{}” -C “$(dirname “{}”)” && rm -f “{}”‘ \;
在Linux中,你可以使用cp
命令来复制文件,结合循环(如for
循环)来将文件复制到多个文件夹中。如果你需要解压这些文件,并且它们是压缩文件(例如.zip
或.tar.gz
),你可以使用相应的解压命令(如unzip
或tar
)。
以下是一个示例脚本,它演示了如何将一个名为example.zip
的压缩文件复制到多个目录并解压:
#!/bin/bash
# 定义要复制到的目录列表
directories=(
“/path/to/directory1”
“/path/to/directory2”
“/path/to/directory3″
)
# 要复制和解压的文件名
filename=”example.zip”
# 遍历目录列表
for dir in “${directories[@]}”; do
# 复制文件到目标目录
cp “$filename” “$dir”
# 切换到目标目录
cd “$dir”
# 解压文件
unzip “$filename”
# 如果你想删除已解压的压缩文件
# rm “$filename”
# 返回上一级目录
cd ..
done
确保你有执行权限来运行这个脚本。你可以通过运行chmod +x scriptname.sh
来给予脚本执行权限,然后通过./scriptname.sh
来执行它。
请注意,这个脚本假设你的压缩文件是.zip
格式的。如果你的文件是其他格式,比如.tar.gz
,你需要相应地更改解压命令。例如,对于.tar.gz
文件,你可以使用tar -xzvf "$filename"
来替换unzip "$filename"
。