统计所有子目录unix中的目录和文件总数

Count total directories and files in all sub directories unix

我正在尝试获取 Unix 目录中所有子目录中的子目录和所有文件总数。我试过这个:

ls -lR | grep ^d | wc -l

但这只是给我所有的子目录,而不是所有的文件。我将如何修改它或者有没有办法从一个命令中找出两个数字?或者我应该把它分成两部分?

因为文件可能包含换行符或空格等,最好的方法是使用 find 但不是让它打印文件名,而是打印 . 或类似的找到的每个文件。该解决方案看起来像

find . -type d -or -type f -printf '.' | wc -c

将从当前目录开始搜索任何 -type d-type f 目录或文件。对于每个它会打印 . 然后我们计算打印的字符数。