Linux:查找目录和子目录中的文件数
时间:2020-02-23 14:39:35 来源:igfitidea点击:
有时我们想在Linux中查找目录中的文件数。
例如,查找theitroad WordPress上传目录中存在多少图像。
有多种方法可以做到这一点,让我们研究一些常见的情况以及查找目录中文件数量的最佳命令。
1.查找目录中的文件数
我们可以将ls命令和wc命令一起使用来计算目录中的文件数。
让我们计算一下主题根目录中的文件数。
# ls 404.php archive.php functions.php inc layouts phpcs.xml.dist screenshot.png single.php webpack LICENSE comments.php header.php index.php package-lock.json postcss.config.js search.php src woocommerce.css Plugins dist home.php js package.json readme.txt sidebar-left.php style.css README.md footer.php images languages page.php rtl.css sidebar.php template-parts # ls -1 | wc -l 34
Linux查找目录中的文件数
如果您查看图像,则蓝色项目是目录。
它们也作为文件包含在输出中。
如果我们只想计算文件而不是目录怎么办?
# ls -p | grep -v/| wc -l 24 #
" ls -p"命令在目录名的末尾带有" /"。
" grep -v /"命令过滤输出,仅输出不包含" /"的名称,因此省略了所有目录。
最后," wc -l"计算输出中的行并打印。
同样,如果只想在目录中查找目录数,请使用以下命令。
# ls -p | grep/| wc -l 10 #
注意:上面的命令不会查找隐藏文件,如果您希望计数也包括隐藏文件,请在ls命令中使用" -a"选项。
# ls -a1 | wc -l 41 #
该命令将计数为"."和" ..",因此如果需要,您将必须在shell脚本中考虑到这一点。
2.递归查找目录和子目录中的文件数
上面的示例很好地计算了目录中的文件和目录。
但是,如果您还要计算包括子目录在内的文件数,则必须使用find命令。
# find . -type f ./.test_file ./functions.php ./logger/class-logger-writter.php ./logger/class-logger-export.php ./logger/assets/js/base.js ./logger/assets/css/base.css ./logger/assets/css/base.less ./logger/assets/css/base.css.map ./logger/class-logger-reader.php ./class-protector.php ./class-anti-spam-plugin.php # find . -type f | wc -l 11 #
查找命令" -type f"选项用于查找常规文件。
此命令将忽略所有目录"."和" .."文件。
但是,它将在输出中包含隐藏文件。" wc -l"命令将对行的总数进行计数并打印出来,从而为我们提供了文件计数。