Linux シェルで、ファイル名またはディレクトリ名の最初の一意の部分を入力し、その後に「~」または「...」を追加して、ファイル名全体を入力せずに済む方法があるかどうか知りたいです。
例えば、私がCDディレクトリへ
example-program-source-0.11.229-dev
書く代わりに
cd example-program-source-0.11.229-dev
そんなことを書いて
cd example-program...
または
cd example-program~
シェルにそのようなものが統合されているはずだと思うのですが、正確に何を検索すればよいのかわかりません。
答え1
ほとんどのシェルは、「タブ補完」と呼ばれる機能をサポートしています。ファイル名の一意の部分を入力して、Tabキーを押すだけです。シェルはファイル名の残りの部分を自動補完します。これまでに入力した内容に一致するファイルがまだ複数ある場合は、シェルは を押すと一致するファイルを順に表示するかTab、 を 2 回押すと一致するすべてのファイルのリストを出力します (Tab設定によって異なります)。Bash はデフォルトで、Tab2 回タップするとリストを出力します。
答え2
*
ワイルドカードとして以下を使用できます:
cd example-program*
これは次のように拡張されます。全てワイルドカードに一致するファイル。この場合、 で始まるパスが 1 つしかない場合にのみ使用できますexample-program
。 プレフィックスを持つディレクトリが複数ある場合、コマンドは次のように展開されます。
cd example-program-source-0.11.229-dev example-program-other example-program.txt
これは、実際に欲しい複数のファイルを操作するには、たとえば.log
フォルダー内のすべてのファイルの内容を表示する場合などです。
cat *.log