Linux下如何对目录中的文件进行统计

Linux下如何对目录中的文件进行统计,第1张

在本文中,将展示几种查找 Linux 目录中的文件数量的不同方法。

统计目录中的文件数量

统计目录中文件的最简单方法是使用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、ls -l |grep "^-"|wc -l或find ./company -type f | wc -l

查看某文件夹下文件的个数,包括子文件夹里的。

2、ls -lR|grep "^-"|wc -l

查看某文件夹下文件夹的个数,包括子文件夹里的。

3、ls -lR|grep "^d"|wc -l

说明:

ls -l长列空橘表输出该目录下文件信息(注州亏源意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

grep "^-"

这里册态将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

wc -l

统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。可参考”Linux命令大全“了解命令

ulimit -a  查看系统文件打开数

查看所有进程的文件打开数

lsof |wc -l

指定查看某个进程打开的文件数

lsof -p pid |wc -l

修改Linux文件数和进程枝简数 

vim /etc/security/limits.conf

* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

*             代表针对所有用户   

noproc     是代表最大进程数   

nofile     是代表最大文件打开数

ulimit -a   

最大进程数

max user processes (-u) 4096

修改权限

vim /etc/搜雀security/limits.d/20-nproc.conf

*          soft    nproc    unlimited

root      soft    nproc   世搭早 unlimited


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12218658.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存