统计目录中的文件数量
统计目录中文件的最简单方法是使用ls每行列出一个文件,并将输出通过管道符传递给wc计算数量:
[root@localhost ~]# ls -1U /etc |wc -l
执行上面的 命令 将显示所有文件的总和,包括目录和符号链接。-1选项表示每行列出一个文件,-U告诉ls不对输出进行排序,这使 命令 的执行速度更快。ls -1U命令不计算隐藏文件。如果只想计算文件而不包括目录,请使用以下命令:
[root@localhost ~]# ls -1Up /etc |grep -v /|wc -l
-p选项强制ls将斜杠(/)指示符附加到目录。输出结果通过管道符传递到grep -v命令,排除包含斜杠的行,并计算数量。
为了更好地控制列出的文件,使用find命令而不是ls:
[root@localhost ~]# find /etc -maxdepth 1 -type f |wc -l
-type f选项告诉find仅列出文件(包括隐藏文件),-maxdepth 1将搜索限制到第一级目录。
递归统计目录中的文件
如果想要统计目录中的文件数量,并包括子目录中的,可以使用find命令:
[root@localhost ~]# find /etc -type f|wc -l
用来统计文件的另一个命令是tree,它以树状格式列出目录的内容:
[root@localhost ~]# yum -y install tree
[root@localhost ~]# tree /root
输出的内容底部会显示有多少目录,和多少文件。
总结
在本文中,将展示几种查找Linux目录中的文件数量的不同方法。
1 打开文件数各参数含义
参考 https://blog.csdn.net/xifeijian/article/details/9088137
查看某进程打开文件数
need-to-insert-img
2 统计文件所有进程文件数
lsof | awk '{print $2,$1}' | sort | uniq -c | sort -rn >>b.txt
need-to-insert-img
3 统计pid 进程打开的文件数
lsof -p pid
need-to-insert-img
4 统计pid 进程打开所有的文件数
lsof | awk "{print $NF}" | grep 10555 >product.txt
need-to-insert-img
5 分析pid 进程打开文件数连接 排序 和 统计
awk '{print $NF}' product.txt |sort |uniq -c |sort -nr >sort2.txt
need-to-insert-img
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)