Linux遍历文件夹下的sehll脚本执行
时间: 2024-01-04 08:04:32 浏览: 54
你可以使用以下命令遍历一个文件夹下的所有 shell 脚本并执行:
```
find /your/directory -type f -name "*.sh" -exec chmod +x {} \; -exec {} \;
```
这个命令会在 `/your/directory` 文件夹下查找所有的扩展名为 `.sh` 的文件,并将它们的权限设置为可执行。然后它会执行每个找到的脚本。
相关问题
linux 循环显示所有的sh.*文件.,利用shell脚本遍历文件夹内所有的文件并作整理统计的方法...
好的,让我来回答你的问题。
显示所有的sh.*文件可以使用以下命令:
```sh
ls sh.*
```
这会列出当前目录下所有以 "sh." 开头的文件。
至于遍历文件夹内所有的文件并作整理统计的方法,可以使用以下 shell 脚本:
```sh
#!/bin/bash
# 定义变量
file_count=0
dir_count=0
# 定义函数
function count_files() {
for file in $1/*; do
if [ -d "$file" ]; then
# 如果是目录,则递归调用函数
((dir_count++))
count_files "$file"
elif [ -f "$file" ]; then
# 如果是文件,则统计文件个数
((file_count++))
fi
done
}
# 调用函数
count_files "/path/to/folder"
# 输出结果
echo "文件夹内共有 $dir_count 个子目录,$file_count 个文件。"
```
这个脚本会遍历 /path/to/folder 文件夹内的所有文件和子目录,并统计文件和子目录的数量。你只需要将 /path/to/folder 替换为你想要统计的文件夹路径即可。
shell脚本实现查看指定目录下的所有文件或文件夹的大小
你可以使用以下的shell脚本来查看指定目录下所有文件或文件夹的大小:
```shell
#!/bin/bash
# 指定目录
directory="/path/to/directory"
# 遍历目录
for file in $directory/*; do
# 判断是否为文件或文件夹
if [ -f "$file" ] || [ -d "$file" ]; then
# 输出文件/文件夹名称和大小
echo "$file $(du -sh "$file" | cut -f1)"
fi
done
```
将上述脚本保存为一个.sh文件,然后将`/path/to/directory`替换为你想要查看的目录的路径。运行脚本后,它将逐个输出目录下的文件和文件夹名称以及它们的大小。
请注意,该脚本仅适用于Linux和类似的操作系统。在Windows中使用时,可能需要进行一些调整。