假设我有一个包含文件的文件夹,其名称如下:
log_1.log
log_2.log
log_2.gz
我想在log_2.gz上执行一些操作,比如说移动。
在Windows cmd.exe中,我习惯执行以下步骤:
move
(没有别的)log_2.gz
destination
但是在bash shell中(在Mac OS X 10.8.3上的iTerm2中),我必须做这样的事情:
mv l
log_
并发出恼人的哔声2
log_2.
并发出恼人的哔声g
log_2.gz
并且令人满意地沉默destination
正如您所看到的,即使您知道目标文件名,bash也需要更多步骤,但想象一下您不确定文件名究竟是什么的情况(可能ls
太长了)。在经过一些 tab +输入之后,我经常发现自己处于这种情况,我被迫放弃命令,再次运行ls
,复制文件名,甚至可以运行pwd
来与文件夹连接,然后从我离开的地方继续。这非常烦人。
答案 0 :(得分:7)
您可以在.inputrc
(如果没有,然后创建)文件中添加以下内容。添加后,请获取文件或注销并重新登录。
set show-all-if-ambiguous on
set completion-ignore-case on
TAB: menu-complete