質問: pushdコマンドとpopdコマンドを使用するにはどうすればよいですか? これらの2つのコマンドをpushdおよびcd -よりも使用する利点がある場合、popdとcdの両方の実際的な用途は何ですか?[〜#〜] edit [〜#〜]:これらのコマンドの両方の実際的な使用例や、ディレクトリとスタックを保持する理由(タブ補完がある場合はcd -、cd ..を短縮するためのエイリアスなど)。
回答: cdとcd -を使用すると、最近使用した2つのディレクトリのみを切り替えることができます。 「ディレクトリワーキングセット」のサイズは2です。pushdを使用すると、作業セットに任意の数のディレクトリを保持できます。ほとんどの場合、pushdではなくcdを使用します。 pushd directory_nameを使用してアクティブディレクトリのスタックを構築したら、pushd ~#を使用して終日それらの間を移動できます。pushd dir1 pushd ../dir2 pushd /full/path/to/dir3 # there are now three directories in the stack. pushd ~3 pushd ~2 # the same three directories are still on the stack, # just in a different order. 私はめったにpopdを使用しません。そのディレクトリの使用が完了したことがわかっているときに、スタックからディレクトリを削除したい場合のみです。ディレクトリに移動し、スタックから削除します。popd ~2 現在のディレクトリにとどまり、スタックから別のディレクトリを削除します。popd +2 最終的には、複数のターミナルウィンドウまたはタブ(アクティブに作業しているディレクトリごとに1つ)を開くのと同じような作業スタイルになりますが、すべて1つのターミナルで行われます。これにより、画面の面積が節約されます。さらに、ディレクトリパスはすべて1つのシェルで使用できるため、次のようなことができます。 現在作業しているディレクトリ間でファイルをコピーする そこに行かずに別のディレクトリのファイルを表示または編集する 例:cp ~2/myfile.txt ~4 less ~2/myfile.txt tcsh(bashは不可)では、ディレクトリスタックをファイルに保存して、後で復元することもできます。セーブ:dirs -s ~/dirstack 戻す:dirs -l ~/dirstack それ以外の場合は、bashの例の~を=に置き換えて、tcshで使用します。pushd =2 popd =4 popd +1