Linux批量复制文件到多个文件夹并且解压的命令

 

通过下面的命令可以将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),你可以使用相应的解压命令(如unziptar

以下是一个示例脚本,它演示了如何将一个名为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"

闲谈

安娜的档案官网:全球最大的海盗图书馆

2024-9-2 10:29:16

闲谈

000webhost免费主机倒闭:免费主机最好的替代方案

2024-9-10 11:37:10

搜索