他のディレクトリから任意のディレクトリに直接移動する方法はありますか?


14

他のディレクトリから任意のディレクトリに直接移動する方法はありますか?たとえば、私はルートにいて、何もせずにcurrentProjectに直接行きたいと言うことができます:

cd dropbox/dev/currentProject



-root
  -dropbox
     -dev
        -currentProject

これを行う方法はありますか?

回答:


21

autojumpのようなものを使用できます。オートジャンプを使用すると、jコマンドを使用して頻繁にアクセスするディレクトリにすばやくジャンプできます。

たとえばcdcurrentProjectディレクトリに数回アクセスすると、次のようにジャンプできます。

j currentProject

ディレクトリ名の一部だけを使用することもできます。だからあなたができる:

j current

cdcurrentProject


8

いくつかの一般的なディレクトリを$ CDPATHに追加することもできます

export CDPATH=$HOME

これにより、たとえばcd、システムのどこからでもホームフォルダーの任意のディレクトリに移動できます。

もっと


7

これはあなたの質問に直接答えませんが、ディレクトリ間を頻繁にジャンプすることを正しく推測している場合、GNU Screenのようなターミナルマルチプレクサを使用して、異なるウィンドウを異なるウィンドウで開いたままにすることができます必要に応じてそれらを切り替えます。私は個人的にByobuを使用しています。これは画面の上部に機能を追加します。


1
tmuxも参照してください。
アニカバックストローム

5

bashプロファイルでエイリアスを設定できます。基本的には、コマンドを単語で短縮できます。currentProjectが実際に/ dropbox / dev / currentProjectを指すように設定できます


4

ホームディレクトリに行きたい場所へのシンボリックリンクを作成できます。

ln -s /dropbox/dev/currentProject ~/currentProject

この方法では、まだcdを使用していますが、完全なパスを覚えておく必要はありません。使用するだけ:

cd ~/currentProject

リンクの使用を停止したら、削除するだけです。

rm ~/currentProject

0

上記のWuffersが言ったように、これを行うことができるオートジャンプがあなたのためにやってくれます。以前にアクセスしたディレクトリのデータベースを保存し、j <a few letters in the directory path>そのディレクトリに移動するようなコマンドを使用できます。jc要件を満たす必要がある名前のオートジャンプ用の追加コマンドがあります。 jc現在の作業ディレクトリの以前にアクセスしたサブディレクトリにジャンプできます。そのため、自動ジャンプデータベースを削除するまで、このディレクトリを1回アクセスするだけで機能します。また、代わりに直接追加することもできますautojump --add DIR(おそらく、必要に応じてディレクトリツリーリストから追加リストを作成します)。


0

bashと* cshには、組み込みコマンド「pushd」と「popd」があり、これを使用してディレクトリをLast In First Outスタック(を使用pushd [directory])にプッシュし、「popd」を使用してスタックの最上位ディレクトリにすばやく変更できます。したがって、スタックのロード方法によっては、ディレクトリが適切に機能するために適切にディレクトリ間をすばやく移動できる場合があります。

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