11.3. 统计当前目录中的文件数量

要确定当前目录中有多少文件,请输入ls -1 | wc -l。 这使用wc来统计以下命令输出中的行数 (-l)ls -1。 它不计算点文件。 请注意,ls -l(这里是字母 “L”,而不是像前面例子中的数字 “1”)我在本 HOWTO 的早期版本中使用过这个命令,但它实际上会给出比实际数量多一个的文件计数。 感谢 Kam Nejad 指出这一点。

如果您只想统计文件,而不包括符号链接(这只是您可以做的其他事情的一个例子),您可以使用ls -l | grep -v ^l | wc -l(这次是字母 “L”,不是数字 “1”,这里我们需要“长”列表输出)。grep检查以字母 “l” 开头的任何行(表示链接),并丢弃该行 (-v)。

相对速度:“ls -1 /usr/bin/ | wc -l” 在一台未加载的 486SX25 机器上大约需要 1.03 秒(这台机器上的 /usr/bin/ 目录有 355 个文件)。 “ls -l /usr/bin/ | grep -v ^l | wc -l” 大约需要 1.19 秒。