たとえば、私はいつもこのパスに行きます:
/ user/something/somefolders/somewhere
入力したくない
cd/user/something/somefolders/somewhere
ターミナルでは常に、そうするための簡単な手助けがありますか?たとえば、次のようなことができますか
cdコマンド
パスを置き換えるには?
これには環境変数CDPATH
を使用できます。 Bashのmanページから:
[〜#〜] cdpath [〜#〜]
Cdコマンドの検索パス。これは、コロンで区切られたディレクトリのリストで、シェルはcdコマンドで指定された宛先ディレクトリを検索します。サンプル値は「。:〜:/ usr」です。
あなたの場合、あなたは設定することができます
export CDPATH=.:/user/something/somefolders
~/.bashrc
で、次にcd somewhere
と入力すると、/user/something/somefolders/somewhere
に移動します(somewhere
という名前のディレクトリが現在のディレクトリ内にない場合)。
または、フォルダsomewhere
を実際の名前で参照したくない場合は、/user/something/somefolders/somewhere
へのシンボリックリンクを含む非表示のディレクトリを作成し、使用する名前を付けることができます。また、頻繁にアクセスする他のディレクトリへのリンクを含めることもできます。次に、CDPATH
を設定して、その隠しディレクトリへのパスを含めます。ただし、この方法では、cd somewhere
を実行してからcd ..
を実行すると、非表示のディレクトリが表示されます。それはあなたにとって問題かもしれませんし、そうでないかもしれません。
私がこのようなもののためにいつも使用する2つのショートカット:
エイリアス
エイリアスsomedir = 'cd/home/john/www/something /'
次に、somedir
と入力して、そのディレクトリに移動できます。これらを.bashrc
に追加します。
シンボリックリンク
ln -s/long/path/to/some/other/folder/shortcut
これにより、/shortcut
にリンクする/long/path/to/some/other/folder
にファイルが作成されます。次に、代わりにcd /shortcut
と入力できます。これの注意点は、ルートディレクトリ(またはリンクを配置したディレクトリ)がすぐにいっぱいになることです。私はエイリアスを好みます。
私はいつもbashインタラクティブ検索を使用する傾向があります。それを試してみてください。 ctrl + rで呼び出し、somewhereのようにパスの一部を入力し始めます。おそらくあなたのcdコマンドがポップアップします。 :)
もう1つの方法は、問題のパスを環境変数に格納することです。これらの行を~/.profile
ファイルに追加します。
somedir=/user/something/somefolders/somewhere
export somedir
次に、ディレクトリにアクセスできます
cd "$somedir"
「エイリアス」コマンドを見てください。
Cshでは:
alias commandplace "cd /user/something/somefolders/somewhere"
Sh:
alias commandplace="cd /user/something/somefolders/somewhere"
しかし、私はシンボリックリンクソリューションが好きです:
ln -s /user/something/somefolders/somewhere ~/commandplace
注:lnは、cpと同じ順序で引数を取ります。
他の回答で説明されているalias
メソッドが最も直接的なルートです。
もう1つのオプションは、「学習するcd
コマンド」として説明されている autojump を試すことです。 このLifeHackerの投稿 の詳細説明。