如何统计/etc目录下的配置文件及含链接文件的所有文件数量
搞定/etc目录的两个统计任务
嘿,我来帮你解决这两个统计需求,先纠正下你之前命令的小问题,再给你靠谱的解决方案:
一、统计/etc目录下以.conf结尾的配置文件数量
你之前用的ls -l /etc | grep ?conf | wc -l有个小bug:?是正则里的单个任意字符匹配符,这会把比如xconf这种不是.conf结尾的文件也误匹配到。这里给你两种更准确的方法:
方法1:用
grep精准匹配.conf结尾ls -l /etc | grep '\.conf$' | wc -l这里
\.是转义了点号(因为点在正则里默认匹配任意字符),$表示行尾,确保只抓以.conf结尾的文件行。方法2:用
find更靠谱(避免文件名含空格时ls输出的格式干扰)find /etc -maxdepth 1 -type f -name "*.conf" | wc -l-maxdepth 1限制只查/etc本身,不深入子目录;-type f指定只统计普通文件;-name "*.conf"精准匹配文件名后缀。
二、统计/etc目录下包含链接文件在内的所有文件数量
这里分两种场景,你可以按需选择:
场景1:只统计非目录类型的文件(含普通文件、符号链接、设备文件等)
如果要排除目录,只算真正的“文件”(包括链接),用这个命令:
find /etc -maxdepth 1 -type f -o -type l | wc -l
-type l专门匹配符号链接,-o是逻辑或,把普通文件和链接文件都包含进来。
场景2:统计/etc下所有条目(含目录、文件、链接,排除.和..)
如果要算/etc目录下的所有内容(不管是文件还是目录,只要不是.和..),用这个更简单的命令:
ls -A /etc | wc -l
ls -A会显示所有可见和隐藏的条目,自动排除.和..这两个特殊目录,统计结果更准确。
内容的提问来源于stack exchange,提问作者Jigme Wangdi
相关产品推荐
相关产品推荐

