电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

不要讓Unix中的環境變量坐冷板凳

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

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

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

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

為此,有時候我們希望在使用重定向符號創建文件時,默認情況下是不覆蓋文件的。如果當目標文件已經存在的話,則系統會提示錯誤信息。除非用戶在重定向符號命令中,利用參數指定讓系統覆蓋原有的文件。這個需求能夠實現嗎?答案當然是肯定的。這就需要用到一個被大家所忽略的環境變量noclobber參數。

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

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

二、~的替換作用。

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

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

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

三、歷史變量的大小。

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

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

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

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

標簽: Unix系統
主站蜘蛛池模板: 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 广西教师资格网-广西教师资格证考试网 | 消泡剂-水处理消泡剂-涂料消泡剂-切削液消泡剂价格-东莞德丰消泡剂厂家 | 危废处理系统,水泥厂DCS集散控制系统,石灰窑设备自动化控制系统-淄博正展工控设备 | 常州律师事务所_常州律所_常州律师-江苏乐天律师事务所 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 混合反应量热仪-高温高压量热仪-微机差热分析仪DTA|凯璞百科 | 【电子厂招聘_普工招工网_工厂招聘信息平台】-工立方打工网 | 济南货架定做_仓储货架生产厂_重型货架厂_仓库货架批发_济南启力仓储设备有限公司 | 分类168信息网 - 分类信息网 免费发布与查询 | 智慧旅游_智慧景区_微景通-智慧旅游景区解决方案提供商 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 逗网红-抖音网红-快手网红-各大平台网红物品导航 | 周口风机|周风风机|河南省周口通用风机厂 | 锂电池砂磨机|石墨烯砂磨机|碳纳米管砂磨机-常州市奥能达机械设备有限公司 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | BESWICK球阀,BESWICK接头,BURKERT膜片阀,美国SEL继电器-东莞市广联自动化科技有限公司 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 高低温万能试验机_拉力试验机_拉伸试验机-馥勒仪器科技(上海)有限公司 | 有声小说,听书,听小说资源库-听世界网 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 高压油管,液压接头,液压附件-烟台市正诚液压附件 | 走心机厂家,数控走心机-台州博城智能科技有限公司 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 活性炭-蜂窝-椰壳-柱状-粉状活性炭-河南唐达净水材料有限公司 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 脑钠肽-白介素4|白介素8试剂盒-研域(上海)化学试剂有限公司 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 神超官网_焊接圆锯片_高速钢锯片_硬质合金锯片_浙江神超锯业制造有限公司 | 危废处理系统,水泥厂DCS集散控制系统,石灰窑设备自动化控制系统-淄博正展工控设备 | 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 电解抛光加工_不锈钢电解抛光_常州安谱金属制品有限公司 | 山东钢衬塑罐_管道_反应釜厂家-淄博富邦滚塑防腐设备科技有限公司 | 【同风运车官网】一站式汽车托运服务平台,验车满意再付款 | 正压送风机-多叶送风口-板式排烟口-德州志诺通风设备 |