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


33

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

/ user / something / somefolders / somewhere

でもタイプしたくない

cd / user / something / somefolders / somewhere

常に端末で、そうするための短い手がありますか?たとえば、次のようなことができますか

cdコマンド

パスを置き換えるには?

回答:


32

CDPATHこれには環境変数を使用できます。Bashのmanページから:

CDPATH

cdコマンドの検索パス。これは、cdコマンドで指定された宛先ディレクトリをシェルが検索するディレクトリのコロン区切りのリストです。サンプル値は「。:〜:/ usr」です。

あなたの場合、設定できます

export CDPATH=.:/user/something/somefolders

~/.bashrc、入力cd somewhereすると移動します/user/something/somefolders/somewheresomewhere現在のディレクトリ内に名前の付いたディレクトリがないと仮定します)。

または、フォルダsomewhereを実際の名前で参照したくない場合は、/user/something/somefolders/somewhere使用する名前のシンボリックリンクを含む隠しディレクトリを作成できます。また、頻繁にアクセスする他のディレクトリへのリンクを含めることもできます。次にCDPATH、その隠しディレクトリへのパスを含めるように設定します。ノートがこの方法では、あなたの場合にcd somewhere、その後cd ..、あなたは隠されたディレクトリに羽目になるだろう。それはあなたにとって問題かもしれませんし、そうでないかもしれません。


41

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


ナイスワンジョン!
Gob00st

それln -s /long/path/to/some/other/folder /shortcutは、リンクを作成したい場所にショートカットを作成した別の方法で行ったときに起こるはずです。更新するために編集を送信しました。
エリアス

1
ルートにある短い名前のディレクトリはどう/slでしょうか。たとえば、そこにショートカットを作成しますか?(つまりln -s /long/path/to/some/other/folder /sl/shortcut、ルートに混乱がなく、プロンプトのパスがシンボリックリンクであることを視覚的に思い出させます。
RolfBly

14

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


9

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

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

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

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

その後、次のコマンドでディレクトリにアクセスできます。

cd "$somedir"

1
これは、どのコマンドにも変数を使用できるため、断然最良のソリューションです。エイリアスを割り当てた場合、そのエイリアスは常にcd ...などのコマンドに関連付けられます
BdN3504 14

これは私が存在したいと思っていたソリューションであり、探していました。BdN3504が述べている理由により。
インスピレーション

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.