Linux 指令詳解 pushd 快速切換目錄

2021-06-28 22:30:03 字數 1424 閱讀 7908

指令: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、 最後乙個被放入堆中的目錄在堆的最頂部

7、 當目錄棧為空時,目錄棧的棧底儲存的是執行 pushd 命令時的工作目錄

8、 當加入pushd和乙個路徑名時,將自動產生乙個堆疊,內容是加入的目錄名和當前工作的目錄名

例項現在有如下三個目錄需要經常的切換:/doiido/boy : /home/user : /etc/sshd

1:首先將三個目錄放入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、如果需要從目錄棧中刪除乙個目錄,則使用popd。具體詳見popd使用方法

2、如果想檢視目錄棧中目錄列表,則使用dirs。具體詳見dirs使用方法

linux目錄切換pushd和popd

linux中關於目錄切換有兩個特別好用的命令pushd,popd.比cd便捷,而且特別適合在不同目錄下工作的情況 pushd push in directory,將目錄壓棧,最後乙個壓入的目錄位於棧頂 popd pop out directory,將目錄棧逐個彈出 例如 lana share stu...

Linux 指令詳解 chmod

指令名稱 chmod 使用許可權 所有使用者 使用方式 chmod cfvr help version mode file.說明 linux unix 的檔案呼叫許可權分為 檔案擁有者 群組 其他。利用 chmod 可以藉以控制檔案如何被他人所呼叫。引數 mode 許可權設定字串,格式如下 ugoa...

linux壓縮與解壓指令詳解

關於壓縮與解壓的指令,鳥哥的私房菜 中其實講的比較詳細了,我這裡只是在鳥哥的基礎上,提煉出一點內容,方便自己以後檢視,誰叫自己腦袋瓜子記性不好咧。常用的壓縮指令有 gzip bzip2和tar compress已經out了,也就不管了 gzip 建立的壓縮檔字尾名為.gz,zcat指令用來檢視字尾名...