日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

對(duì)話 UNIX,第 13 部分: 另外十種命令行組合( 四 )


因?yàn)樽?Shell 有許多用途,所以與組合或者反勾號(hào)操作符相比,您可能更喜歡使用它 。
不再輸入長路徑名
有些特性,如 PATH 和 MANPATH 環(huán)境變量,可以減少輸入工作量 。這兩個(gè)變量分別為搜索可執(zhí)行文件和 man 頁面定義了一系列目錄 。
Shell 支持另一個(gè)搜索路徑:CDPATH 。顧名思義,CDPATH 列出了搜索命名目錄的目錄列表 。讓我們看看它是如何工作的 。
假設(shè)您的 home 目錄中有三個(gè)目錄,它們分別是 tomb、current 和 personal 。tomb 目錄中包含舊的工作項(xiàng)目;current 目錄中包含當(dāng)前工作的內(nèi)容;而 personal 目錄中包含您所感興趣的一些文件和內(nèi)容 。執(zhí)行 ls -R tomb current personal 命令可以得到與下面所示類似的內(nèi)容:
$ ls -R tomb current personal
current:
./../einstein/ herbIE/
personal:
./../ fishing/ novel/
tomb:
./../ mariner/ marvin/ voyager/
對(duì)于這種結(jié)構(gòu),如果不使用 CDPATH,要更改到任何目錄都需要記住文件夾的位置,并輸入完全限定的(或者相對(duì)的)路徑名:
$ cd ~/tomb/mariner
$ cd ~/personal/novel
$ cd ~/current/einstein
為了簡化這項(xiàng)任務(wù),可以將 CDPATH 設(shè)置為您所需要的搜索命名目錄的目錄列表:
$ export CDPATH=.:~/:..:../..:
這是 CDPATH 的最小設(shè)置 。它將按順序搜索當(dāng)前目錄(.,或者“點(diǎn))、您的 home 目錄 (~/)、父目錄(..,或者“點(diǎn)點(diǎn))、父目錄的父目錄目錄 (../..) 。最小設(shè)置首先搜索本地目錄以及附近的一些目錄 。
在設(shè)置了這個(gè) CDPATH 之后,您可以快速地更改到任何頂層目錄:
$ pwd
/tmp
$ cd current
/home/strike/current
$ cd personal/fishing
/home/strike/personal/fishing
$ cd novel
/home/strike/personal/novel
$ cd /tmp
$ cd personal/novel
/home/strike/personal/novel
$ cd /tmp
$ cd novel
cd: no such file or Directory: novel
除最后一個(gè) cd 命令之外,所有命令的參數(shù)都在 CDPATH 中存在匹配的目錄 。然而,因?yàn)?personal 目錄不在 CDPATH 中,所以無法找到 novel(如果您位于相對(duì)路徑之外) 。
如果您希望搜索 personal 目錄和其他的兩個(gè)目錄,那么可以將它們添加到 CDPATH 的最后一個(gè)冒號(hào)的后面,或者根據(jù)您所需要的搜索順序進(jìn)行添加 。添加三個(gè)目錄,假設(shè)您的 Shell 啟動(dòng)文件中包含前面的 export 命令:
$ export CDPATH=$CDPATH:~/current:~/tomb:~/personal
現(xiàn)在,您只需要輸入希望切換到的目錄的名稱即可:
$ cd current
/home/strike/current
$ cd /tmp
$ cd einstein
/home/strike/current/einstein
$ cd fishing
/home/strike/personal/fishing
$ cd personal/novel
/home/strike/personal/novel
與 PATH 和 MANPATH 一樣,如果 CDPATH 中的多個(gè)條目都包含匹配項(xiàng),那么在找到第一個(gè)匹配項(xiàng)后將停止搜索 。例如,如果您向 tomb 中添加一個(gè)名為 novel 的目錄,那么 cd novel 命令將得到 ~/tomb/novel 。
$ mkdir ~/tomb/novel
$ cd /tmp
$ cd novel
/home/strike/tomb/novel
$ cd personal/novel
/home/strike/personal/novel
如果其條目中包含唯一的目錄名,那么 CDPATH 是最有效的 。否則,必須輸入足夠長的路徑以進(jìn)行區(qū)別,比如 personal/novel 。
取得事半功倍的效果
您已經(jīng)看到了許多示例,說明文本文件在 Unix 系統(tǒng)中有著廣泛的用途 。大多數(shù)系統(tǒng)啟動(dòng)文件都是文本文件,包括 Shell 腳本、配置文件,當(dāng)然還包括數(shù)據(jù)文件 。除了文本編輯器之外,最有價(jià)值的實(shí)用工具就是翻頁工具 (pager)、或者允許您逐頁瀏覽文本文件的應(yīng)用程序 。
應(yīng)用程序 less 是最常用的翻頁工具之一,并且它提供了大量的選項(xiàng)以調(diào)整它的行為 。事實(shí)上,您可以將 LESS 環(huán)境變量設(shè)置為相關(guān)選項(xiàng)的列表,以便控制 less 的缺省工作方式 。下面是一組有用的選項(xiàng):

推薦閱讀