我使用的linux命令-shell

我使用的linux命令-shell

ID:14349150

大?。?7.00 KB

頁數(shù):52頁

時(shí)間:2018-07-28

我使用的linux命令-shell_第1頁
我使用的linux命令-shell_第2頁
我使用的linux命令-shell_第3頁
我使用的linux命令-shell_第4頁
我使用的linux命令-shell_第5頁
資源描述:

《我使用的linux命令-shell》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、我使用的linux命令-shell為什么要進(jìn)行shell編程  Linux系統(tǒng)中雖然有各種各樣的圖形界面工具,但shell仍然是一個(gè)非常靈活的工具。Shell不僅集合了大量命令,還是一門非常棒的編程語言。借助shell,大量任務(wù)能實(shí)現(xiàn)自動(dòng)化;shell特別擅長(zhǎng)系統(tǒng)管理任務(wù),尤其適合那些易用性、可維護(hù)性和便攜性比效率更重要的任務(wù)?! ∠旅妫屛覀円黄饋砜纯磗hell是如何工作的:建立一個(gè)腳本  Linux中有許多種不同的shell,通常我們使用bash(bourneagainshell)進(jìn)行shell編程,因?yàn)閎ash不僅免費(fèi)(自由)且易于使用。本文提供的腳本都用

2、bash(當(dāng)然大多數(shù)情況下,這些腳本同樣可以在bash的前輩,bourneshell中運(yùn)行)執(zhí)行。  如同其他語言一樣,我們可以使用任意一種文字編輯器,比如nedit、kedit、emacs、vi等來編寫shell腳本,它必須以如下行開始(必須放在文件的第一行):代碼:#!/bin/sh  符號(hào)#!用來告訴系統(tǒng)執(zhí)行該腳本的程序,本例使用/bin/sh。編輯完了,如果要執(zhí)行該腳本,還必須使其可執(zhí)行:代碼:chmod+xfilename  這樣輸入./filename便可執(zhí)行該腳本。注釋  shell腳本中以#開始的行表示注釋,直到一行的結(jié)束。我們真誠(chéng)的建議你在腳本

3、中使用注釋,這樣即便在相當(dāng)長(zhǎng)時(shí)間內(nèi)沒有使用該腳本,你也能在短時(shí)間內(nèi)明白該腳本的作用和工作原理;此外還有很重要的原因——有了注釋,更利于和別人分享你的腳本。變量  在其它編程語言中,你必須使用變量。shell編程中,所有變量都由字符串組成,并且不需要聲明。要給一個(gè)變量賦值,你可以這么寫:代碼:變量名=值  在變量名之前加一個(gè)$,就可以取出變量值:代碼:#!/bin/sh#對(duì)變量賦值:a="helloworld"#打印變量a的值:echo"Ais:"$a  挑個(gè)自己喜歡的編輯器,輸入以上內(nèi)容,并保存為文件first,然后執(zhí)行chmod+xfirst使其可執(zhí)行,最后輸

4、入./first執(zhí)行該腳本。其輸出結(jié)果如下:引用:Ais:helloworld  有時(shí)候變量名可能會(huì)和其它文字混淆,比如:代碼:num=2echo"thisisthe$numnd"  上述腳本并不會(huì)輸出"thisisthe2nd",只會(huì)打印"thisisthe";這是由于shell會(huì)去搜索變量numnd的值,而實(shí)際上這個(gè)變量此時(shí)并沒有值??梢允褂没ɡㄌ?hào)來告訴shell我們要打印的是num變量:代碼:num=2echo"thisisthe${num}nd"  上述腳本的輸出結(jié)果為:thisisthe2nd  有許多變量是系統(tǒng)自動(dòng)設(shè)定的,在后面用到這些變量時(shí)我們?cè)僮?/p>

5、說明。如果你需要處理數(shù)學(xué)表達(dá)式,那么得借助諸如expr的程序。  除了僅在腳本內(nèi)有效的普通shell變量外,還有環(huán)境變量,即那些由export關(guān)鍵字處理過的變量。本文不討論環(huán)境變量,因?yàn)橐话阒辉诘卿浤_本中使用環(huán)境變量。Shell命令和流程控制  在shell腳本中可以使用三類命令:1)Unix命令:  在shell腳本中可以使用任意unix命令,不過實(shí)際上最為常用的通常是那些文件和文字操作相關(guān)的命令。下面介紹一些常用命令語法及功能:  echo"sometext":在屏幕上輸出信息  ls:文件列表  wc–lfilewc-wfilewc-cfile:分別計(jì)算文

6、件的行數(shù)(line)、單詞數(shù)(word)和字符數(shù)(character)  cpsourcefiledestfile:文件拷貝  mvoldnamenewname:重命名文件或移動(dòng)文件  rmfile:刪除文件  grep'pattern'file:在文件內(nèi)搜索字符串或和正則表達(dá)式匹配的字符串  cut-bcolumnfile:將指定范圍內(nèi)的文件內(nèi)容輸出到標(biāo)準(zhǔn)輸出設(shè)備(屏幕)上。比如:輸出每行第5至9個(gè)字符cut-b5-9file.txt,注意不要和cat命令混淆,這是兩個(gè)完全不同的命令  catfile.txt:輸出文件內(nèi)容到標(biāo)準(zhǔn)輸出設(shè)備(屏幕)上  files

7、omefile:取得文件somefile的文件類型  readvar:提示用戶輸入,并將輸入內(nèi)容賦值給變量var  sortfile.txt:對(duì)file.txt文件所有行進(jìn)行排序  uniq:只輸出文件中內(nèi)容不一致的行,如:sortfile.txt

8、uniq  expr:進(jìn)行數(shù)學(xué)運(yùn)算,如要進(jìn)行2+3的運(yùn)算,命令為:expr2"+"3  find:搜索文件,如根據(jù)文件名搜索:find.-namefilename-print  tee:將數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出設(shè)備(屏幕)和文件,比如:somecommand

9、teeoutfile  basenamefile:返回不包含路

10、徑的文件名,如:base

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。