両方の実際の用途は何ですかpushd
?そして上記の2つのコマンドを使用すると、popd
どのような利点がありますか?cd
cd -
編集するcd -
:これら2つのコマンドの実際の使用例やディレクトリとともにスタックを維持する理由(タブの完成、短縮エイリアスcd ..
などがある場合)を探しています。
ベストアンサー1
pushd
、popd
とdirs
操作できるシェル組み込み関数です。ディレクトリスタック。ディレクトリを変更するために使用できますが、元のディレクトリに戻ります。
例えば
次のディレクトリから始めます。
$ pwd
/home/saml/somedir
$ ls
dir1 dir2 dir3
dir1にプッシュ
$ pushd dir1
~/somedir/dir1 ~/somedir
$ dirs
~/somedir/dir1 ~/somedir
dirs
このコマンドは、スタックに2つのディレクトリがあることを確認します。dir1
そして元のディレクトリであるsomedir
。 メモ:私たちの「現在の」ディレクトリはです~/somedir/dir1
。
../dir3にプッシュされる(dir1
今はその中にあるので)
$ pushd ../dir3
~/somedir/dir3 ~/somedir/dir1 ~/somedir
$ dirs
~/somedir/dir3 ~/somedir/dir1 ~/somedir
$ pwd
/home/saml/somedir/dir3
dirs
ディスプレイスタックには3つのディレクトリがあります。dir3
、、、dir1
そしてsomedir
。方向に注意してください。各新しいディレクトリが左側に追加されます。ディレクトリポップアップを開始すると、左側にも表示されます。
手動でディレクトリを次に変更します。../dir2
$ cd ../dir2
$ pwd
/home/saml/somedir/dir2
$ dirs
~/somedir/dir2 ~/somedir/dir1 ~/somedir
それでは目次ポップアップを始めましょう。
$ popd
~/somedir/dir1 ~/somedir
$ pwd
/home/saml/somedir/dir1
突然戻ってきましたdir1
。
再び人気があります...
$ popd
~/somedir
$ pwd
/home/saml/somedir
私たちは私たちが始めた場所に戻りましたsomedir
。
やや混乱するかもしれませんが、スタックのヘッドは現在存在するディレクトリです。somedir
したがって、再び戻ると、dirs
次のようになります。
$ dirs
~/somedir
私たちのスタックは実際には空です。
$ popd
bash: popd: directory stack empty