久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

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

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

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

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

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

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

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

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

二、~的替換作用。

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

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

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

三、歷史變量的大小。

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

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

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

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

標(biāo)簽: Unix系統(tǒng)
主站蜘蛛池模板: 精品亚洲一区二区三区 | 特黄视频 | 国产精品无码永久免费888 | 中文字幕一区二区三区不卡 | 国产精品无码久久久久 | 91免费看网站| 久久久久久免费看 | 精品久久网 | 日韩一区二区三区在线播放 | 日视频| 成人欧美 | 91亚洲精品久久久 | 精品中文字幕在线 | xx视频在线观看 | 99精品视频在线 | 国产午夜精品美女视频明星a级 | 午夜看片| 中文一区二区 | 女人毛片 | 亚洲视频在线观看免费 | 日韩高清在线 | 国产成人精品一区二 | 日本乱偷中文字幕 | 久久久国产精品视频 | 黄色片毛片 | 国产精品久久久久国产a级 99精品欧美一区二区三区综合在线 | 成人精品一区二区三区中文字幕 | 亚洲日韩欧美一区二区在线 | 亚洲一区av | 人人做人人澡人人爽欧美 | 久久99国产精品 | 九色网址| 毛片免费看 | 国产一区二区在线免费观看 | 久久精品无码一区二区日韩av | 欧美日韩国产中文 | 99久久精品免费看国产免费软件 | 欧美性猛交一区二区三区精品 | 国产欧美日韩综合精品 | 91视频黄色| 亚洲毛片在线观看 |