获取 bash 中的可用文件 - 就像使用“tab”一样 - 但不扩展当前键入的命令

获取 bash 中的可用文件 - 就像使用“tab”一样 - 但不扩展当前键入的命令

当您在命令行中输入内容时,有没有办法获取目录中的文件列表?例如,您正在输入/var/log/,此时您希望获得文件列表,但不扩展当前输入的命令。

目的是解压缩一个具有相当长且复杂的文件名的文件,该文件位于几个其他文件之间,其中一些文件共享文件名的一部分。

我目前正在做的是在按 Tab 键展开命令后,删除回目录部分。 (然后双击并右键该文件将其复制到命令中,这样就可以了)

所以我想知道是否有一个我不知道的漂亮的 bash 按键。 :)

一个例子(不是实际问题,但类似):你开始输入

unzip /var/www/html/mybackups/

此时,您希望获得文件列表,以便您可以选择其中一个进行解压缩 - 但有 5-10 个文件 - 假设所有文件都以 开头Program-2020,然后是文件名中的某个月份和日期(不仅仅是每个月一个!),因此您在任何时候都无法确定确切的文件名是什么,但是一旦您看到可用文件名的列表,您就可以轻松地将其复制/粘贴到您的命令中。

问题是,由于没有太多文件,当你开始输入Prog然后点击时,你会得到类似命令行的Tab东西,加上下面的列表 - 现在你必须选出它是哪一个,试图识别数字Program-202006,尝试输入下一个正确的数字 - 有时根本不容易。 (这就是为什么我使用删除返回方法)

如果这是一个重复的问题,我深表歉意,但我找不到任何解决方案,甚至没有在任何地方出现相同的问题。

答案1

查看 bash 的手册页,在完成部分(搜索/^\s*Completing$)是键绑定和可能的键绑定的列表。

您正在寻找的关键是M-?(“可能的完成”)。那是Alt+ Shift+?Esc ?

相关内容