Linux统计文件夹下的文件数目
最近需要统计 Linux 系统中某个文件夹下的文件数目,而Linux 系统下有三个命令:ls、grep、wc。通过这三个命令的组合,可以实现上述要求!
统计当前目录下文件的个数(不包括目录)
$ ls -l | grep "^-" | wc -l
递归统计当前目录下文件的个数(包括子目录)
$ ls -lR| grep "^-" | wc -l
查看某目录下文件夹的个数(不包括子目录)
$ ls -l | grep "^d" | wc -l
递归查看某目录下文件夹的个数(包括子目录)
$ ls -lR | grep "^d" | wc -l
查看某目录下文件夹和文件的个数(不包括子目录)
$ ls -l | grep "^[-|d]" | wc -l
递归查看某目录下文件夹和文件的个数(包括子目录)
$ ls -lR | grep "^[-|d]" | wc -l
参数说明:
- ls -l:长列表输出该目录下文件信息,每一行对应一个文件或目录,ls -lR 是递归列出所有文件,包括子目录。
- grep "^-":过滤ls的输出信息,一般文件是"-"开头的,目录是"d"开头的。
- wc -l:统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。
值得注意的是:Linux文件是有类型的,我们统计的时候,通过正确的命令才能获得我们想要的结果。在Linux中可以使用以下命令查看文件类型。
ls -l path
在显示文件的属性通常会以如下形式进行显示:
drwxr-xr-x
- 第1个字母:代表文件类型
- 第2~4字母:代表用户的权限
- 第5~7字母:代表用户组的权限
- 第8~10字母:代表其他的用户的权限
在Linux常见的文件类型有7种,分别如下所示:
文件属性 | 文件类型 |
---|---|
- | 常规文件,即file |
d | 目录文件 |
b | block device 即块设备文件,如硬盘;支持以block为单位进行随机访问 |
c | character device 即字符设备文件,如键盘支持以character为单位进行线性访问 |
l | symbolic link 即符号链接文件,又称软链接文件 |
p | pipe 即命名管道文件 |
s | socket 即套接字文件,用于实现两个进程进行通信 |
以上信息灵活运用,可以正确帮助大家获得自己想要的统计结果!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!