日常的linux系統(tǒng)管理工作中必不可少的就是shell腳本,如果不會寫shell腳本,那么你就不算一個合格的管理員。目前很多單位在招聘linux系統(tǒng)管理員時纫溃,shell腳本的編寫是必考的項目。有的單位甚至用shell腳本的編寫能力來衡量這個linux系統(tǒng)管理員的經(jīng)驗是否豐富韧掩。筆者講這些的目的只有一個紊浩,那就是讓你認真對待shell腳本,從一開始就要把基礎(chǔ)知識掌握牢固,然后要不斷的練習坊谁,只要你shell腳本寫的好费彼,相信你的linux求職路就會輕松的多。筆者在這一章中并不會多么詳細的介紹shell腳本呜袁,而只是帶你進入shell腳本的世界敌买,如果你很感興趣那么請到網(wǎng)上下載相關(guān)的資料或者到書店購買相關(guān)書籍吧简珠。
在學習shell 腳本之前阶界,需要你了解很多關(guān)于shell的知識,這些知識是編寫shell腳本的基礎(chǔ)聋庵,所以希望你能夠熟練的掌握膘融。
【什么是shell】
簡單點理解,就是系統(tǒng)跟計算機硬件交互時使用的中間介質(zhì)祭玉,它只是系統(tǒng)的一個工具氧映。實際上,在shell和計算機硬件之間還有一層東西那就是系統(tǒng)內(nèi)核了脱货。打個比方岛都,如果把計算機硬件比作一個人的軀體,而系統(tǒng)內(nèi)核則是人的大腦振峻,至于shell臼疫,把它比作人的五官似乎更加貼切些】勖希回到計算機上來烫堤,用戶直接面對的不是計算機硬件而是shell,用戶把指令告訴shell凤价,然后shell再傳輸給系統(tǒng)內(nèi)核鸽斟,接著內(nèi)核再去支配計算機硬件去執(zhí)行各種操作。
筆者接觸的linux發(fā)布版本(Redhat/CentOS)系統(tǒng)默認安裝的shell叫做bash利诺,即Bourne Again Shell富蓄,它是sh(Bourne Shell)的增強版本。Bourn Shell 是最早行起來的一個shell慢逾,創(chuàng)始人叫Steven Bourne格粪,為了紀念他所以叫做Bourn Shell,檢稱sh氛改。那么這個bash有什么特點呢帐萎?
1)記錄命令歷史
我們敲過的命令,linux是會有記錄的胜卤,預設(shè)可以記錄1000條歷史命令疆导。這些命令保存在用戶的家目錄中的.bash_history文件中。有一點需要你知道的是葛躏,只有當用戶正常退出當前shell時澈段,在當前shell中運行的命令才會保存至.bash_history文件中悠菜。
與命令歷史有關(guān)的有一個有意思的字符那就是”!”了。常用的有這么幾個應用:(1)!! (連續(xù)兩個”!”)败富,表示執(zhí)行上一條指令悔醋;(2)!n(這里的n是數(shù)字),表示執(zhí)行命令歷史中第n條指令兽叮,例如”!100”表示執(zhí)行命令歷史中第100個命令芬骄;(3)!字符串(字符串大于等于1),例如!ta鹦聪,表示執(zhí)行命令歷史中最近一次以ta為開頭的指令账阻。
2)指令和文件名補全
在本教程最開始筆者就介紹過這個功能了,記得嗎泽本?對了就是按tab鍵淘太,它可以幫你補全一個指令,也可以幫你補全一個路徑或者一個文件名规丽。連續(xù)按兩次tab鍵蒲牧,系統(tǒng)則會把所有的指令或者文件名都列出來。
3)別名
前面也出現(xiàn)過alias的介紹赌莺,這個就是bash所特有的功能之一了冰抢。我們可以通過alias把一個常用的并且很長的指令別名一個簡潔易記的指令。如果不想用了雄嚣,還可以用unalias解除別名功能晒屎。直接敲alias會看到目前系統(tǒng)預設(shè)的alias :
看到了吧,系統(tǒng)預設(shè)的alias指令也就這幾個而已缓升,你也可以自定義你想要的指令別名鼓鲁。alias語法很簡單,比如: alias a='ls'港谊。 //[命令別名]=[’具體的命令’]骇吭。
上面做的別名只是臨時的,服務器重啟就沒有了歧寺。
現(xiàn)在我們要做的是在定義永久別名的文件里面加入我們自己要設(shè)置的永久別名燥狰,這個文件是我們自己根目錄下的 .bashrc 文件,我們輸入命令 gedit .bashrc來打開.bashrc 文件斜筐。
.bashrc 文件打開后龙致,如下圖所示,這個文件是關(guān)于一些系統(tǒng)變量顷链,別名等的定義文件目代,我們要添加的別名也可以在這個文件里面添加,當然也可以添加在別的文件里面
我們在里面添加:alias cdmydir='cd /opt/xyh666168',如下圖所示榛了,之后保存文件并退出在讶。
現(xiàn)在我們的永久別名已經(jīng)設(shè)置好了,我們可以打開別的終端命令窗口測試驗證霜大。
查看更多請到轉(zhuǎn)載地址:http://www.92csz.com/study/linux/12.htm