ウェブサイト検索

Linuxターミナルでタブ補完を使用する際に大文字小文字を無視する方法


Linuxのコマンドラインは大文字と小文字を区別します。コマンドラインでディレクトリを素早く変更したりリストしたりするためにタブ補完を使うときは、ディレクトリ名の大文字と小文字を一致させる必要があります。ただし、タブ補完を大文字と小文字を区別しないようにする方法があります。

タブ補完により、コマンドラインでディレクトリ名を入力するのが早くて簡単になります。プロンプトでディレクトリ名の最初の部分を入力し始め、Tabキーを押すと、残りのディレクトリ名が自動的に入力されます。例えば、Documentsディレクトリに変更するには、単にcd Docuと入力し始め、Tabキーを押します。それがオートコンプリートされます。

cd Documents/

この機能を大文字小文字を区別しないようにするには、Linuxの'.inputrc'ファイルに設定を追加します。このファイルは、コマンドライン(またはbashシェル)での特定の状況におけるキーボードマッピングを処理し、コマンドラインの動作をカスタマイズすることができます。この設定を追加するのは非常に簡単で、方法をお見せします。

2つの.inputrcファイルがあります: システムのすべてのユーザーに適用されるグローバルなものです。

/etc/.inputrc

)、および現在のユーザーのホームディレクトリ内のそのユーザーにのみ適用されるローカルなもの(

~/.inputrc

)。~ 文字はホームディレクトリを表し、たとえば /home/lori/ のようになります。ローカルの .inputrc ファイルはグローバルのものを上書きするため、ローカルファイルに追加した設定はグローバルファイルの内容に関係なく使用されます。この例では、ローカルアカウントに大文字小文字を区別しない設定を追加しますが、どちらの方法でもできます。

設定を .inputrc ファイルに追加するために、gedit というテキストエディタを使用します。Ctrl+Alt+T を押してターミナルを開きます。次に、ローカルの .inputrc ファイルを変更するには、プロンプトに次のコマンドを入力して Enter を押してください。

gksu gedit ~/.inputrc

グローバルな.inputrcファイルを変更したい場合は、代わりに次のコマンドを入力してください。

gksu gedit /etc/.inputrc

.inputrcファイルがない場合、このコマンドは自動的にホームディレクトリまたは/etcディレクトリにファイルを作成します。

ダイアログボックスが表示され、パスワードの入力を求められるので、アカウントにログインするために使用するパスワードを入力し、「OK」をクリックしてください。

.inputrcファイルは空でも問題ありません。タブ補完で大文字と小文字を区別しないようにするには、ファイルに以下の行を追加してください:

set completion-ignore-case on

「保存」をクリックしてください。

geditを閉じるには、左上隅の「X」ボタンをクリックしてください。

あなたが .inputrc ファイルに追加した設定は、現在のターミナルウィンドウのセッションには影響しません。変更が適用されるためには、ターミナルウィンドウを閉じて再度開く必要があります。したがって、プロンプトで exit と入力し、Enter を押すか、ウィンドウの左上隅にある「X」ボタンをクリックしてください。

注: 下に示すような警告が表示されることがありますが、それはファイルの操作には影響しません。

例えば、cd docuと入力してTabを押すと…

…タブ補完は、大文字小文字がディレクトリ名と一致しなくても機能します。

タブ補完のデフォルトの大文字と小文字を区別する設定に戻したい場合は、設定を追加したのと同じ .inputrc ファイルを開き、追加した行を削除してファイルを保存して閉じてください。.inputrc ファイルを変更した後は、ターミナルウィンドウを閉じて再度開くことを忘れないでください。

関連記事: