web-dev-qa-db-ja.com

コマンドラインからnレベルのディレクトリに戻る方法は?

たとえば、次のcdsを続けて実行します-

cd /tmp
cd /home/admin
cd /root/
cd /some_other/directory

今私は/some_other/directoryにいます。さて、コマンドラインから/tmp、私が始めたディレクトリに戻る方法はありますか? GUIの戻るボタンを使用してディレクトリをナビゲートするのと同じように?

cd -を使用すると、1レベル戻ります。

7
Pavan Manjunath

これはシェル固有です。純粋なPOSIXシェルでは、cd/tmpをもう一度入力しないとできません。 csh、tcsh、bash、またはzshでは、pushdの代わりにcdを使用してディレクトリを変更し、次にpopd +1は、スタックにプッシュした最初のディレクトリにcdします。

6
jordanm

いくつかの簡単なスクリプトを使用してcdに履歴を追加する方法について、LinuxGazetteから この記事 を読んでください。かなり使いやすいです。

あなたが空想になりたいなら、autojump(ホームページ ここ )と呼ばれるプログラムがあります。これは訪問したディレクトリの履歴を保持し、ショートカットを提供し、一般的に「インテリジェント」cd

自動ジャンプは、ファイルシステムをナビゲートするためのより高速な方法です。これは、コマンドラインから最もよく使用するディレクトリのデータベースを維持することによって機能します。 jumpstatコマンドは、データベースの現在の内容を表示します。データベースが使用可能になる前に、少し作業する必要があります。データベースが適度に完成したら、次のように入力して、一般的に「cd」されたディレクトリに「ジャンプ」できます。j dirspec

4
January

私は同じ問題を探していて、nディレクトリを元に戻すための回避策/ショートカットの下に出くわしました。

Bashシェルを使用している場合は、bash_profileに以下を追加するだけです。他のシェルの場合は、構文に従って使用してください。

    alias ..="cd .."
    alias ..2="cd ../.."
    alias ..3="cd ../../.."
    alias ..4="cd ../../../.."
    alias ..5="cd ../../../../.."

    # cd /tmp/very/long/directory/structure/that/is/too/deep
    #..4
    [Note: use ..4 to go up 4 directory level]
    # pwd
    /tmp/very/long/directory/structure/

ドットの後に数字を続ける代わりに、ドットだけを使用することもできます。詳細な説明は、以下のリンクにあります。

ソース: http://www.thegeekstuff.com/2008/10/6-awesome-linux-cd-command-hacks-productivity-tip3-for-geeks/

1
MVSR