如何在Linux下環境下快速切換工做目錄

在Linux命令行下,咱們常常須要在一個目錄下執行某些操做在跳轉到另外的目錄下,也就是使用咱們熟悉的cd命令,基本上接觸過命令行的人,第一個認識的命令都是cd,瞭解cd命令會對咱們工做效率有個提升,可是你真的瞭解它嗎?bash

1、cd命令spa

格式:命令行

cd [選項] [參數]code

咱們經常使用的就是cd後面直接加參數,也就是目錄。 單其實參數和選項同樣都是可選的。class

cd ~ 和 cd (不加任何參數)都能直接切換到用戶的主目錄下面。效率

cd經常使用的選項只有-P變量

cd -P dir  若是dir是一個連接目錄,則會跳轉到dir指向的原目錄。配置

經常使用技巧:搜索

  1. 咱們能夠配置CDPATH環境變量
export CDPATH=.:~/dvp:~/workspace

這樣的話cd不只在當前目錄搜索,也會在~/dvp和~/workspace目錄下搜索。若是不配置 .(當前目錄),系統會自動添加到CDPAHT 的結尾,也就是說若是當前目錄和~/dvp都有這個文件夾,會優先進入~/dvp目錄下的文件夾。技巧

    2. cd -

切換到上次所在目錄

2、pushd和popd命令

cd 命令的侷限在於,若是須要在多個固定的文件夾之間來回跳轉,cd命令就顯得費事起來。兩個文件夾之間能夠用cd -,可是超過兩個,咱們就能夠用pushd和popd命令。

pushd就是將一個目錄壓入一個棧,popd是將一個目錄彈出棧。我能夠跳轉到棧中的任意一個路徑,這對那些長路徑頗有意義。下面介紹它們的用法:

  1. pushd

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]

  • -c:刪除目錄棧中全部的記錄
  • -l:以完整格式顯示
  • -p:一個目錄一行的方式顯示
  • -v:每一行目錄來顯示目錄棧的內容,每一個目錄前加上編號

若是不加上+N或-N則會將棧中全部元素打印出來。

相關文章
相關標籤/搜索