1、获取文件大小的方式
这里介绍几种获取文件大小的方式 命令有 ls 、du、wc 、stat 、awk,如下:
# 第1种
ls -l filename | awk '{print $5}'
xxx@yyy:~$ ls -l chsc_auto_update_packet.bin | awk '{print $5}'
81604
# 第2种
du -b filename | awk '{print $1}'
xxx@yyy:~$ du -b chsc_auto_update_packet.bin | awk '{print $1}'
81604
# 第3种
wc -c filename | awk '{print $1}'
xxx@yyy:~$ wc -c chsc_auto_update_packet.bin | awk '{print $1}'
81604
# 第4种
wc -c < filename
xxx@yyy:~$ wc -c < chsc_auto_update_packet.bin
81604
# 第5种
stat -c "%s" filename
xxx@yyy:~$ stat -c "%s" chsc_auto_update_packet.bin
81604
2、实例
这里介绍一个遍历某个路径下的所有文件计算每个文件的大小和sha256 数值并记录到文件当中保存。
#!/bin/bash
path=$1
files=$(ls $path)
touch record.txt
for filename in $files
do
info256=`sha256sum ./$path/$filename | awk 'NR==1{print $1}'`
filesize=`stat -c "%s" ./$path/$filename`
echo "$filename : $filesize : $info256"
echo "$filename : $filesize : $info256" >> record.txt
done