Linux统计某天的文件数量,Linux统计目录或文件数量的方法总结

本文介绍了如何通过Linux终端的`ll`命令结合管道和`grep`来统计当前目录下文件和目录的数量。通过观察`ll`命令的输出,可以看出文件行以"-"开始,目录行以"d"开始。使用`grep`过滤以"-"开头的行可统计文件数,过滤以"d"开头的行可统计目录数。通过两次管道命令及`wc -l`统计行数,分别得到文件和目录的计数。若要包含子目录,可使用`ls -lR`。
摘要由CSDN通过智能技术生成

运行ll命令之后,可以看出,终端输出的结果是一行一行的字符,每一行字符对应一个目录或者是文件

[root@ecs-64a3 bak]# ll

total 8

-rw-r--r-- 1 root root 41 Feb 2 00:36 backup.txt

drwxr-xr-x 7 root root 86 Feb 12 00:00 dbbak

-rw-r--r-- 1 root root 1584 Feb 12 00:00 dbbak.log

-rw-r--r-- 1 root root 0 Feb 2 02:00 dbweb.log

drwxr-xr-x 2 root root 292 Feb 12 02:00 log

drwxr-xr-x 4 root root 46 Feb 1 23:59 manual

drwxr-xr-x 2 root root 50 Feb 2 00:43 sh

drwxr-xr-x 13 root root 204 Feb 12 02:00 webbak

管道命令的形式是“命令1 | 命令2”,其中命令2是管道命令,管道命令要操作的对象就是这样的一行一行的字符串,实际上就是一行一行的文本信息

管道命令可以是查找字符串的grep命令,也可以sort这样的排序命令,也可以是wc这样的统计命令,无论是查找还是排序,抑或是统计,他们操作的对象是一个命令输出的一行一行字符串

所以,如果运行ls -l会输出当前目录下的文件以及目录的信息。那么只要在当前目录下的输出结果中,统计出是文件的行的数目,就可以统计出当前目录下的文件个数

所以要找出命令ls -l输出的文件的信息与目录的信息的不同之处,不难看出,如果是文件的话,该行的字符串信息的第一个字符显示的是“-”,如果是目录的话,该行的字符的第一个显示的是”d”,意即directory,找到这两者之间的区别,运行能够判别第一个字符的命令,如下:ll | grep “^-“,用正则表达式就可以过滤出以“-”开头的文件

[root@ecs-64a3 bak]# ll | grep "^-"

-rw-r--r-- 1 root root 41 Feb 2 00:36 backup.txt

-rw-r--r-- 1 root root 1584 Feb 12 00:00 dbbak.log

-rw-r--r-- 1 root root 0 Feb 2 02:00 dbweb.log

95879e326db14f707e3897b6a68fd70b.png

即运行两次管道命令,即:ll | grep “^-” | wc -l

结果如下

[root@ecs-64a3 bak]# ll | grep "^-" | wc -l

3

[root@ecs-64a3 bak]# ll | grep "^d" | wc -l

5

补充:

统计目录下文件或者目录包括子文件或子目录的话只需要在命令中加“R”就好了,如下:

1.统计文件夹下文件个数,包括子文件

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

2.统计文件夹下目录个数,包括子目录

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值