1. 程式人生 > >方便的目錄轉換-----pushd、popd、dirs

方便的目錄轉換-----pushd、popd、dirs

一、目錄棧指令

目錄棧是使用者最近訪問過的系統目錄列表,並以堆疊的形式管理。棧中的內容與Shell環境變數DIRSTACK的值對應

1、dirs

1)功能
顯示當前目錄棧中的所有記錄(不帶引數的dirs命令顯示當前目錄棧中的記錄)

2)語法
(1)格式:dirs  [-clpv]  [+n]  [-n]
(2)選項
-c    刪除目錄棧中的所有記錄
-l     以完整格式顯示
-p    一個目錄一行的方式顯示
-v    每行一個目錄來顯示目錄棧的內容,每個目錄前加上的編號
+N  顯示從左到右的第n個目錄,數字從0開始
-N   顯示從右到左的第n個日錄,數字從0開始
注意:dirs始終顯示當然目錄, 再是堆疊中的內容;即使目錄堆疊為空, dirs命令仍然只顯示當然目錄

2、pushd

1)功能
pushd命令常用於將目錄加入到棧中,加入記錄到目錄棧頂部,並切換到該目錄;若pushd命令不加任何引數,則會將位於記錄棧最上面的2個目錄對換位置

2)語法
(1)格式:pushd  [目錄 | -N | +N]   [-n]
(2)選項
目錄   將該目錄加入到棧頂,並執行"cd 目錄",切換到該目錄
+N   將第N個目錄移至棧頂(從左邊數起,數字從0開始)
-N    將第N個目錄移至棧頂(從右邊數起,數字從0開始)
-n    將目錄入棧時,不切換目錄

3、popd

1)功能
popd用於刪除目錄棧中的記錄;如果popd命令不加任何引數,則會先刪除目錄棧最上面的記錄,然後切換到刪除過後的目錄棧中的最上面的目錄

2)語法
(1)格式:pushd  [-N | +N]   [-n]
(2)選項
+N   將第N個目錄刪除(從左邊數起,數字從0開始)
-N    將第N個目錄刪除(從右邊數起,數字從0開始)
-n    將目錄出棧時,不切換目錄


二、 示例

入棧與出棧
[email protected]:~# mkdir /root/dir{1,2,3,4}
[email protected]:~# for ((i=1;i<=4;i++)); do pushd /root/dir${i}; done
/root/dir1 ~
/root/dir2 /root/dir1 ~
/root/dir3 /root/dir2 /root/dir1 ~
/root/dir4 /root/dir3 /root/dir2 /root/dir1 ~

[email protected]:/root/dir4# dirs 
/root/dir4 /root/dir3 /root/dir2 /root/dir1 ~
dirs顯出了棧中的所有目錄

[email protected]:/root/dir4# popd(相當於popd +0)
/root/dir3 /root/dir2 /root/dir1 ~
[email protected]:/root/dir4# dirs
/root/dir3 /root/dir2 /root/dir1 ~
可以看出/root/dir4目錄已被清除,此時棧裡已經沒有了dir4目錄,切當前目錄切換為dir3

[email protected]:/root/dir3# pushd /root/dir4 
/root/dir4 /root/dir3 /root/dir2 /root/dir1 ~
不推薦以上面的方法進行切換,因為這種方式和cd沒有區別。

[email protected]:/root/dir4# popd +1
/root/dir4 /root/dir2 /root/dir1 ~
推薦以這種方式進行切換,尤其是目錄層次比較多時

[email protected]:/root/dir2# pushd -1
/root/dir1 ~ /root/dir2 /root/dir3 /root/dir4
注意:最左邊表示棧頂,最右邊表示棧底

清空棧
[email protected]:~# dirs
~ /root/dir2 /root/dir3 /root/dir4 /root/dir1
[email protected]:~# dirs -c
[email protected]:~# dirs
~

