web-dev-qa-db-ja.com

Linuxでパスを置き換えるショートカットを追加できますか?

たとえば、私はいつもこのパスに行きます:

/ user/something/somefolders/somewhere

入力したくない

cd/user/something/somefolders/somewhere

ターミナルでは常に、そうするための簡単な手助けがありますか?たとえば、次のようなことができますか

cdコマンド

パスを置き換えるには?

36
user28167

これには環境変数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 ..を実行すると、非表示のディレクトリが表示されます。それはあなたにとって問題かもしれませんし、そうでないかもしれません。

33
David Z

私がこのようなもののためにいつも使用する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と入力できます。これの注意点は、ルートディレクトリ(またはリンクを配置したディレクトリ)がすぐにいっぱいになることです。私はエイリアスを好みます。

44
John T

私はいつもbashインタラクティブ検索を使用する傾向があります。それを試してみてください。 ctrl + rで呼び出し、somewhereのようにパスの一部を入力し始めます。おそらくあなたのcdコマンドがポップアップします。 :)

14

もう1つの方法は、問題のパスを環境変数に格納することです。これらの行を~/.profileファイルに追加します。

somedir=/user/something/somefolders/somewhere
export somedir

次に、ディレクトリにアクセスできます

cd "$somedir"
10
terdon

「エイリアス」コマンドを見てください。

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と同じ順序で引数を取ります。

9
robert

他の回答で説明されているaliasメソッドが最も直接的なルートです。

もう1つのオプションは、「学習するcdコマンド」として説明されている autojump を試すことです。 このLifeHackerの投稿 の詳細説明。

1
Doug Harris