pushd和popd在linux中可以用來方便地在多個目錄之間切換,切換目錄雖然有一點複雜。在實際中,發現通過使用pushd和popd能夠極大地提高效率。
cd ~:表示返回當前用戶的默認目錄
cd -:表示回到之前的目錄
[cqs@centos7 share]$ pushd /boot/grub
/boot/grub /usr/share ~/data
[cqs@centos7 grub]$ dirs -v
0 /boot/grub
1 /usr/share
2 ~/data
[cqs@centos7 grub]$ cd -
/usr/share
[cqs@centos7 share]$ cd -
/boot/grub
[cqs@centos7 grub]$ cd -
/usr/share
一:dirs命令
顯示目錄棧的內容
常用參數:
-p
每行顯示一條記錄
-v
每行顯示一條記錄,同時展示該記錄在棧中的index
-c
清空目錄棧
二:pushd命令
pushd後面如果直接跟目錄使用,會切換到該目錄並且將該目錄置於目錄棧的棧頂。(時時刻刻都要記住,目錄棧的棧頂永遠存放的是當前目錄。如果當前目錄發生變化,那麼目錄棧的棧頂元素肯定也變了;反過來,如果棧頂元素髮生變化,那麼當前目錄肯定也變了。
pushd不帶任何參數。
將目錄棧最頂層的兩個目錄進行交換
[cqs@centos7 ~]$ dirs -v
0 ~
1 /usr/share
2 ~/data
[cqs@centos7 ~]$ pushd
/usr/share ~ ~/data
[cqs@centos7 share]$ dirs -v
0 /usr/share
1 ~
2 ~/data
備註:每次pushd命令執行完成之後,默認都會執行一個dirs命令來顯示目錄棧的內容
三:popd命令
將目錄棧中的棧頂元素出棧
popd不帶參數
將目錄棧中的棧頂元素出棧。這時,棧頂元素髮生變化,自然當前目錄也會發生相應的切換
popd +n
將目錄棧中的第n個元素刪除(這裏的n就是命令dirs -v顯示的目錄index,n從棧頂開始)
[cqs@centos7 share]$ dirs -v
0 /usr/share
1 ~
2 ~/data
[cqs@centos7 share]$ popd +1
/usr/share ~/data
[cqs@centos7 share]$ dirs -v
0 /usr/share
1 ~/data
popd –n
將目錄中第n個元素刪除(n從棧底開始)
[cqs@centos7 share]$ dirs -v
0 /usr/share
1 ~/data
[cqs@centos7 share]$ popd -1
~/data
[cqs@centos7 data]$ dirs -v
0 ~/data
pushd和popd的+n和-n區別
+n的含義是從棧頂往棧底方向進行計數,從0開始;
-n的含義剛好相反,從棧底向棧頂方向計數,從0開始。
Linux切換目錄pushd、popd、dirs命令
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.