av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

不要讓Unix中的環(huán)境變量坐冷板凳

瀏覽:58日期:2024-06-10 16:16:16

環(huán)境變量在Unix操作系統(tǒng)中的地位不用筆者多說,大家都知道。但是在Unix操作系統(tǒng)中,有幾個環(huán)境變量經(jīng)常被人所忽視。筆者有時候跟一些經(jīng)驗比較豐富的系統(tǒng)工程師交流時,他們也不知道有這個環(huán)境變量。筆者今天就給大家介紹一下這些被忽視的環(huán)境變量,以及其應(yīng)用。幫助大家掃掃認識的盲區(qū)。

一、防止文件被意外覆蓋。

在Unix操作系統(tǒng)中,有一個很特殊的符號,叫做重定向符。通過這個符號,可以把一些屏幕的顯示的結(jié)果或者其他內(nèi)容重定向到一個文件中。顯然這個重定向符號很受系統(tǒng)工程師的歡迎。如利用這個符號可以輕易的把當(dāng)前目錄下所有的文件名字保存到一個文件中。但是,這個符號也有一個缺陷。如某個文件已經(jīng)存在,現(xiàn)在系統(tǒng)工程師再利用重定向符號創(chuàng)建同名的文件時,原來的文件就會在沒有任何提示的情況下被覆蓋掉。顯然如果在操作時一不小心,就會帶來不可挽回的損失。有時候,為了避免這種情況,我們系統(tǒng)工程師在使用重定向符號創(chuàng)建文件的時候,還不得不先查看一下當(dāng)前目錄下是否存在這個文件。

為此,有時候我們希望在使用重定向符號創(chuàng)建文件時,默認情況下是不覆蓋文件的。如果當(dāng)目標(biāo)文件已經(jīng)存在的話,則系統(tǒng)會提示錯誤信息。除非用戶在重定向符號命令中,利用參數(shù)指定讓系統(tǒng)覆蓋原有的文件。這個需求能夠?qū)崿F(xiàn)嗎?答案當(dāng)然是肯定的。這就需要用到一個被大家所忽略的環(huán)境變量noclobber參數(shù)。

如我們需要實現(xiàn)上面這個需求的話,則可以進行如下設(shè)置。Set –o noclobber。這個命令的意思就是對文件采取了一種保護措施。當(dāng)重定向需要建立的目標(biāo)文件已經(jīng)存在時,系統(tǒng)會提示錯誤信息(文件已經(jīng)存在),并拒絕建立這個文件。如此的話,目標(biāo)文件就不會被意外覆蓋掉。不過有時會系統(tǒng)工程師可能知道目標(biāo)文件的存在。如查看進程時,前后兩次執(zhí)行相同的命令。此時系統(tǒng)工程師就希望重定向符號覆蓋原有的文件。此時,系統(tǒng)工程師也不需要去取消這個保護措施。而只需要在重定向符號后面加入一個|參數(shù)。如ls *.jpg >| image.txt即可。這個命令的含義是顯示當(dāng)前目錄下所有的JPG文件,并把其文件名字保存到image.txt文件中。如果目標(biāo)文件已經(jīng)存在的話,就覆蓋它。

顯然這個noclobber環(huán)境變量參數(shù)提供了一種文件被意外的保護機制。如果Unix操作系統(tǒng)用作服務(wù)器或者開發(fā)的目的,則筆者建議啟用這個環(huán)境變量參數(shù)。因為在這些應(yīng)用場合,重定向符號用的特別多。有時候可能目標(biāo)文件已經(jīng)存在,但是可能由于疏忽而導(dǎo)致文件被意外覆蓋,那時系統(tǒng)工程師再后悔也沒有用了。所以,此時啟用這個參數(shù)的話,就可以最大限度的降低由此帶來的損失。為此筆者建議在這些場合中,最好能夠啟用這個被人遺忘在角落的環(huán)境變量,以提高文件的安全性。

二、~的替換作用。

~在Unix操作系統(tǒng)中叫做代字符。這也是一個在Unxi操作系統(tǒng)中被忽視但是卻很有作用的一個環(huán)境變量符號。簡單的來說,這個代字符可以用來表示主目錄。如現(xiàn)在在Unix操作系統(tǒng)上新建了一個用戶Jussin,并為其安裝了一個郵件客戶端。默認情況下這個郵件是保存在其用戶的主目錄下(如果在安裝的過程中沒有改變安裝路徑)。此時在特權(quán)用戶下,系統(tǒng)工程師需要馬上切換到這個用戶的主目錄下,進行郵件的維護。此時,如果沒有這個~代字符的幫助,那么系統(tǒng)工程師不得不先確認這個用戶的主目錄,然后再利用cd命令一層層的進去。顯然這個操作會比較麻煩。其實,在Unix操作系統(tǒng)中,有一種更加簡便的方法。如只需要在命令行中輸入,cd ~jussin,系統(tǒng)就會自動登錄到這個用戶的主目錄。所以說,我們把這個代字符用來表示用戶的主目錄。這筆剛才介紹的傳統(tǒng)操作要簡便許多。

當(dāng)~符號后面不加用戶名,而直接加/符號后者不加任何內(nèi)容的話,表示當(dāng)前用戶的主目錄。如系統(tǒng)工程師往往需要修改用戶的配置文件,以達到某些目的。此時系統(tǒng)工程師需要使用vi命令來編輯這個配置文件,如vi $HOME/.profile。這個命令的含義就是打開當(dāng)前用戶主目錄下面的.profile配置文件。在輸入這個命令的時候,HOME必須大寫,以為其代表的是環(huán)境變量。在輸入這個命令的時候,比較麻煩。一是需要使用$這個特殊符號,二是需要轉(zhuǎn)換大小寫模式。因為vi命令必須為小寫,而HOME環(huán)境變量必須為大寫。所以在輸入的時候有些不方便。其實此時系統(tǒng)工程師也可以利用~這個代字符來簡化輸入。如在這個代字符的幫助下,上面這個命令就可以簡化為vi ~/.profile即可。這可以就可以免除大小寫轉(zhuǎn)換的麻煩。

