在日常服务器维护中,了解文件夹里的文件数目有助于我们更高效地管理文件,这里我写了一个简单统计相关数目地脚本,运行时只需修改目录参数即可:
#!/bin/bash
cd /etc &> /dev/dull
#以统计etc文件夹为例
if [ $? -eq 0 ];
then
file_number=$(ls -l|grep "^-"|wc -l)
dire_number=$(ls -l|grep "^d"|wc -l)
soft_number=$(ls -l|grep "^L"|wc -l)
hide_number=$(ls -a|grep "^\."|wc -l)
#.需要加转义符\
hide_file=$(ls -a|grep "^\."|grep -E '([0-9]|[a-z]|[A-Z]|_)')
exfile_number=$(ls -l|grep "^-"|grep -E '(rwx|r-x)'|wc -l)
declare -i hide=$hide_number-2
#统计时去除.和..
echo "该文件夹文件信息如下:"
echo "文件数为: $file_number"
echo "子文件夹数为:$dire_number"
echo "链接文件数为:$soft_number"
echo "隐藏文件或文件夹数为:$hide"
if [ $hide_number -gt 2 ];then
echo -e "具体隐藏的文件或文件夹如下:\n $hide_file"
fi
echo "可执行文件数为:$exfile_number"
else
echo "所查询的不是文件夹,请重试!"
fi