首先linux中的文件和文件夹的区别
- 使用ls -l查询类似得出,不能查询该文件夹下的子文件夹里面的内容
total 1060
drwxr-xr-x 5 ypp ypp 4096 1月 9 14:19 datasets(文件夹)
-rw-r--r-- 1 ypp ypp 636 1月 9 15:55 make_txt.py
-rw-r--r-- 1 ypp ypp 104081 1月 9 15:55 test.txt
-rw-r--r-- 1 ypp ypp 861270 1月 9 15:55 train.txt
-rw-r--r-- 1 ypp ypp 291 1月 9 15:55 tst.py
-rw-r--r-- 1 ypp ypp 100492 1月 9 15:55 val.txt
从中可以发现,观察上面红色字体
- 第一个字符为‘d'的是文件夹
- 第一个字符为’-‘的是文件
-
递归的查询出该文件夹下的所有文件和文件夹ls -lR
-
ls -lR | grep '^-'
递归的查询出该文件夹下面所有文件,这里其实是将文件和文件夹都查找出来了,只不过通过后面给过滤掉了
-
递归的统计该文件夹下面所有的文件数,后面的wc -l 是计数ls -lR | grep '^-' |wc -l
-
递归的统计该文件夹下面所有的文件夹数ls -lR | grep '^d' |wc -l