Linux切換目錄pushd、popd、dirs命令

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開始。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章