我想知道 linux shell 中是否有一種方法可以鍵入文件名或目錄名的第一個唯一部分,然後添加“~”或“...”並避免寫入整個文件名。
例如,如果我必須光碟到目錄
example-program-source-0.11.229-dev
而不是寫作
cd example-program-source-0.11.229-dev
只是為了寫這樣的東西
cd example-program...
或者
cd example-program~
我認為 shell 中應該有類似的東西,但我不知道到底要搜尋什麼。
答案1
大多數 shell 支援所謂的「Tab Completion」。只需鍵入檔案名稱的唯一部分,然後按您的Tab鍵即可。 shell 應該會自動為您補全檔案名稱的其餘部分。如果仍有多個文件與您到目前為止鍵入的內容相匹配,則 shell 會在您點擊 時循環顯示匹配文件Tab,或者在您雙擊 時列印所有匹配文件的列表Tab,具體取決於配置。預設情況下,當您點擊Tab兩次時,Bash 會列印一個清單。
答案2
您可以使用*
以下通配符:
cd example-program*
請注意,這將擴展到全部與通配符相符的檔案。在您的情況下,只有當只有一條以 . 開頭的路徑時,您才能使用它example-program
。如果有多個帶有前綴的目錄,則該命令將有效地擴展為例如:
cd example-program-source-0.11.229-dev example-program-other example-program.txt
如果您實際上這樣做,這可能很有用想處理多個文件,例如,如果您想顯示.log
資料夾中所有文件的內容:
cat *.log