选项卡完成仅适用于ls,但不适用于某些Linux机器上的其他命令

时间:2012-04-03 17:38:46

标签: linux bash

假设树结构(“树。”)如下:

.
|-- slurm-1438583.out
|-- slurm-1438584.out
|-- slurm-1438585.out
|-- slurm-1438586.out
`-- slurm-1438587.out
  • 输入ls s,然后按一次标签即可显示ls slurm-143858。按 选项卡两次将列出候选文件。

  • 键入ls s*,然后按两次Tab键将列出候选人 文件。

  • 输入rm s,然后按一次标签即可显示rm slurm-143858。按Tab键两次将列出候选文件。

  • 但是,键入rm s*,然后按Tab键两次将不会列出我们的两个Linux服务器中的候选文件。实际上,这个功能似乎只适用于这两台服务器上的ls。在其他群集/计算机中,每个bash命令似乎都存在此功能。

  • 奇怪的是,/bin/ls s*<tab><tab>什么都没有。但是,如果一个 运行alias kk='/bin/ls',然后kk s*<tab><tab>将提供文件。

  • 但是,/bin/rm s*<tab><tab>alias pp='/bin/rm' & pp s*<tab><tab>都没有提供任何内容。

    您能帮忙评论一下这个问题以及可能的解决方法吗?

我更喜欢rm s*

的原因

假设我要删除以slurm开头的文件:

  • 如果我使用rm s*,我只需要两个<tab>来查看要检查的候选文件。之后,我可以按<enter>删除。这是“s *”,总共4个字符。
  • 如果我使用rm s,我首先需要一个<tab>才能到达rm slurm-143858,然后需要两个<tab>来查看要检查的候选文件,但仍需要最后*,然后我可以按<enter>删除。那是“s *”,总共5个字符。

0 个答案:

没有答案