欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux下如何高效切換目錄的方法

 更新時間:2020年08月12日 08:48:21   作者:良許Linux  
這篇文章主要介紹了Linux下如何高效切換目錄,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

Linux 下對于目錄的切換,大家肯定會想到一個命令:cd 命令。這個是 Linux 下再基本不過的命令,如果這個命令都不知道的話,趕緊剖腹自盡去吧。

cd 命令確實很方便,但如果需要頻繁在下面的目錄切換,你可能要懷疑人生了:

/home/alvin/projects/blogdemos/linux-system-programming/thread
/home/alvin/projects/blogdemos/diff
/home/harry/study/日本文化/中日交流/影視業(yè)/動作片

如果只會 cd 命令的話,那么就需要不停地 cd ,直到你發(fā)瘋。

在這種情況下,我們如何高效進行目錄切換呢?良許給大家介紹三個命令:pushd 、 popddirs 。

這三個命令其實都是對 目錄棧 進行操作,而 目錄棧 就是一個保存目錄的棧結構,該棧結構的頂端永遠都存放著當前目錄(敲黑板了,重點?。。?。

有編程基礎的同學都知道, 都是遵循著 后進先出 的原則。也就是說,在棧結構里,后面進棧的元素,將先出棧。

復習完基本概念,我們再來詳細這三個命令。

顯示目錄棧內容:dirs

首先是 dirs 。這個命令很簡單,就是顯示目錄棧的內容。它有以下三個常用選項:

選項 含義
-p 每行顯示一條記錄
-v 每行顯示一條記錄,同時展示該記錄在棧中的index
-c 清空目錄棧

其中,-p-v 選項的區(qū)別是,-v 選項將顯示每條記錄在棧中的索引,除此之外完全一樣。假如現(xiàn)在有一個目錄棧,我們來看看它里面有啥內容:

[alvin@VM_0_16_centos dir2]$ pwd
/home/alvin/test/dir2
[alvin@VM_0_16_centos dir2]$ dirs -v
 0 ~/test/dir2
 1 ~/test/dir1
 2 ~/test/dir3
 3 ~/test

請注意,最頂部的元素永遠跟當前目錄一致,如果你在其它目錄下查看目錄棧,第一個元素將對應發(fā)生改變。同理,如果你用后文介紹的 pushdpopd 來操作目錄棧的話,當前目錄將切換到目錄棧的第一個元素對應地址。

如果我們要清空目錄棧,直接使用 -c 選項即可。

[alvin@VM_0_16_centos diff]$ dirs -c
[alvin@VM_0_16_centos diff]$ dirs -v
 0 ~/projects/blogdemos/diff

壓入目錄棧:pushd

每次 pushd 命令執(zhí)行完成之后,默認都會執(zhí)行一個 dirs 命令來顯示目錄棧的內容。pushd 的用法主要有如下幾種:

1. pushd + 目錄

pushd 后面如果直接跟目錄使用,會切換到該目錄并且將該目錄置于目錄棧的棧頂。例子:

[alvin@VM_0_16_centos test]$ pushd dir1
~/test/dir1 ~/test
[alvin@VM_0_16_centos dir1]$ pushd ../dir2
~/test/dir2 ~/test/dir1 ~/test
[alvin@VM_0_16_centos dir2]$ pushd ../dir3
~/test/dir3 ~/test/dir2 ~/test/dir1 ~/test
[alvin@VM_0_16_centos dir3]$ dirs -v
 0 ~/test/dir3
 1 ~/test/dir2
 2 ~/test/dir1
 3 ~/test

2. pushd (不帶任何參數(shù))

pushd 不帶任何參數(shù)執(zhí)行的效果就是,將目錄棧最頂層的兩個目錄進行交換。前面我們已經(jīng)強調過,目錄棧第一個元素與當前目錄是相關的,所以第一個元素發(fā)生改變時,當前目錄將對應切換,反之亦然。

[alvin@VM_0_16_centos dir3]$ dirs -v
 0 ~/test/dir3
 1 ~/test/dir2
 2 ~/test/dir1
 3 ~/test
[alvin@VM_0_16_centos dir3]$ pwd
/home/alvin/test/dir3
[alvin@VM_0_16_centos dir3]$ pushd
~/test/dir2 ~/test/dir3 ~/test/dir1 ~/test
[alvin@VM_0_16_centos dir2]$ pwd
/home/alvin/test/dir2	#對應目錄發(fā)生改變
[alvin@VM_0_16_centos dir2]$ dirs -v
 0 ~/test/dir2
 1 ~/test/dir3		#索引 0 和 1 的內容對調
 2 ~/test/dir1
 3 ~/test

**3. pushd +/-n **

pushd +/-n 就是直接切換到對應索引值的目錄。注意,這里既可以用加號,也可以用減號。如果是加號的話,將從目錄棧由上往下數(shù),而用減號的話,將從目錄棧由下往上數(shù)。

接下來就回到了我們本文開頭的問題,如果我們要在兩個或多個路徑很長的目錄之間頻繁切換,該如何操作?

首先,我們用 pushd + 目錄 的方式將這幾個路徑添加到目錄棧中;

然后,再用 pushd +/-n 在不同的目錄間快速切換。具體演示如下:

[alvin@VM_0_16_centos dir2]$ pwd
/home/alvin/test/dir2
[alvin@VM_0_16_centos dir2]$ dirs -v
 0 ~/test/dir2
 1 ~/test/dir3
 2 ~/test/dir1
 3 ~/test
[alvin@VM_0_16_centos dir2]$ pushd +2
~/test/dir1 ~/test ~/test/dir2 ~/test/dir3
[alvin@VM_0_16_centos dir1]$ pwd
/home/alvin/test/dir1
[alvin@VM_0_16_centos dir1]$ dirs -v
 0 ~/test/dir1
 1 ~/test
 2 ~/test/dir2
 3 ~/test/dir3

彈出目錄棧:popd

每次 popd 命令執(zhí)行完成之后,默認都會執(zhí)行一個 dirs 命令來顯示目錄棧的內容。popd 的用法主要有如下幾種:

1. popd (不帶任何參數(shù))

popd不帶任何參數(shù)執(zhí)行的效果,就是將目錄棧中的棧頂元素出棧。這時,棧頂元素發(fā)生變化,自然當前目錄也會發(fā)生相應的切換。

[alvin@VM_0_16_centos dir3]$ dirs -v
 0 ~/test/dir3
 1 ~/test/dir1
 2 ~/test
 3 ~/test/dir2
[alvin@VM_0_16_centos dir3]$ popd
~/test/dir1 ~/test ~/test/dir2
[alvin@VM_0_16_centos dir1]$ dirs -v
 0 ~/test/dir1
 1 ~/test
 2 ~/test/dir2

2. popd +/-n

將目錄棧中的第n個元素刪除。同樣的,加減號表示從上往下數(shù),還是從下往上數(shù)。

[alvin@VM_0_16_centos dir1]$ dirs -v
 0 ~/test/dir1
 1 ~/test
 2 ~/test/dir2
[alvin@VM_0_16_centos dir1]$ popd +1
~/test/dir1 ~/test/dir2
[alvin@VM_0_16_centos dir1]$ dirs -v
 0 ~/test/dir1
 1 ~/test/dir2

到此這篇關于Linux下如何高效切換目錄的方法的文章就介紹到這了,更多相關Linux高效切換目錄內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Ubuntu20.04安裝配置GitLab的方法步驟

    Ubuntu20.04安裝配置GitLab的方法步驟

    這篇文章主要介紹了Ubuntu20.04安裝配置GitLab的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 關于VPS內存不足的一些說明和解決辦法

    關于VPS內存不足的一些說明和解決辦法

    關于VPS內存不足的一些說明和解決辦法,需要的朋友可以參考下。
    2011-11-11
  • 你可能不知道的一些linux文件權限管理方法

    你可能不知道的一些linux文件權限管理方法

    這篇文章主要給大家介紹了一些你可能不知道的linux文件權限管理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • Linux的wget命令詳解

    Linux的wget命令詳解

    這篇文章主要為大家詳細介紹了Linux的wget命令,教大家如何使用wget,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 一文帶你深入理解Linux中的nohup命令

    一文帶你深入理解Linux中的nohup命令

    nohup是Linux和Unix系統(tǒng)中的一個命令,其作用是在終端退出時,讓進程在后臺繼續(xù)運行。這篇文章主要來和大家講講它的使用,需要的可以參考一下
    2023-03-03
  • 詳解Linux系統(tǒng)中設置SFTP服務用戶目錄權限的方法

    詳解Linux系統(tǒng)中設置SFTP服務用戶目錄權限的方法

    這篇文章主要給大家介紹了Linux系統(tǒng)中設置SFTP服務用戶目錄權限的方法,文中給出了詳細的設置方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • Ubuntu文件系統(tǒng)磁盤空間不足報錯low disk space on filesystem root的解決方案

    Ubuntu文件系統(tǒng)磁盤空間不足報錯low disk space on file

    最近開始啟動Ubuntu20.04時提示的信息如下:Low Disk Space on “Filesystem root”,這是因為Ubuntu文件系統(tǒng)磁盤空間不足導致的,所以本文給大家詳細介紹了Ubuntu文件系統(tǒng)磁盤空間不足報錯low disk space on filesystem root的解決方案,需要的朋友可以參考下
    2024-09-09
  • Linux安裝MongoDB啟動及常見問題解決

    Linux安裝MongoDB啟動及常見問題解決

    這篇文章主要介紹了Linux安裝MongoDB啟動及問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • apache配置開啟網(wǎng)站服務步驟

    apache配置開啟網(wǎng)站服務步驟

    apache配置開啟網(wǎng)站服務步驟,需要的朋友可以參考下。
    2010-06-06
  • apache time_wait連接數(shù)太多問題解決方法

    apache time_wait連接數(shù)太多問題解決方法

    這篇文章主要介紹了apache time_wait連接數(shù)太多問題解決方法,本文使用調整內核參數(shù)來解決,需要的朋友可以參考下
    2014-11-11

最新評論