在Linux命令行下,咱們常常須要在一個目錄下執行某些操做在跳轉到另外的目錄下,也就是使用咱們熟悉的cd命令,基本上接觸過命令行的人,第一個認識的命令都是cd,瞭解cd命令會對咱們工做效率有個提升,可是你真的瞭解它嗎?bash
1、cd命令spa
格式:命令行
cd [選項] [參數]code
咱們經常使用的就是cd後面直接加參數,也就是目錄。 單其實參數和選項同樣都是可選的。class
cd ~ 和 cd (不加任何參數)都能直接切換到用戶的主目錄下面。效率
cd經常使用的選項只有-P變量
cd -P dir 若是dir是一個連接目錄,則會跳轉到dir指向的原目錄。配置
經常使用技巧:搜索
export CDPATH=.:~/dvp:~/workspace
這樣的話cd不只在當前目錄搜索,也會在~/dvp和~/workspace目錄下搜索。若是不配置 .(當前目錄),系統會自動添加到CDPAHT 的結尾,也就是說若是當前目錄和~/dvp都有這個文件夾,會優先進入~/dvp目錄下的文件夾。技巧
2. cd -
切換到上次所在目錄
2、pushd和popd命令
cd 命令的侷限在於,若是須要在多個固定的文件夾之間來回跳轉,cd命令就顯得費事起來。兩個文件夾之間能夠用cd -,可是超過兩個,咱們就能夠用pushd和popd命令。
pushd就是將一個目錄壓入一個棧,popd是將一個目錄彈出棧。我能夠跳轉到棧中的任意一個路徑,這對那些長路徑頗有意義。下面介紹它們的用法:
pushd語法格式:
pushd [-n] [dir]
pushd [-N|+N]
-n是固定選項,N表明數字。若是開啓-n選項,則表示將目錄壓入棧,但不跳轉。
若是沒有輸入dir,則默認將當前目錄壓入棧頂。
pushd +N 表示跳轉棧中第N個路徑,且將此路徑壓入到棧頂(從左往右,從0開始)
pushd -N 表示跳轉到第N個路徑,且將次路基壓入到棧頂 (從右往左,從0開始)
能夠看到pushd 和pushd +1 是等價的。
其實 pushd -n +N|-N 也是能夠的,在個人電腦上會將但前目錄壓入棧,而後將第+N或-N個目錄刪除。
2. popd
popd語法格式:
popd [-n] [+N|-N]
值得一提的是,popd 不加任何選項參數會將棧頂元素彈出,而後跳轉到新的棧頂元素目錄。
-n 選項同pushd,將棧中元素彈出,但不跳轉目錄。
3. dirs
dirs是查看目錄棧中的元素,此命令主要是結合上面兩個命令使用。若是壓入棧中元素過多,記不許確時可使用,格式以下:
dirs [-clpv] [+N] [-N]
若是不加上+N或-N則會將棧中全部元素打印出來。