如何避免写完整的文件名

Ita*_*dev 6 shortcuts filenames

我想知道在 linux shell 中是否有办法输入文件名或目录名的第一个唯一部分,然后添加“~”或“...”并避免写入整个文件名。

例如,如果我必须cd到目录

example-program-source-0.11.229-dev
Run Code Online (Sandbox Code Playgroud)

而不是写作

cd example-program-source-0.11.229-dev
Run Code Online (Sandbox Code Playgroud)

只是为了写这样的东西

cd example-program...
Run Code Online (Sandbox Code Playgroud)

或者

cd example-program~
Run Code Online (Sandbox Code Playgroud)

我认为应该在 shell 中集成类似的东西,但我不知道要搜索什么。

Dar*_*oid 20

大多数 shell 支持所谓的“Tab Completion”。只需键入文件名的唯一部分,然后按您的Tab键即可。shell 应该为您自动完成文件名的其余部分。如果仍然有多个文件与您目前键入的内容相匹配,shell 将在您点击 时循环浏览匹配的文件Tab,或者在您双击 时打印所有匹配文件的列表Tab,具体取决于配置。默认情况下,当您点击Tab两次时,Bash 会打印一个列表。


Emi*_*röm 5

您可以*用作通配符:

cd example-program*
Run Code Online (Sandbox Code Playgroud)

请注意,这将扩展到与通配符匹配的所有文件。在您的情况下,您只能在只有一个以example-program. 如果有多个带有前缀的目录,该命令将有效地扩展为例如:

cd example-program-source-0.11.229-dev example-program-other example-program.txt
Run Code Online (Sandbox Code Playgroud)

如果您实际上想要处理多个文件,这会很有用,例如,如果您想显示.log文件夹中所有文件的内容:

cat *.log
Run Code Online (Sandbox Code Playgroud)