回答:
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
。次に、/shortcut
代わりにcdと入力します。これの注意点は、ルートディレクトリ(またはリンクを配置したディレクトリ)がかなり一杯になることです。エイリアスが好きです。
ln -s /long/path/to/some/other/folder /shortcut
は、リンクを作成したい場所にショートカットを作成した別の方法で行ったときに起こるはずです。更新するために編集を送信しました。
/sl
でしょうか。たとえば、そこにショートカットを作成しますか?(つまりln -s /long/path/to/some/other/folder /sl/shortcut
、ルートに混乱がなく、プロンプトのパスがシンボリックリンクであることを視覚的に思い出させます。
私は常にbashインタラクティブ検索を使用する傾向があります。それを試してみてください。ctrl + rで呼び出して、パスの一部(somewhereなど)の入力を開始します。おそらく、cdコマンドがポップアップ表示されます。:)
もう1つできることは、問題のパスを環境変数に保存することです。これらの行を~/.profile
ファイルに追加します。
somedir=/user/something/somefolders/somewhere
export somedir
その後、次のコマンドでディレクトリにアクセスできます。
cd "$somedir"
alias
他の回答に記載された方法は、最も直接的なルートです。
別のオプションは、「学習するコマンド」として説明されるautojumpを試すcd
ことです。このLifeHacker投稿の詳細。