Linux脚本练习之统计文件大小之和
时间: 2024-01-14 15:04:44 浏览: 31
好的,这是一个很好的问题!要统计文件大小之和,我们可以使用以下脚本:
```shell
#!/bin/bash
# 统计文件大小之和的变量
total_size=0
# 循环遍历当前目录下的所有文件
for file in *
do
# 判断文件是否为普通文件
if [ -f "$file" ]
then
# 获取文件大小
file_size=$(du -b "$file" | awk '{print $1}')
# 统计文件大小之和
total_size=$((total_size + file_size))
fi
done
# 输出文件大小之和
echo "Total size of files in $(pwd): $total_size bytes"
```
这个脚本会遍历当前目录下的所有文件,判断是否为普通文件,如果是,就获取文件大小并统计文件大小之和。最后输出文件大小之和。
希望这个脚本对你有所帮助!
相关问题
linux shell脚本 读取文件查看文件大小
要查看文件的大小,您可以使用`ls -l` 命令。该命令将显示文件的详细信息,包括文件的大小、所有者、权限等。以下是一个例子:
```bash
#!/bin/bash
echo "Enter the file name:"
read filename
if [ -f $filename ]; then
ls -l $filename | awk '{print $5}'
else
echo "File not found"
fi
```
这个脚本会提示用户输入要查找的文件名,然后检查文件是否存在。如果存在,它使用 `ls -l` 命令来获取文件的详细信息,并使用 `awk` 命令提取文件大小并将其打印出来。如果文件不存在,则会输出错误信息。
shell脚本统计etc下文件的总大小
你可以使用以下脚本来统计 `/etc` 目录下文件的总大小:
```shell
#!/bin/bash
# 统计/etc目录下所有文件的大小(单位为字节)
total_size=$(du -cb /etc/* | awk 'END{print $1}')
# 转换为人类可读的格式
total_size_human=$(numfmt --to=iec-i --suffix=B $total_size)
echo "总大小为: $total_size_human"
```
将上述脚本保存为一个以 `.sh` 结尾的文件,然后运行该文件即可得到 `/etc` 目录下文件的总大小。脚本中使用了 `du` 命令来计算目录下文件的大小,并使用 `awk` 进行处理和提取。最后使用 `numfmt` 命令将字节转换为人类可读的格式,如 "1.23 GiB"。输出结果会显示总大小。