列表形式顯示的棧的內容
[email protected]:/root/dir4# dirs -l -v
0  /root/dir4
1  /root/dir3
2  /root/dir2
3  /root/dir1
4  /root

注:如果只是兩個目錄之間的切換"cd -"足矣,而且方便。“cd -”切回上次用到的目錄。

轉載地址:http://www.361way.com/pushd/1118.html

相關推薦

方便目錄轉換pushdpopddirs

一、目錄棧指令 目錄棧是使用者最近訪問過的系統目錄列表,並以堆疊的形式管理。棧中的內容與Shell環境變數DIRSTACK的值對應 1、dirs 1)功能 顯示當前目錄棧中的所有記錄(不帶引數的dirs命令顯示當前目錄棧中的記錄) 2)語法 (1)格式:dirs  [-cl

利用Python進行資料分析筆記時間序列(轉換索引偏移)

時間序列指能在任何能在時間上觀測到的資料。很多時間序列是有固定頻率(fixed frequency)的,意思是資料點會遵照某種規律定期出現,比如每15秒,每5分鐘,或每個月。時間序列也可能是不規律的(irregular),沒有一個固定的時間規律。如何參照時間序列

virtualbox虛擬機器使用筆記安裝增強功能網路usb裝置共享目錄

》。 9.設定vbox的usb裝置 這部分主要摘自 http://forum.ubuntu.org.cn/viewtopic.php?f=65&t=164209 照著做就行了 ------------------------------------------* 為virtualbox開啟usb裝置支

泛函編程(16)泛函狀態Functional State

開始 ans 案例 類型函數 好的 語法糖 數據 編寫 fun 初接觸泛函狀態覺著很不習慣。主要是在使用State數據類型時很難理解其中的原理,特別是泛函狀態變遷機制(state transition mechanism):怎麽狀態就起了變化,實在難以跟蹤。我想這主

泛函編程(17)泛函狀態State In Action

包括 exec 我會 nco 程序 bool action list() 對比 對OOP編程人員來說,泛函狀態State是一種全新的數據類型。我們在上節做了些介紹,在這節我們討論一下State類型的應用:用一個具體的例子來示範如何使用State類型。以下是這個例子的

python學習04數據類型(元組字典集合)

ext false 增刪改 put 一個 section mod ict call 一、基本數據類型——元組   元組:是一種與列表非常相似的數據類型。但是它一旦創建便不能再修改,所以又叫只讀列表。   定義:與列表類似,只不過[]改成()   特性: 可

Android graphics 學習生產者消費者BufferQueue介紹

備註:博文根據Android5.1程式碼分析,為個人學習筆記。如有問題,歡迎指正。   博文是後續理解Camera preview,recording buffer流轉的基礎。要不然後續Camera buffer部分不好分析。這是這幾天看的筆記,也算是對BufferQueue有了新的認

SparkSQLMRRDDDataFrame三個程式設計模型演進

最近看了一些很好的部落格文章,轉載過來記錄一下學習過程。 SparkSQL 歷史回顧 對SparkSQL瞭解的童鞋或多或少聽說過Shark,不錯,Shark就是SparkSQL的前身。2011的時候,Hive可以說是SQL On Hadoop的唯一選擇,負責將SQ

微服務業務開發三個難題拆分事務查詢(下)

  轉載自賀卓凡 上集我們闡述了使用微服務體系架構的關鍵障礙是領域模型,事務和查詢,這三個障礙似乎和功能拆分具有天然的對抗。只要功能拆分了,就涉及這三個難題。 然後我們向你展示了一種解決方案就是將每個服務的業務邏輯實現為一組DDD聚合。然後每個事務只能更新或建立一個單獨的聚合。

微服務業務開發三個難題拆分事務查詢(上)

  轉載自賀卓凡 微服務架構變得越來越流行了。它是模組化的一種方法。它把一整塊應用拆分成一個個服務。它讓團隊在開發大型複雜的應用時更快地交付出高質量的軟體。團隊成員們可以輕鬆地接受到新技術,因為他們可以使用最新且推薦的技術棧來實現各自的服務。微服務架構也通過讓每個服務都被部署在最佳

leetcode1. Two Sum簡單的演算法題,面試見到了嗎?

leetcode第一道題,很簡單大部分人應該能想到用map,而我只想到暴力,思維確實得到了鍛鍊。 Question: Given an array of integers, return indices of the two numbers such that

FastDFS安裝配置部署(三)Storage配置詳解

1、基本配置# is this config file disabled # false for enabled # true for disabled disabled=false# the name of the group this storage server bel

東方時尚駕校科目三雪鐵龍考試技巧

09/28科目一考試 11/28科目二考試 12/04科目三考試 12/04拿到駕照 科目三技巧: 編號1的考生: 1. 沿車頭繞行半圈,進駕駛室,雙手遞交身份證 2. 調座椅,扶後視鏡,系安全帶,說出“準備完畢,請求考試”; 3. 打左閃光燈,掛一檔,鬆手剎,向左扭頭作

ASP中呼叫儲存過程語法寫法sql server資料庫,return,output

ASP與儲存過程(Stored Procedures)的文章不少,但是我懷疑作者們是否真正實踐過。我在初學時查閱過大量相關資料,發現其中提供的很多方法實際操作起來並不是那麼回事。對於簡單的應用,這些資料也許是有幫助的,但僅限於此,因為它們根本就是千篇一律,互相抄襲,稍微複雜

矩陣演算法深度學習(影象處理機器視覺人工智慧機器學習)資源整合

理解矩陣(一) (真是大學時候不好好學習給自己挖的坑,現在只能一點一點的補回來,這個介紹的矩陣簡單易懂,非常牛) 連結如下: http://blog.csdn.net/myan/article/details/647511 (偶然在矩陣文章中發現演算法的世外桃源--《演算法

libevent原始碼分析(8)2.1.8事件申請與釋放

一、event_new 主要用來建立事件結構體,根據監聽事件型別,檔案描述符,以及回撥函式,回撥函式引數等建立,可以看成是事件的初始化過程,主要是設定事件的初始狀態,此時事件結構體剛剛創建出來還沒有新增到event_base的啟用或者等待列表中,是孤立存在的,需要呼叫eve

FastDFS安裝配置部署(一)安裝和部署

    FastDFS是一個開源的,高效能的的分散式檔案系統,他主要的功能包括:檔案儲存,同步和訪問,設計基於高可用和負載均衡,FastDFS非常適用於基於檔案服務的站點,例如圖片分享和視訊分享網站FastDFS有兩個角色:跟蹤服務(tracker)和儲存服務(storage

動態聚類中 C均值演算法 (K均值演算法)的C++實現

一:說明 動態聚類方法是模式識別中一種普遍採用的方法,它具有以下3個要點: 1:選定某種距離度量作為樣本間的相似性度量 2:確定某個評價聚類結果質量的準則函式 3:給定某個初始分類,然後用迭代演算法找出使準則函式取極值的最好的聚類結果 本文給出了 C-均值演算法 的 C++實

TensorflowGraphDefMetaGraphCheckPoint

Tensorflow框架實現的三種圖   參考原文:http://www.360doc.com/content/17/1123/18/7669533_706522939.shtml ========================== Graph: Tensorflow

iOS開發多執行緒程式設計技術(ThreadCocoa operationsGCD)

簡介 在軟體開發中,多執行緒程式設計技術被廣泛應用,相信多執行緒任務對我們來說已經不再陌生了。有了多執行緒技術,我們可以同做多個事情,而不是一個一個任務地進行。比如:前端和後臺作互動、大任務(需要耗費一定的時間和資源)等等。也就是說,我們可以使用執行緒把佔據時間長的任務放到後臺中處理,而不影響到使用者的使用