ファイルとフォルダのコマンドライン補完を実行する方法

ファイルとフォルダのコマンドライン補完を実行する方法

新しいLinuxユーザーとして私がコマンドライン(CL)を使用していない理由の1つは、関連する入力量のためにファイルやフォルダ(すべてのものなど)に関連する操作にCLを使用することが非効率的であることです。私は個人的に冗長なファイル名を使用することを好みます。たとえば、William BoyceとRichard DiPrimaが書いた第9版の「小微分方程式と境界値の問題」という本がある場合は、次のように名前を付けます。

elementary_differentail_equations_and_boundary_value_problems_9ed_boyce_diprima.pdf

それで、CLの使い方を学ぼうと努力しながら、この問題を克服する方法を探し、コマンドラインの完成Tab鍵を使用してください。問題は、単語補完を実行しますが、ファイルやフォルダではないコマンドに対してのみ実行されることです。ファイルにも同様の機能があるかどうか疑問に思います。

答え1

私はを使用し、bashファイルtab名の完成も発生します。

ただし、特定の例では、長いファイル名、ディレクトリに同じプレフィックスを持つファイルがたくさんある場合たくさん tabこのファイルにアクセスするにはsが必要です!

私が使っていたコードベースでも同様の問題があり、私が自分で作った解決策は、最初のalias文字だけを提供する+ Perlスクリプトの組み合わせを使用することでした。性格ファイル名に。例えば、

$ ls
elementary_differentail_equations.pdf # 1
elementary_differentail_equations_and_boundary_value_problems.pdf # 2
elementary_differentail_equations_and_boundary_value_problems_9ed_boyce_diprima.pdf # 3

$ opdf e d e                      # opens 1
$ opdf e d e a b v p              # opens 2
$ opdf e d e a b v p 9 b d        # opens 3

拡張opdfのみを探すエイリアスはどこにありますか?.pdf

答え2

Bashを使用するときに混乱する可能性がある完成の2つの側面と、キーを介して完成を実行する機能がTabあります。

プロンプトで文字を入力してをクリックし始めると、説明したTab動作がわかります。

はい

$エルTab

el4-rpmlint  el5-rpmlint  elbadmin     elfedit      elif    elinks    else

これはシステムを検索し$PATH、検索基準に一致する実行可能ファイルを表示しますel

ただし、以下のファイルディレクトリがある場合は、Tab次のように同じ補完機能を使用できます。

サンプルファイル:

$ ls -1
efile.pdf
elementary_differentail_equations_and_boundary_value_problems_9ed_boyce_diprima.pdf
elements1.pdf

はい

これを行う:

$ls エルTab

Bashは自動的に単語を完成させますelement。この時点では、現在のディレクトリのファイルセット(または単一のファイル)で通常見られる最大の文字列であるため、停止します。今ダブルクリックすると、TabBashはこれまでの一致ファイルを一覧表示します。

$ls 要素elementary_ TabTab Differentail_equations_and_boundary_value_problems_9ed_boyce_diprima.pdf elements1.pdf

$ls 要素

その後、プロンプトの同じ位置に戻ります。ls element*その瞬間、Bashは基本的にあなたのために何かをします。 Bashが提供するサブセットで目的のファイルを見つけるように指示するために、1つまたは2つの文字を入力してTabもう一度押すと、現在のプロンプト文字列に表示されている拡張文字とより多くのファイルを一致させようとします。似合う:

$ls 要素Tab

残りのファイル名を取得すれば十分です。

$ls Primary_ Differentail_equations_and_boundary_value_problems_9ed_boyce_diprima.pdf

答え3

実際に達成したいことが何であるかを詳しく尋ねるもう1つの方法は、入力を減らすことです。

また、良いエイリアスは、長いフォルダ名という両方の世界の利点を提供することがわかります。私は長いフォルダ名と短い入力名が好きです。たとえば、エイリアスでこれを達成します。

alias zab='cd ~/mycar/activerecord-boolean-converter'
alias q='cd ~/Dropbox/95_2014/work/code/ruby__rails/ruby/ruby_quiz'
alias dummy='cd ~/zipcar/zipcar-rails-core/spec/dummy'

次に、たとえば入力qします。return

関連情報