Linux 如何查看目录下文件数量

一、需求

   在查看GreenPlum 的pg_xlog时,很好奇想看一下master 和standby上/gpamdin/gpseg-1/的pg_xlog数量。顺便学习如何统计文件夹下目录的个数。

二、解决

在shell中运行

ls -l

Linux 如何查看目录下文件数量

在进行之前先讲解一个概念 : 管道命令。

形如 : “命令1 | 命令2”,其中命令2是管道命令

其操作的对象是一行一行的字符串,实际上就是一行一行的文本信息。其实很常用,在查看log时经常使用。

Linux 如何查看目录下文件数量

 

如果是文件的话,该行的字符串信息的第一个字符显示的是“-”,如果是目录的话,该行的字符的第一个显示的是"d",意即directory,找到这两者之间的区别,运行能够判别第一个字符的命令。用^匹配行首。$匹配行尾,notpad中给sql in时经常有这种操作。这属于正则表达式的范畴,这是一篇关于正则表达式在sql中的应用https://blog.csdn.net/MyySophia/article/details/86574680

在shell中键入 

ls -l|grep ^-

Linux 如何查看目录下文件数量

为了统计数量,引入统计命令wc

Linux 如何查看目录下文件数量

从图中可以看出,该文件夹下的目录数量和文件数量都已经出来了。

Linux 如何查看目录下文件数量补充

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

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

Note:这个命令很有用,可以统计出某个目录下有多少个文件,包括子文件。在copy前做一个宏观判断,不然就会像我一样。一次cp 300W个文件把机器卡死了。

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

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

为下一篇立下flg:  学习Linux文件系统,搞清楚inode 是啥含义

https://www.cnblogs.com/xiexj/p/7214502.html