Linux 指令詳解 pushd 快速切換目錄
來源:程序員人生 發布時間:2015-03-14 09:32:00 閱讀次數:3035次
指令:pushd
在不同目錄間切換
在命令行模式中,當需要在不同目錄中不停的切換時會發現不停的輸入目錄很麻煩,這個時候就需要用上pushd函數了
pushd工作原理:
pushd將指定目錄壓入當前shell保護的目錄棧,從而可以實現多個不同路徑之間的切換.
Ps:默許情況下,pushd函數可能不包括在你的Linux中,但存在于red Hat和用Red Hat驅動的系統中。
語法:
# pushd [-n] [+N | -N | dir]
參數:
-n: 只將目錄加入到目錄棧中,不切換目錄
+N: 將第N個目錄移至棧頂(+ 表示從左或上邊(棧頂)數起,數字從0開始,棧頂表示為+0)
-N: 將第N個目錄移至棧頂(- 表示從右或下邊(棧底)數起,數字從0開始,棧底表示為-0)
dir:指定需要加入目錄棧的目錄,并同時切換到該目錄
Ps:
1、 不帶參數時pushd命令將交換目錄棧棧頂的兩個目錄(同等于cd -)
2、 如果加入目錄時沒有指定目錄名稱,則會將當前的工作目錄置入目錄棧的最頂端
3、 如果加入目錄時沒有指定目錄棧的位置,會置入目錄棧的最頂端
4、 最左側或上面表示棧頂,最右或最下面邊表示棧底
5、 目錄棧的第0個目錄(即棧頂目錄),始終是當前目錄
6、 最后1個被放入堆中的目錄在堆的最頂部
7、 當目錄棧為空時,目錄棧的棧底保存的是履行 pushd 命令時的工作目錄
8、 當加入pushd和1個路徑名時,將自動產生1個堆棧,內容是加入的目錄名和當前工作的目錄名
實例
現在有以下3個目錄需要常常的切換:/doiido/boy : /home/user : /etc/sshd
1:首先將3個目錄放入pushd棧中
# pushd /doiido/boy
/doiido/boy ~
# pushd /home/user
/home/user /doiido/boy ~
# pushd /etc/ssh
/etc/ssh /home/user /doiido/boy ~
2:查看棧中的內容
dirs命令是查看目錄棧中的內容
# dirs -v
0 /etc/ssh
1 /home/user
2 /doiido/boy
3 ~
3:切換
3.1:在/etc/ssh和/home/user之間相互切換
# pushd
3.2:切換到/doiido/boy目錄
# pushd +2
4:清空
# dirs -c
其他:
1、如果需要從目錄棧中刪除1個目錄,則使用popd。具體詳見popd使用方法
2、如果想查看目錄棧中目錄列表,則使用dirs。具體詳見dirs使用方法
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