Linux/Mac的目錄切換

文章作者:Tyan
博客:noahsnail.com | CSDN | 簡書

無論是Mac還是Linux,其實都一樣,在終端下經(jīng)常都需要進行目錄的切換,但每次都用cd命令有點太繁瑣了,特別是在目錄很長,文件夾名字很長的情況下。本文主要是對終端下的一些目錄切換名字的總結(jié)。

1. 兩個目錄之間的切換

-代表的是前一個目錄,如果只在兩個目錄中切換,這個命令就夠了,-等價于$OLDPWD$OLDPWD也是前一個目錄。其目錄切換的形式如下:

$ cd ~/MyEclipse/
$ cd -
/Users/***/Hexo
$ cd -
/Users/***/MyEclipse
$ cd -
/Users/***/Hexo
$  cd -
/Users/***/MyEclipse

2. 多個目錄之間的切換

多個目錄的切換要用到pushd,popd,dirs命令,下面是三個命令的解釋:

  • dirs:顯示目錄棧

  • pushd:將目錄壓入目錄棧,并切換目錄(虛擬堆棧)

  • popd:將目錄彈出目錄棧,并切換目錄(虛擬堆棧)

多余的話不說,直接上例子更直觀:

# pushd會將參數(shù)目錄和當(dāng)前目錄壓入目錄棧(虛擬堆棧)中,并跳轉(zhuǎn)到參數(shù)目錄,壓入目錄棧是按順序壓入的,~是當(dāng)前用戶的根目錄
$ pushd Hexo
~/Hexo ~
$ pwd
/Users/***/Hexo

# pushd不加參數(shù),回到前一個目錄,并將當(dāng)前目錄壓入目錄棧中
$ pushd
~ ~/Hexo
$ pwd
/Users/***


# dirs查看目錄棧中的目錄
$ dirs
~/Hexo ~

# dirs -v顯示目錄的編號,并將目錄按行排列,0代表新壓入目錄棧的目錄
$ dirs -v
 0  ~/Hexo
 1  ~


# 壓入一個新的目錄到目錄棧
$ pushd MyEclipse/
~/MyEclipse ~ ~/Hexo
$ pwd
/Users/***/MyEclipse


# dirs -p是按行顯示目錄棧中的目錄
$ dirs -p
~/MyEclipse
~
~/Hexo

# popd是將棧頂?shù)哪夸洀棾?,即編號?的目錄,并將目錄切換到目錄彈出后的棧頂目錄
$ popd
~ ~/Hexo
$ pwd
/Users/***

$ popd
~/Hexo

# 如果棧中只有一個目錄,即當(dāng)前目錄,是不能使用popd的
$ popd
-bash: popd: directory stack empty

# 如果棧中只有一個目錄,是不能使用pushd的
$ pushd
-bash: pushd: no other directory


# dirs -c 清空目錄棧,只剩當(dāng)前目錄在目錄棧中
dirs -c



$ pushd MyEclipse/
~/MyEclipse ~

$ pushd ~/Hexo/
~/Hexo ~/MyEclipse ~

$ pushd ~/Practice/
~/Practice ~/Hexo ~/MyEclipse ~

$ dirs -v
 0  ~/Practice
 1  ~/Hexo
 2  ~/MyEclipse
 3  ~


# popd +n 彈出目錄棧中指定位置的目錄,并將目錄切換到棧頂目錄
$ popd +2
~/Practice ~/Hexo ~

$ dirs -v
 0  ~/Practice
 1  ~/Hexo
 2  ~

# push +n 將目錄切換到指定位置的目錄,并將其壓入目錄棧棧頂
$ pushd +2
~ ~/Practice ~/Hexo
$ dirs -v
 0  ~
 1  ~/Practice
 2  ~/Hexo

備注:如例子所示,如果只有兩個目錄的情況下,可以一直用pushd切換目錄。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容