在linux使用cd的時候,可能會遇到目錄比較深的時候,這個時候總是cd一個很長的目錄會很麻煩,那有沒有什么比較方便的方法呢?
若是在兩個目錄中來回切換,這個時候可以使用cd - 這個命令,可以完成在兩個目錄中來回切換的作用,那為什么使用cd - 能夠表示在兩個目錄中來回切換呢?
因為cd - 等同于 cd $OLDPWD
顧名思義,OLDPWD這個變量保存的就是前一次的PATH值
但若是經常切換目錄數大于2個呢?
這時候可以采用這一對好基友 pushd 和 popd 來進行目錄的切換,當然還需要加上dirs
pushd命令可能將當前的目錄壓棧,并跳轉到指定的目錄
usage: [root@path1]# pushd path2
這個時候會將path1目錄壓棧,并跳轉到path2目錄,使用 dirs -v 查看將會看到被壓棧的目錄信息。
這樣,如果在壓入一個path3后,使用 dirs -v 將會看到這樣的目錄信息:
0 path3
1 path2
2 path1
前面的數字就是這些目錄的序號,使用pushd +N 命令可以完成任意目錄的跳轉,N即為目錄的編號。
那么popd也很容易理解是什么意思了,既然pushd是壓入地址的意思,那么popd就是pop dir的意思了,同樣使用popd +N的方式可以將地址出棧,若是彈出當前目錄則會返回OLDPWD,否則只是將存在目錄棧中的值出棧而已。
使用pushd和popd有的時候會比cd來的方便的多,但是我還喜歡用另外一種方式進行目錄的切換,使用的linux命令是alias
這個命令的語法是:alias [-p][別名][=命令]
這個命令的非常有用,對于一些比較繁瑣的命令都可以用它來簡化。
比如我有一個目錄經常使用,但是這個目錄路徑比較長,這個使用就可以使用alias來提高效率
alias cdpath='cd longPath'
其中cdpath為自己取的別名,longPath為那個比較長的目錄。這樣以后只要在終端敲入cdpath就能完成便捷的跳轉
當然如果這個命令直接在終端中輸入的話,那么啟動一個新的終端怕就沒有作用了。所以我會將它寫入到bashrc當中
bashrc一般在/etc/目錄下
vi bashrc,并在最后一行插入source etc/alias_cd.sh
vi alias_cd.sh,并在其中插入需要alias的目錄,保存退出后,source bashrc即可
這時候使用cdpath這樣的命令就能快速地切換到需要的目錄當中了,是不是非常便捷~
當然出路cd目錄之外,還可以用alias命令對很多命令取別名~
新聞熱點
疑難解答