shell 实现判断目录下文件个数及大小
时间: 2024-04-14 18:26:00 浏览: 216
你可以使用Shell脚本来实现判断目录下文件的个数和总大小。下面是一个示例脚本:
```bash
#!/bin/bash
# 指定目录
directory="/path/to/directory"
# 统计文件个数
file_count=$(ls -A "$directory" | wc -l)
# 统计文件总大小
file_size=$(du -sh "$directory" | awk '{print $1}')
# 输出结果
echo "文件个数: $file_count"
echo "文件总大小: $file_size"
```
请将`/path/to/directory`替换为你要统计的目录的实际路径。运行脚本后,将会输出目录下文件的个数和总大小。
注意:该脚本仅统计目录下的文件数量和总大小,并不包括子目录。如果你需要统计子目录下的文件,可以使用`find`命令进行递归搜索并计算文件个数和大小。
相关问题
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中使用时,可能需要进行一些调整。
用shell编写程序、在家目录下创建一个test.txt,判断它是否是文件,是否是目录,判断它的读写执行权限,判断这个文件的大小是否为0,删除test.txt,判断test.txt是否存在。
好的,以下是针对您的问题的shell脚本:
```
#!/bin/bash
# 创建test.txt
touch ~/test.txt
# 判断test.txt是否是文件或目录,并输出对应信息
if [ -f ~/test.txt ]; then
echo "test.txt 是一个文件。"
elif [ -d ~/test.txt ]; then
echo "test.txt 是一个目录。"
else
echo "test.txt 不存在。"
fi
# 判断test.txt的读写执行权限,并输出对应信息
if [ -r ~/test.txt ]; then
echo "test.txt 可读。"
else
echo "test.txt 不可读。"
fi
if [ -w ~/test.txt ]; then
echo "test.txt 可写。"
else
echo "test.txt 不可写。"
fi
if [ -x ~/test.txt ]; then
echo "test.txt 可执行。"
else
echo "test.txt 不可执行。"
fi
# 判断test.txt的大小是否为0,并输出对应信息
if [ -s ~/test.txt ]; then
echo "test.txt 的大小不为0。"
else
echo "test.txt 的大小为0。"
fi
# 删除test.txt
rm ~/test.txt
# 判断test.txt是否存在,并输出对应信息
if [ -e ~/test.txt ]; then
echo "test.txt 存在。"
else
echo "test.txt 不存在。"
fi
```
注意,以上代码中的`~/test.txt`表示在当前用户的家目录下创建/操作文件。如果您希望在其他目录下创建/操作文件,请根据实际情况修改路径。
阅读全文