另外,我們還可以利用~代字符快速切換到當(dāng)前用戶的主目錄。如cd ~就表示切換到當(dāng)前用戶的主目錄。這使用起來非常的方便。另外,使用系統(tǒng)工程師還可以使用cd ~-命令,切換到最近一次進入的目錄中。也就是說,采用以上這兩個命令,可以快速的在最近使用的目錄與當(dāng)前用戶主目錄之間進行切換。這對于日常的維護工作是非常方便的。有時候系統(tǒng)工程師在開發(fā)一些嵌入式程序的時候,也經(jīng)常需要用到這兩個命令。因為其可以非常方便的實現(xiàn)在用戶主目錄與當(dāng)前目錄之間的切換。所以說,這個~代字符其大部分系統(tǒng)工程師所忽視,其作用仍然不可小瞧。不過其有一個缺點,就是通用性不是很好。據(jù)筆者所知,并不是在所有的shell 中都支持這個代字符。如在Bourne shell中,就不支持這個代字符。如使用vi ~/.profile命令,會提示錯誤信息。所以這是這個代字符最大的缺陷。系統(tǒng)工程師在使用過程中,需要注意這個通用性的問題。如果不考慮這個問題的話,那么這個代字符真的是一個很不錯的環(huán)境變量。

三、歷史變量的大小。

在shell中,我們按方向鍵,可以顯示最近幾次執(zhí)行過的命令。有時候,我們需要重復(fù)執(zhí)行某條命令進行測試,如果這個命令比較長的話,那么歷史命令就會非常的有用。系統(tǒng)工程師只需要簡單的利用方向鍵找到先前執(zhí)行過的命令,然后按回車鍵即可。如系統(tǒng)工程師可能編寫了一個文件備份的腳本程序。在編寫過程中,需要不斷的執(zhí)行這個腳本程序以完善其功能。此時利用歷史命令功能就可以免除每次輸入命令的煩惱。

通常情況下,這個執(zhí)行過的命令是保存在硬盤或者內(nèi)存中的。隨著內(nèi)存與硬盤價格的下降,系統(tǒng)工程師往往會在Unix服務(wù)器上配備比較大的硬盤與內(nèi)存。為此系統(tǒng)工程師可以把這個歷史紀(jì)錄的文件設(shè)置為大一點,讓其保存更多的歷史命令。如系統(tǒng)工程師可以更改HISTSIZE這個環(huán)境變量,這個環(huán)境變量用來顯示內(nèi)存中的歷史紀(jì)錄長度。而更改HISTFILESIZE這個環(huán)境變量,則可以修改保存在硬盤中的歷史紀(jì)錄文件的大小。

通常情況下,筆者建議大家修改這個兩個環(huán)境變量。因為其不但可以簡化系統(tǒng)工程師的輸入,而且還可以通過查看歷史紀(jì)錄來查詢以前對操作系統(tǒng)所進行的維護操作。這對于排除操作系統(tǒng)故障具有一定的意義。如果有必要的話,系統(tǒng)工程師還可以根據(jù)需要指定歷史紀(jì)錄保存的位置。如可以設(shè)置HISTFILE環(huán)境變量,來決定在硬盤上保存的歷史紀(jì)錄文件的位置與文件名。如果沒有設(shè)置這個環(huán)境變量的話,則默認情況下歷史紀(jì)錄文件是保存在用戶的主目錄下的。也就是說,每個用戶都有自己的歷史紀(jì)錄文件。在每個用戶的shell中執(zhí)行的命令,都紀(jì)錄在各自的歷史紀(jì)錄文件中,彼此之間是不通用的。

這幾個環(huán)境變量雖然只用來實現(xiàn)一些特定的功能,但是其作用仍然是不可忽視的。合力設(shè)置這些環(huán)境變量,不僅可以提高文件的安全性,而且還可以在很大程度上方便我們的操作。為此筆者建議,如要再讓這些環(huán)境變量坐冷板凳了,應(yīng)該盡量發(fā)揮這些環(huán)境變量的價值。讓我們的工作更加的輕松。

標(biāo)簽: Unix系統(tǒng)
主站蜘蛛池模板: 久久91精品国产一区二区三区 | 中国大陆高清aⅴ毛片 | 国产精品国产精品国产专区不卡 | 亚洲免费影院 | 久久久精品一区二区 | 色综合久久天天综合网 | 成人免费小视频 | 亚洲国产情侣自拍 | 中文字幕在线视频免费观看 | 日韩中文电影 | 九九一级片 | 日韩二区| 亚洲国产欧美国产综合一区 | 99精品欧美一区二区三区综合在线 | 美女国产一区 | 日韩aⅴ视频 | 天天草草草 | 三级在线观看 | 亚洲一区中文字幕在线观看 | 亚洲精品久久久9婷婷中文字幕 | 久久天堂 | 99久久免费精品 | 一级黄色网页 | 激情av | 在线播放国产一区二区三区 | 国产精品观看 | 狠狠的日 | 国内精品一区二区 | 黄色毛片免费看 | 精品久久中文字幕 | 亚洲网站免费看 | 黄视频网址 | 激情小视频 | 99国产精品一区二区三区 | 日韩一区二区在线视频 | 亚洲成人精品 | 99在线资源 | 精品一区二区三区四区 | 中国av在线免费观看 | 免费99精品国产自在在线 | 欧美精品一区二区三区在线播放 |