我有一个目录,其中包含许多 (.pdb) 文件 - 其中有 9917 个。我想数一下,以确保它们都在那里(下载说有 9917 个)。当我 cd 进入目录然后按两次 Tab 键时,终端会响应:
Display all 3197 possibilities? (y or no)
起初我以为下载有错误,但是当我尝试时:
find -maxdepth 1 -type f | wc -l
我看到9917的文件确实都在那里。我的问题是:为什么上限是3197?在我看来,这个数字并没有什么特别的。它不是最大的有符号整数(short、int 或 long)——事实上它需要 12 位来存储(并非全是 1)。如果该最大值相对容易更改(某处的某些设置),我也很想知道如何更改它。
如果重要的话,我使用的是 Ubuntu 14.04(但我怀疑这不是 Ubuntu 问题,尽管我认为最大值可能会因系统而异)。另外,我使用的 shell 是 bash。
答案1
当您在终端中按 Tab 键且不带其他参数时,您将完成路径中的条目,而不是当前目录。如果您想这样做,请尝试在前面添加另一个参数。
如果您查看 bash 的输出compgen -c
(它将列出您的 中的所有可执行文件$PATH
),您应该会发现它更符合您的期望:
compgen -c | wc -l