コマンドラインからnレベルのディレクトリをどのように返しますか?

コマンドラインからnレベルのディレクトリをどのように返しますか?

たとえば、私は次のcdことを続けています。

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

今です。コマンドラインから起動したディレクトリに戻る/some_other/directoryことはできますか?/tmpGUIで戻るボタンを使用してディレクトリをナビゲートする方法と似ていますか?

cd -それは私を1つのレベルに戻した。

答え1

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

答え2

読むこの記事LinuxGazetteでcdいくつかの簡単なスクリプトを使用して履歴を追加する方法について説明します。使いやすいです。

もっと素敵に飾りたい場合autojump(Homeというプログラムがあります。ここ)訪問したディレクトリの記録を維持し、ショートカットを提供し、通常「スマート」をサポートしますcd

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

答え3

私は同じ問題を検索しており、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/

関連情報