版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常用Linux命令2.1系統安全性Linux系統有一個過程,它對想訪問系統的用戶進行識別和驗證。該處理過程就稱為註冊,也稱為登錄。用戶完成了自己的工作,想要離開機器之前,應該退出系統。這樣,既節省了系統資源,提高運行效率,又保護了用戶的資訊。2.1.1註冊和退出系統1.註冊只有被授權的用戶才能夠註冊進入Linux系統。當你註冊進入系統時,需要向系統提供下述資訊。(1)註冊名:當你在電腦螢幕上看到如下提示時,就表示電腦已準備接受你的註冊:
localhostlogin:這時,需要在此提示之後輸入你的註冊名,有時也稱為用戶名,然後按下回車鍵.2)口令:當看到螢幕上出現如下提示時,可輸入你的帳戶口令:Password:注意:此時你輸入的字元並不在螢幕上顯示出來,游標也不移動。這是一種保密措施——防止別人看到你輸入的口令,從而避免他們盜用你的註冊名進入系統。2.退出系統當你完成任務、想要退出系統時,可以在提示符後面輸入命令logout,然後按下回車鍵:[wuxy@localhostwuxy]$logout3.重新啟動和關閉系統(1)rebbot命令①一般格式:reboot[選項]②說明:該命令用於重新啟動系統,實際上是指向halt命令一個符號連接。③
舉例:[root@localhostroot]#reboot(2)halt命令①一般格式:halt[選項]②說明:該命令用於關閉系統,並且在/var/log/wtm記錄系統關閉的資訊。如果系統的運行級別不是0或者6,則系統調用shutdown來代替該命令關閉系統。③選項:-d不在/var/log/wtm檔中記錄相應的資訊;-f不調用shutdown命令,強行關機;-p在執行該命令關閉系統以後,執行poweroff命令,關閉電源;-w在/var/log/wtm檔中記錄相應的資訊,但不關閉系統。④舉例:用halt命令關閉系統,並不在/var/log/wtm檔作記錄。[root@localhostroot]#halt–d(3)shutdown命令①一般格式:shutdown[選項]②說明:該命令用於關閉系統,並向所有已登錄的用戶發送資訊,並向所有進程發送SIGTERM信號,通知進程關閉。③舉例:用shutdown命令關機。[root@localhostroot]#shutdown-d2.1.2修改口令1.選擇口令選擇用戶口令時,應遵守以下基本規則:(1)一個口令至少應有8個字元,包括字母、數字以及符號,例如ily&%wxy;(2)不能用姓名、別名、短語、字典中可以找到的詞從前向後或者從後向前拼寫的形式等作為口令;(3)不同的機器上要使用不同的口令。但是不要用機器名作為口令;(4)不要重複使用老口令,或許已將一個口令告訴過其他用戶;(5)如果你認為其他用戶已經知道了你的口令,就要及時修改口令;(6)口令應注意保密,不要把口令寫在你的桌面的紙上或者通過電子郵件發送出去,也不要與其他用戶共用一個口令;(7)要選擇一個你能記住的口令。如果你忘記了口令,就無法恢復它,但是系統管理員可以為你重新設置一個。2.更改口令可以利用passwd命令更改你的口令。具體過程如下:(1)登錄系統,在提示符下,輸入passwd命令:[wuxy@localhostwuxy]$passwd(2)在螢幕上馬上出現如下提示資訊:Changingpasswordforuserwuxy.Changingpasswordforwuxy(current)UNIXpassword:(輸入用戶口令)系統驗證無誤後,給出如下提示:Newpassword:(3)如果輸入一個合法的口令,系統要求再輸入一遍新口令,以便加以確認:RetryNewPassword:要求兩次輸入口令是一樣的.2.1.3良好的保密習慣1.鎖信終端會話如果必須離開終端一會兒,可以使用vlock命令來鎖住終端,使當前的會話不被他人看到。[wuxy@localhost/root]#vlockThisTTYisnowlocked.UseAlt-functionkeystoswitchtoothervirtualconsoles.Pleaseenterthepasswordtounlock.root'spassword:該鎖將一直鎖住這個顯示器,直到輸入這個用戶的登錄口令解開鎖。2.退出系統如果較長時間離開的終端,就應該退出系統,終止對系統的使用。要退出系統系統,應使用exit命令:[wuxy@localhost/root]#exit該命令終止你的shell進程,然後會提示開始新的註冊。2.2命令的使用2.2.1bash簡介
當用戶進入Linux環境時,系統將自動啟動相應的shell。shell是一種命令行解釋程式,負責用戶和操作系統的溝通。在提示符下輸入的每個命令都先由shell解釋,然後傳給Linux內核執行。通過shell,可以啟動、掛起、停止,甚至編寫程式。bash是BourneAgainshell的縮寫,其作者是BrainFox和ChetRamey,是向下相容的,並且吸收了了許多其他shell的優點,是一種功能全面的shell。2.2.2命令格式命令名[選項][參數1][參數2]……(1)命令名由小寫的英文字母構成,往往是表示相應功能的英文單詞或單詞的縮寫。(2)其中方括號括起的部分表明該項對命令行來說不是必須,即是可選的。(3)選項是對命令的特別定義,以“-”開始,多個選項可用一個“-”連起來(4)命令行的參數提供命令運行的資訊或者是命令執行過程中所使用的檔案名。(5)如果命令行中沒有提供參數,命令將從標準輸入檔(即鍵盤)接收數據,輸出結果顯示在標準輸出檔(即顯示器)上,而錯誤資訊則顯示在標準錯誤輸出檔(即顯示器)上。(6)命令在正常執行後返回一個0值,表示執行成功;如果命令執行過程中出錯,沒有完成全部工作,則返回一個非零值。2.2.3鍵入命令(1)在shell提示符下,可以輸入相應的命令。(2)shell命令可以識別大小寫,;(3)如果一個命令太長,一行放不下時,要在第一行行尾鍵入“\”字元和按回車鍵。這時shell會返回一個大於號(>)作為提示符,表示允許命令延續到下一行。然後,可以接著輸入命令。2.2.4修改命令行輸入錯誤(1)用退格鍵(Backspace)從後向前刪除有錯誤的字元,再鍵入正確的命令字符串;(2)用Crtrl+U鍵可以刪除游標所在的命令行。如果命令多於一行,首行末尾有反斜線,則只刪除當前行。2.2.5特殊字元(1)Ctrl+h鍵為默認的刪除符號,它的功能與Backspace鍵的功能相同;(2)Ctrl+u鍵可以刪除游標所在的命令行;(3)Ctrl+j鍵相當於按回車鍵;(4)如果在命令行中使用一對單引號,shell將不解釋被單引號括起的內容,包括其中的空格和回車字元;(5)分號可以將兩個命令隔開,這樣可以實現在一行中輸入多個命令。命令的執行順序與輸入的順序相同。2.3檔操作命令2.3.1檔系統概念1.檔與目錄的定義(1)檔系統:它是磁片上有特定格式的一片區域,操作系統通過檔系統可以方便地查尋和訪問其中所包含的磁片塊;(2)檔:檔系統中存儲數據的一個命名的對象。(3)目錄:其中包含許多檔專案的一類特殊檔。(4)子目錄:被包含在另一個目錄中的目錄。(5)檔案名:用來標識檔的字串,它保存在一個目錄檔項中。(6)路徑名:由斜線字元(/)結合在一起的一個或多個檔案名的集合。2.檔結構(1)檔的成份:無論檔是一個程式、一個文檔、一個資料庫,或者是一個目錄,操作系統都會賦予檔相同的結構,具體資訊如下:①索引節點:又稱I節點。②數據:檔的實際內容.(2)命名檔:檔案名保存在目錄檔中。為方便管理檔,應遵循以下規則:①檔案名應量簡單,並且應反映出檔內容。②除斜線(/)和空字元以外,檔案名可以包含任意的ASCII字元;③習慣上允許使用下線符(_)和句點(.)來區別檔的類型,使檔案名更易讀;但是應避免使用以下字元,因為對系統的shell來說,它們有特殊的含義。這些字元是:;|<>`“
‘$!%&*?\()[]④同類檔應使用同樣的尾碼或擴展名。⑤Linux系統區分檔案名的大小寫.⑥以圓點(.)開頭的檔案名是隱含檔,默認方式下使用ls命令並不能把它們在螢幕上顯示出來。3)檔案名擴展字元:為了能一次處理多個檔,shell提供了幾個特別字元,稱為檔案名擴展字元(也稱通配符)。檔案名擴展字元主要有:①星號(*):與0個或多個任意的字元相匹配,②問號(?):只與一個任意的字元匹配。③方括號([]):只與方括號中字元之一匹配,可以用短橫代表一個範圍內的字元,3.檔類型Linux操作系統支持以下檔類型:普通檔、目錄檔、設備檔和符號鏈接檔。(1)普通檔普通檔也稱為常規檔,包含各種長度的字串。(2)目錄檔目錄檔是一種特殊檔,利用它可以構成檔系統的分層樹形結構。(3)設備檔設備檔是一種特別檔,除了存放在檔I節點中的資訊外,它們不包含食任何數據。(4)符號鏈接檔符號鏈接檔是一種特殊檔,它們提供對其他檔的參照。2.3.2檔顯示命令1.cat命令cat命令連接檔並列印到標準輸出設備上。(1)一般格式:cat[選項]檔案名1[檔案名2](2)說明:該命令有兩項功能,其一是用來顯示檔的內容。(3)舉例:用cat命令顯示clear.txt檔內容。[root@localhost/root]$catclear.txt2.more命令如果檔太長,用cat命令只能看到檔的最後一頁,而用more命令時可以一頁一頁地顯示。(1)一般格式:more[選項]檔案名(2)說明:該命令一次顯示一屏文本,滿屏後顯示停下來,並且在每個螢幕的底部出現一個提示資訊,給出至今已顯示的該檔的百分比:--More-(xx%).(3)舉例:以每頁10行的格式顯示檔chap.txt。root@localhost/root]#more–10clear.txt3.less命令與more命令一樣,less命令也用來分屏檔內容,但功能比more命令還強大。(1)一般格式:less[選項]檔案名(2)說明:less實際上是more的改進版,其命令的直接含義是的more反義。它的功能比more命令更靈活。4.head命令head命令在螢幕上顯示指定檔的開頭若於行。(1)一般格式:head[參數]檔案名(2)說明:head命令在螢幕上顯示指定檔的開頭若干行,行數由參數值來確定。顯示行數的默認值是10。5.tail命令tail命令在螢幕上顯示指定檔的末尾若干行。(1)一般格式:tail[參數]檔案名(2)說明:顯示檔的最後部分內容。(3)舉例:顯示cd.txt檔的最後10行。[root@localhost/root]#tailcd.txt2.3.3匹配、排序命令1.grep命令該命令用來在文本檔中查找指定模式的單詞或短評,並在標準輸出上顯示包括給定字串模式的所有行。(1)一般格式:grep[選項]檔案名(2)說明:grep命令在指定檔中搜索特定模式以及定位特定主題等方面用途很大。(3)舉例:在口令檔/etc/passwd中查找包含“wuxy”的所有行[root@localhost/root]#grep–fwuxy/etc/passwd54:wuxy:x:504:504:wuxueyi:/home/wuxy:/bin/bash2.find命令在目錄結構中搜索滿足查詢條件的檔,並執行指定的操作。(1)一般格式:find[路徑…][運算式](2)說明:find命令從左向右分析各個參數,然後依次搜索目錄。(3)舉例:查找當前目錄中所有以m開頭的、後隨一個字母或數字的.c檔,並互動式地顯示某些檔內容。[root@localhost/root]#find-maxdepth1–name‘m?.c’
–okcat{}\;3.sort命令sort命令用於對文本檔的各行進行排序。(1)一般格式
sort[選項]檔列表(2)說明:sort命令將逐行對指定檔中的所有行進行排序,並將結果顯示在標準輸出上。(3)舉例:系統中有檔a.c,它的內容為:xfbeeI則對a.c進行排序。[root@localhost/root]#sorta.cbeefIX4.uniq命令該命令顯示檔中所有不重複的行。(1)一般格式uniq[選項]檔(2)說明:uniq命令讀取輸入檔,並比較相鄰的行,去掉重複的行,只留下其中的一行。(3)舉例:顯示檔a.c中不重複的行。[root@localhost/root]#uniq–ua.c2.3.4比較檔內容的命令1.comm命令(1)一般格式:comm.[-123]檔1檔2(2)說明:comm命令對兩個已經排好序的檔進行逐行比較。(3)舉例:對檔m1.c和m2.c進行比較,只顯示它們共有的行。[root@localhost/root]#comm–12m1.cm2.c2.diff命令(1)一般格式:diff[選項]檔1檔2(2)說明:該命令逐行比較兩個檔,列出它們的不同之處,並且告訴用戶,為了使兩個檔一致,需要修改它們的哪些行。(4)舉例:[例2.16]用diff命令比較檔m1.c和m3.c的區別。[root@localhost/root]#diffm1.cm3.c
2.3.5複製、刪除和移動檔的命令1.cp命令(1)一般格式:cp[選項]原始檔案或目錄目標檔或目錄(2)說明:cp命令將原始檔案或目錄複製貝到目標檔或目錄中。(3)舉例:將檔m3.c複製到目錄/usr/wuxy/tem下,並改名為m3bak.c[root@localhost/root]#cpm3.c/usr/wuxy/tem/m3bak.c2.rm命令(1)一般格式:rm[選項]檔列表(2)說明:該命令可以刪除一個目錄中的一個或多個檔或目錄,也可以將某個目錄及其下屬的所有檔及其子目錄均刪除。(3)舉例:互動式刪除當前目錄下的檔test和example。[root@localhost/root]#rm-itestexampleRemovetest?yRemoveexample?n將刪除檔test。3.mv命令(1)一般格式:mv[選項]原始檔案目標檔(2)說明:該命令用來移動檔或目錄,同時還可以在移動的同時修改檔案名或目錄名。增加了。(3)舉例:將檔m3.c改名為m3b.c[root@localhost/root]#mvm3.cm3b.c2.3.6檔內容統計命令(1)一般格式:wc[選項]檔列表(2)說明:該命令統計出指定檔的位元組數、字數、行數,並輸出結果。(4)舉例:統計檔m1.c和m3.c的位元組數、字數和行數。[root@localhost/root]#wc-lcwm1.cm3.c7863m1.c4430m3.c111293總用量2.4目錄及其操作命令2.4.1目錄結構1.樹型目錄結構Linux系統以檔目錄的方式來組織和管理系統中的所有檔。所謂檔目錄就是將所有檔的說明資訊採用樹型結構組織起來,即常說的目錄。2.工作目錄、用戶主目錄與路徑(1)工作目錄與用戶主目錄用戶在登錄到Linux系統之後,所在的目錄稱為工作目錄。(2)路徑顧名思義,路徑是指從樹型目錄的某個目錄層次到某個檔的一條道路。路徑主要是由目錄名稱構成,中間用“/”分隔。3.Linux系統主要目錄說明(1)/:根目錄,系統所有的目錄均從根目錄開始;(2)/bin:bin是二進位的英文縮寫。在一般的系統中,用於存放Linux最常用的命令;(3)/boot:引導核必的程式目錄。在使用LILO或GRUB引導Linux時,會用到這個目錄中的檔;(4)/dev:dev是設備的英文縮寫。這個目錄中包含了所有在Linux系統中使用的外部設備(5)/etc:etc是etcetera的縮寫。這個目錄包含了系統管理所需要的配置檔和子目錄,它是系統中最重要的目錄之一,用戶要用到的網路配置檔、檔系統、X-Winodws系統配置檔、設備配置資訊、設置用戶資訊等都在這個目錄下;(6)/sbin:這個目錄是用來存放系統管理員使用的系統管理程式,一般用戶沒有許可權訪問;(7)/home:用來存放用戶主目錄的地方。一般來說,“/home/用戶名”就是該用戶的主目錄;(8)/lib:lib是庫的英文縮寫。這個目錄是用來存放系統動態連接共用庫的。(9)/mnt:這個目錄在一般情況下是空的。可以臨時將別的檔系統掛在這個目錄下;(10)/proc:這個目錄是Linux提供的一個虛擬系統,該目錄下的檔並不存於硬碟中,而是由系統初啟的時候在內存中產生的。(11)/root:這個目錄是超級用戶root默認的主目錄,一般用戶沒有訪問許可權;12)/tmp:用來存放不同程式執行時產生的臨時檔;(13)/usr:是user的縮寫,Linux系統中佔用空間最大的目錄,用戶的很多應用程式和文件幾乎都存放在這個目錄中.(14)/var:主要存放一些系統記錄檔和配置檔,通常/var下麵的檔是提供給系統管理員對系統的用戶註冊、系統負載、安全性方面的查詢。2.4.2創建和刪除目錄的命令1.mkdir命令(1)一般格式:mkdir[選項]目錄名(2)說明:該命令創建由目錄名命令的目錄。(3)舉例:在目錄/usr/wuxy下建立子目錄data,並且只有檔主有讀、寫和執行許可權,其餘用戶無權限訪問。[root@localhost/root]#mkdir-m700/usr/wuxy/data2.rmdir命令當目錄不再被使用時或者磁片空間已到達使用限定值,就需要從檔系統中刪除失去使用價值的目錄。(1)一般格式:rmdir[選項]目錄名(2)說明:該命令從一個目錄中刪除一個或多個空的子目錄。(3)舉例:隔刪除子目錄bak和其父目錄bin。[root@localhost/root]#cd/usr/wuxy[root@localhost/root]#rmdir-p/bin/bak2.4.3改變工作目錄和顯示目錄內容命令1.cd命令(1)一般格式:cd[目錄名](2)說明:該命令用來改變工作目錄。當不帶任何參數時,返回到用戶的主目錄。(3)舉例:將當前目錄改到/usr/li[root@localhost/root]#cd/usr/li2.pwd命令(1)一般格式:pwd(2)說明:該命令不帶任何選或參數,用於顯示出當前工作目錄的絕對路徑。(3)舉例:顯示當前工作目錄。[root@localhost/root]#pwd/root3.ls命令(1)一般格式:ls[選項][目錄或檔](2)說明:該命令列出指定目錄的內容,默認情況下,輸出條目按字母順序排列。(4)舉例:[例2.30]列出當前目錄的內容,並按修改時間排序。[root@localhost/root]#ls-cdata m1.c Desktop mbox anaconda-ks.cfgwc.txt m2.c chap.txt evolution install.logm3.c a.c w.txt Screenshot.png install.log.syslog2.4.3鏈接檔的命令鏈接檔命令是ln命令,該命令在檔之間創建鏈接。這種操作實際上是給系統中已有的某個檔指定另外一個可用於訪問的名稱。(1)一般格式:ln[選項]原始檔案[目標](2)說明:鏈接的對象可以是檔,也可以是目錄。(3)舉例:將目錄/usr/wuxy下的檔m1.c鏈接到目錄/usr/li下文件a2.c[root@localhost/root]#ln/usr/wuxy/m1.c/usr/li/a2.c2.4.4改變檔或目錄存取許可權的命令在Linux系統中,它為每個檔都分配了一個檔所有者,稱為檔主。對檔的控制取決於檔主和超級用戶。用戶組是由多個用戶組成,屬於同一用戶組的用戶具有用戶組所擁有一切許可權。如果一個檔屬於一個用戶組,則這個用戶組內的全部成員對這個檔擁有相同的許可權。Linux系統中的每個檔和目錄都有存取許可許可權,用它來確定用戶通過何種方式對檔、目錄的訪問與操作。1.chmod命令(1)一般格式:chmod[選項]檔和目錄列表(2)說明:改變或設置檔或目錄的存取許可權。(3)舉例:將檔ex1的許可權改為所有用戶都可執行許可權:[root@localhost/root]#chmoda+xex12.umask命令(1)一般格式:umask[選項][掩碼](2)說明:該命令用來設置限制新檔許可權的掩碼。(3)舉例:設置用戶的掩碼為檔主有讀、寫、執行許可權,同用戶有讀、寫許可權,其他用戶中具有讀許可權;①採用字元模式[wuxy@localhostwuxy]#umasku=rwx,g=rw,o=②採用八進制模式[root@localhostwuxy]#umask0172.4.5改變用戶組和文件主的命令1.chgrp命令(1)一般格式:chgrp[選項]組名檔案名(2)說明:該命令用來改變指定檔所屬的用戶組。(3)舉例:將/usr/wuxy及其子目錄下的所有檔的用戶組改為wugao[root@localhost/root]#chgrp-Rwugao/usr/wuxy2.chown命令(1)一般格式:chown[選項]用戶或組檔案名(2)說明:該命令用於改變某個檔或目錄的所有者和所屬的組,即可以向某個用戶授權,使他變成指定檔的所有者或者改變檔所屬組。(3)舉例:將目錄/usr/wuxy及其下麵的所有檔、子目錄的檔主改變成li。[root@localhost/root]#chown-Rli/usr/wuxy2.5檔壓縮命令1.gzip命令(1)一般格式:gzip[選項]壓縮檔案名/解壓縮檔案名(2)說明:該命令用於對檔進行壓縮和解壓縮。它用Lempel–Ziv編碼減少命名檔的大小,被壓縮的檔擴展名是.gz。(3)舉例:把/usr/wuxy目錄下的每個檔都壓縮成.gz檔[root@localhost/root]#cd/usr/wuxy[root@localhost/root]#gzip*2.unzip命令(1)一般格式:unzip[選項]壓縮檔案名(2)說明:該命令用於對winZip格式的壓縮檔進行解壓縮.(3)舉例:將壓縮檔test.zip在當前目錄解壓縮。[root@localhost/root]#unzip-vtest.zip3.tar命令(1)一般格式:tar[選項]檔或目錄名(2)該命令對檔和目錄進行打包。(3)舉例:將/usr/wuxy目錄下的檔案名和子目錄備份到wuxy.tar文檔中。[root@localhost/root]#tar–uvfwuxy.tar/usr/wuxy2.6聯機幫助命令1.man命令(1)一般格式:man[選項]命令名(2)說明:該命令用於格式化並顯示某一命令的聯機幫助手冊頁。(3)舉例:查看mkdir命令的用法。[root@localhost/root]#manmkdir2.help命令(1)一般格式:help命令(2)說明:該命令用來查看所有shell內置命令的幫助資訊。(3)舉例:查看cd命令的幫助。[root@localhost/root]#helpcd2.7進程控制命令2.7.1查看系統的進程要管理進程,首先要知道系統裏有哪些進程存在及進程的狀態如何。可以使用ps命令。(1)一般格式:ps[選項](2)說明:該命令用來查看當前系統中運行的進程的資訊(3)舉例:列出當前shell有關的進程基本資訊。[root@localhost/root]#psPIDTTYTIMECMD3235tty200:00:00bash3815tty200:00:00ps2.7.2進程控制1.kill命令(1)一般格式:kill[選項]進程號(2)說明:用來終止一個進程的運行。(3)舉例:終止進程號為3267的進程。[root@localhost/root]#kill32672.sleep命令(1)一般格式:slepp時間值(2)說明:該命令是使進程暫停執行一段時間。(3)舉例:[例2.48]進程暫停100秒,然後創建/home/test目錄。[root@localhost/root]#sleep100;mkdir/home/test2.8網路命令1.hostname命令(1)一般格式:hostname[選項][主機名](2)說明:顯示或設置系統的主機名;如果無任何選項和主機名,則用於顯示系統的主機名。(3)舉例:顯示本機的主機名。[root@localhost/root]#hostnamelocalhost.localdomain2.ping命令(1)一般格式ping[選項]主機名(或IP地址)(2)說明:測試本主機和目標主機的連通性。Ping命令使用ICMP協議,向網路主機發送ECHO_REQUEST數據包,希望獲得主機的ICMPECHOP_RESPONSE應答數據包,以判斷和網路主機之間的連接情況。(3)舉例:測試本機與IP地址為6的機器是否連通,發送10個包,每個包間隔為2秒。[root@localhost/root]#ping-c10–i263.host命令(1)一般格式:host[選項]主機名或IP地址(2)說明:該命令用於IP地址查找,它有兩種功能:一個用來查找指定IP的網路功能變數名稱,另一個是用來查找指定功能變數名稱的IP地址。(3)舉例:查找所對應功能變數名稱。[root@localhost/root]#host02.in_.domainnamepointer.4.ifconfig命令(1)一般格式:ifconfig網卡號[選項][IP地址](2)說明:該命令用於配置常駐記憶體的網路介面,如果不指定任何選項,則顯示當前網路狀態。(3)舉例:顯示當前主機的網卡資訊。[root@localhost/root]#ifconfig5.traceroute命令(1)一般格式:traceroute目標主機名或IP地址(2)說明:該命令顯示本機到達目標主機的路由路徑。Internet是一個由網關連接起來的子網集合,要跟蹤一個數據包所經過的路程是很困難的事情。Traceroute利用IP協議,通過數據包的TTL部分獲得各個網關資訊。(3)舉例:顯示到路徑。[root@localhost/root]#tracerout
6.netstat命令(1)一般格式:netstat[選項](2)說明:該命令用來顯示各種各樣的與網路相關的狀態資訊,主要包括:查看網路的連接狀態、檢查介面的配置資訊、檢查路由表、取得統計資訊。(3)舉例:顯示網卡的統計數。[root@localhost/root]#netstat–i7.finger命令(1)一般格式:finger[選項][user@host..](2)說明:該命令用於顯示主機系統中用戶的資訊;(3)舉例:顯示用戶wuxy的詳細資訊。[root@localhost/root]#finger–swuxy2.9其他命令1.clear命令(1)一般格式:clear(2)說明:該命令用於清除螢幕上的資訊,類似於DOS中的cls命令。清屏後,提示符移到螢幕的左豐角。2.who命令(1)一般格式:who[選項](2)說明:該命令將列出所有正在使用系統的用戶,與之相關的命令是whoami,它將顯示當前用戶的資訊。(3)舉例:列出所有正在使用系統的用戶。[root@localhost/root]#whoroottty1Feb1719:40wuxytty2Feb1721:11root:0Feb1720:26rootpts/0Feb1720:263.echo命令(1)一般格式:echo[選項]字串(2)說明:該命令的功能是在螢幕上顯示命令行中所給出的字串。該命令往往用於shell腳本中,作為一種輸出提示資訊的手段。(3)舉例:顯示字串“Thisisaexampleforechocommand.”[root@localhost/root]#echo“Thisisaexampleforechocommand.”Thisisaexampleforechocommand.4.date命令(1)一般格式:date[選項]時間(2)說明:用於在螢幕上顯示或設置系統的日期和時間。(3)舉例:顯示現在的日期和時間。[root@localhost/root]#date四2月1721:57:13CST20055.cal命令(1)一般格式:cal[選項][日期](3)舉例:顯示2006年7月的日曆。[root@localhost/root]#cal620066.alias命令(1)般格式:alias命令別名=“命令行”(2)說明:該命令用於設置別名或顯示已有的別名命令。(3)舉例:顯示系統已經定義的別名。[root@localhost/root]#aliasaliascp='cp-i'aliasl.='ls-d.*--color=tty'
第3章vi編輯器內容提要VI的工作方式VI的啟動與退出文本輸入打開檔保存檔檔修改EX命令3.1vi的工作方式vi編輯器有三種工作方式:命令方式、輸入方式和ex轉義方式。通過相應的命令或操作,在這三種工作方式之間可以進行轉換。3.1.1命令方式當輸入命令vi後,進入vi編輯器時,就處於vi的命令方式。3.1.2輸入方式通過輸入vi的插入命令(i)、附加命令(a)、打開命令(o)、替換命令(s)、修改命令(c)或取代命令(r)可以從命令方式進入到輸入方式。3.1.3ex轉義方式vi和ex編輯器的功能是相同的,二者的主要區別是用戶介面。在vi中,命令通常是一個字元,例如a、x、r等。而在ex中,命令是以回車鍵結束的正文行。vi有一個專門的“轉義”命令,可訪問很多面向行的ex命令。為使用ex轉義方式,可輸入一個冒號(:)。冒號作為ex命令提示符出現在狀態行(通常在螢幕最下一行)。按下中斷鍵(通常是Del鍵)可終止正在執行的命令。多數檔管理命令都是在ex轉義方式下執行的(例如,讀取檔,把編輯緩衝區的內容寫到檔中等)。3.2vi的啟動和退出3.2.1啟動vi在系統提示符下輸入命令vi和想要編輯(建立)的檔案名,便可進入vi。3.2.2退出vi在vi的ex轉義方式下有4種方法可以退出vi編輯器:(1):wq的功能是把編輯緩衝區的內容寫到指定的檔中,退出編輯器,回到shell狀態下。(2):ZZ的功能是僅當對所編輯的內容做過修改時,才將緩衝區的內容寫到指定檔上;(3):x的功能與:ZZ相同。(4):q!的功能是強行退出vi。3.3文本輸入3.3.1插入命令插入命令有兩個,即i和I。(1)在i命令之後輸入的內容都插在游標位置之前,游標後的文本相應向右移動。如按下回車鍵,就插入新的一行或者換行。(2)輸入I命令後游標所在行的行首插入新增文本,行首是該行的第一個非空白字元。當輸入I命令時,游標就移到行首。3.3.2附加命令附加命令有兩個,即a和A。(1)a命令:該命令之後輸入的字元都插入到游標之後,游標可在一行的任何位置。(2)A命令:在游標所在行的行尾添加文本。當輸入命令A後,游標自動移到該行的行尾。A命令是把文本添加到行尾的惟一方法。3.3.3打開命令打開命令有兩個,即o和O。(1)o命令:在游標所在行的下麵新開闢一行,隨後輸入的文本就插入在這一行上。(2)O命令:在游標所在行的上面新開闢一行,隨後輸入的文本就插入在這一行上。3.3.4輸入方式下游標移動在鍵盤的右下方有4個表示方向的方向鍵,利用它們可以在輸入方式下移動游標。每按一次上下方向鍵,游標相應移動一行;左右方向鍵每按一次,游標在當前行上相應移動一個字元位置。當游標位於行首(或行尾)時,又按下左向鍵(或右向鍵),系統會發出嘟嘟聲,並且返回到命令方式。還可用下列一些組合鍵來移動游標:(1)Ctrl+u鍵:將游標回退到剛插入字串的第一個字元,刪除剛插入的字串,並重新開始插入。(2)Ctrl+w鍵:將游標移到最後插入單詞的首字元。(3)Ctrl+t鍵:在插入正文時,如果游標在當前行的開頭,並且設置了自動縮進選項,那麼,這個命令就插入縮進所對應的空格。3.4打開檔3.4.1打開一個檔用vi打開檔的方法很簡單,在vi命令後面接上路徑及檔案名,然後回車,就像下麵這樣:vivi_test3.4.2打開多個檔vi能夠一次打開多個檔。打開多個檔的語法如下:vi檔1檔2在輸入上述的命令之後,vi將第一個檔讀入緩衝區,並在游標定位在左上角。用戶可以輸入“:next”命令來編輯下一個檔。3.4.3用vi打開多窗口在vi裏也可以用多個窗口打開多個檔,只需給vi傳遞一個參數。語法如下:vi–o檔1檔2前面所編輯兩個檔,可以在兩個窗口中進行編輯,命令如下:[root@localhostroot]#vi–ofile1file23.5保存檔在用戶錄入文本的時候,要不斷地存盤。三個命令存盤為::w將緩衝區的內容寫到上一次指定的檔(上一次保存時的檔,如未保存則是打開時的檔);:wfile將緩衝區的內容寫到名為file的檔裏;:w!file強制將緩衝區的內容寫到file中。3.6移動游標1.用四個箭頭鍵移動游標箭頭鍵是最基本的移動方法。大多數的系統都是支持箭頭鍵。2.用命令移動游標在命令模式裏,vi還可以使用命令來移動游標。3.7文本修改3.7.1刪除與替換1.刪除在輸入模式下,用戶可以用Backspace(退格鍵)來刪除前面的字元,還可以用Delete(刪除鍵)來刪除當前的字元。
刪除命令命令作用X刪除當前游標所在字元dw刪除當前游標所在單詞字元至下一個單詞開始的幾個字元d$(或shift+d)刪除從當前游標至行尾的所有字元dd整行刪除2.替換在vi的命令模式下還提供了幾個命令來替換一個字元、一個單詞或是進行整行刪除,見表3-3。表3-3替換命令命令作用R替換游標所在的字元R替換字元序列cw替換一個單詞Ce同cwCb替換游標所在的前一字元c$替換自光標位置至行尾的所有字元cc替換當前行3.7.2查找vi提供幾種查找命令,如表3-4所示。表3-4查找命令命令作用?字串向後查找字串/字串向前查找字串N繼續上一次查找N以與上一次相反的方向查找3.7.3複製、粘貼、剪切在vi編輯器中複製的方法有兩種,分別是滑鼠方式和命令方式。如果用戶安裝了滑鼠並且安裝了滑鼠驅動程式gpm,那麼在vi編輯器裏用戶可以用滑鼠來複製和粘貼檔。在用戶要複製的文本開始處按下滑鼠的左鍵並拖動它,用戶將看到被滑鼠掃過的文字都由原來的黑底白字變成了白底黑字。亮條標誌了用戶選定的文本。在用戶要複製文本的最後一個字上放開左鍵,就完成了對選定文本的複製。選定的文本就被送到了緩衝區。在用戶鬆開滑鼠的時候,白色亮條並不消失。vi也提供命令方式來複製文字,而且複製的對象也分為單詞和行。具體的各個命令如表3-5所示表3-5複製命令命令作用Yw游標至下一個單詞開始的內容y$複製當前游標至行尾的內容yy
或Y複製整行2.粘貼對於不同的複製方法有不同的粘貼方法。 如果用戶是用滑鼠複製,那麼在用戶要粘貼的時候,首先應該用鍵盤來移動游標,將游標移動至用戶要粘貼的位置。記住一定要把游標放在那個位置後面,因為滑鼠操作會粘貼到游標所在位置的前面。vi的粘貼命令很簡單,只有兩個:(1)p:在當前游標後面粘貼;(2)shift+h:在當前游標前面粘貼。3.剪切在vi中所有的刪除動作都是剪切。因為刪除的內容都被送到了剪貼板。3.7.4重複vi編輯器會記錄上一次的操作,在用戶需要重複這樣的操作的時候,只需在命令模式下按一下“.”鍵就可以了。3.7.5撤銷撤銷命令很簡單,它有兩種形式:(1)u命令:取消上次的操作;(2)U命令:可以恢復對光所在行的所有改變。3.8ex命令3.8.1命令定位Ex有兩種定位命令.一種辦法是指定行號,例如,:20+回車將游標移到第20行的行首。另一種辦法是給定模式,向前或向後查找。例如,:/this?按回車鍵從游標所在行向前查找給定模式this,游標停在第一個與this匹配的行的行首。3.8.2常用ex命令1.e命令e命令常用形式如下:(1)e檔案名——它編輯由檔案名指定的檔,它不同於前面正在編輯的檔。(2)e!檔案名——它不把修改過的當前檔從編輯緩衝區中寫出去,從而忽略在編輯新檔之前所做的全部修改。(3)e+n檔案名——它從第n行開始編輯指定的檔。參數n也可以是不包含空格的編輯命令,如+/模式。按Ctrl+^鍵將返回到上一個編輯檔的先前位置。它等價於:e#按回車鍵。2.w命令w(寫)命令可把編輯緩衝區中全部或者部分內容寫到當前檔或者另外某個檔中。它有以下幾種常用形式:(1)W檔案名——它把所做的修改寫回到指定的檔,並顯示所寫的行數和字元數。(2)w>>檔案名——它把緩衝區內容附加到現有檔的末尾,先前檔內容並不被破壞。(3)W!檔案名——它可以跳過通常寫命令對檔的檢查,將緩衝區內容寫到系統允許的任何檔上。注意:感嘆號(!)之後有空格。(4)W!命令——它將指定的各行寫入指定命令中。注意:感嘆號(!)之前有空格。而命令的輸出顯示在螢幕上,並不插入到編輯緩衝區中。3.r命令r(讀)命令把文本讀入編輯緩衝區的任意指定位置。所讀入文本必須至少有一行長,可以是一個檔或者命令的輸出。它有以下幾種常用形式:(1)r檔案名——它將指定檔的文本副本放入緩衝區中指定行之後。(2)r!命令——它把命令的輸出讀到緩衝區指定行之後,注意在感嘆號(!)之前有空格。4.q命令q(退出)命令可從vi中退出來。它有下述5種使用方式。(1)q——它的功能是退出vi。(2)q!——它的功能是立即從vi中退出,不保留所做的修改,也不顯示任何提示資訊。(3)wq檔案名——它的功能等價於執行w命令後又執行q命令。(4)wq!檔案名——它的功能是忽略執行w命令之前通常所做的檢查。(5)x檔案名——它的功能是,如果該檔做過修改,並且尚未寫出去,那麼這個命令就把緩衝區內容寫出去,然後退出vi;否則,只是退出vi.
第4章shell編程內容提要SHELL概述創建和執行SHELL腳本SHELL特殊字元SHELL變數正則運算式與算術運算式控制結構其他命令函數調試SHELL腳本4.1shell概述4.1.1shell特點(1)對已有命令進行適當組合,構成新的命令,而且組合方式很簡單;(2)提供了檔案名擴展字元使得用單一的字串可以匹配多個檔案名,(3)可以直接使用shell的內置命令,而不需創建新的進程,;4)shell允許靈活地使用數據流,提供通配符、輸入/輸出重定向、管道線等機制,方便了模式匹配、I/O處理和數據傳輸;(5)結構化的程式模組,提供了順序流程控制、分支流程控制、迴圈流程控制等;(6)shell提供了在後臺(&)執行命令的能力;(7)shell提供了可配置的環境,允許用戶創建和修改命令、命令提示符和其他的系統行為;(8)shell提供一個高級的命令語言,允許用戶能創建從簡單到複雜的程式。4.1.2shell的主要版式本在Linux系統中常見的shell版本有以下幾種。(1)Bourneshell(sh):它是UNIX最初使用的shell,並且在每種UNIX上都可以使用。它在shell編程方面相當優秀,但處理與用戶的交互方面不如其他幾種shell。(2)Cshell(csh):它最初由BillJoy編寫,它更多地考慮了用戶介面的友好性,支持如命令補齊等一些Bourneshell所不支持的特性,但其編程介面做得不如Bourneshell。Cshell被很多C程式員使用,因為Cshell的語法和C語言的很相似,Cshell也由此得名。(3)Kornshell(ksh):它集合了Cshell和Bourneshell的優點,並且和Bourneshell完全相容。(4)BourneAgainshell(bash):bash是大多數Linux系統的默認shell。它是Bourneshell的擴展,並與Bourneshell完全向後相容,而且在Bourneshell的基礎上增加和增強了很多特性。。(5)tcsh:它是Cshell的一個擴展版本,與csh完全向後相容,但它包含了更多使用戶感覺方便的新特性,其最大的提高是在命令行編輯和歷史流覽方面。它不僅和Bashshelll提示符相容,而且還提供比Bashshell更多的提示符參數。(6)pdksh:它是一個專門為Linux系統編寫的Kornshell(ksh)的擴展版本。Ksh是一個商用shell,不能免費提供,而pdksh是免費的4.2創建和執行shell腳本1.建立shell腳本shell腳本(shellscript)是指使用用戶環境shell提供的語句所編寫的命令檔。shell腳本可以包含任意從鍵盤輸入的Linux命令。建立shell腳本的步驟與建立普通文本檔的方式相同,利用文字編輯器(如vi)進行程式錄入和編輯加工。例如建立一個名為ex1的shell腳本,可提示符後輸入命令:$viexample1[例4.1]顯示當前的日期時間、執行路徑、用戶帳號及所在的目錄位置。在命令行中輸入:$viexample1在vi編輯器中輸入下列內容:#!/bin/bash#Thisscriptisatest!echo–n“Dateandtimeis:”dateecho–n“Theexecutablepathis:”$PATHecho“Yournameis:`whoami`”echo-n“Yourcurrentdirectoryis:”pwd#end2.執行shell腳本執行shell腳本的方式基本上有下述三種:(1)輸入定向到shell腳本。其一般形式是:$bash<腳本名例如:$bash<example1(2)以腳本名作為參數。其一般形式為:$bash腳本名[參數]例如,$bashexample1如果以當前shell執行一個shell腳本,則可以使用如下簡便形式:$.腳本名[參數](3)將shell腳本的許可權設置為可執行,然後在提示符下直接執行它。使用chmode命令修改檔的屬性,然後再執行例如,$chmoda+xexample1$example14.3shell特殊字元4.3.1引號在shell中引號分為三種:雙引號、單引號和倒引號。1.雙引號由雙引號括起來的字元,除$、倒引號(`)和反斜線(\)仍保留其特殊功能外,其餘字元均作為普通字元對待。例1雙引號的作用。[wuxy@localhostpro]$catexample2echo“currentdirectoryis`pwd`”echo“homedirectoryis$HOME”echo“file*.?”echo“directory‘$HOME’”[wuxy@localhostpro]$bashexample2currentdirectoryis/home/wuxy/prohomedirectoryis/home/wuxyfile*.?directory‘/home/wuxy’2.單引號由單引號括起來的字元都作為普通字元出現。例2:$str=’echo“directoryis$HOME”’$echo$strecho“directoryis$HOME”注意:被單引號括進來的所有字元都照原樣顯示出來,特殊字元也失去原來的意義。3.倒引號倒引號括起來的字串被shell解釋為命令行,在執行時,shell會先執行該命令行,並以它的標準輸出結果取代整個倒引號部分。例3.[wuxy@localhostpro]$echocurrentdirectoryis`pwd`currentdirectoryis/home/wuxy/pro4.反斜線反斜線是轉義字元,它能把特殊字元變成普通字元。在某個字元前面利用反斜杠(\)能夠阻止shell把後面的字元解釋為特殊字元。例4:[wuxy@localhostpro]$echo“FilenameisN0\$\*”FilenameisN0$*注意:在單引號括起來的字串中,反斜線也成為普通字元,而失去轉義字元功能。4.3.2輸入輸出重定向在Linux系統中,執行一個shell命令時通常會自動打開三個標準檔,即標準輸入檔,標準輸出檔和標準出錯輸出檔.在shell中,這三個檔都可以通過重定向符進行重新定向。1.輸入重定向符輸入重定向符“>”的作用是把命令(或可執行程式)的標準輸入重新定向到指定檔。輸入重定向的一般形式:命令<檔案名例子5:[wuxy@localhostpro]$score<infile在score程式執行時從infile檔讀取數據.2.輸出重定向符輸出重定向符“>”的作用是把命令(或可執行程式)的標準輸出重新定向到指定檔。這樣,該命令的輸出就不在螢幕上顯示,而是寫入指定檔中。輸出重定向一般形式:命令>檔案名例:[wuxy@localhostpro]$who>outfile作用:命令who的輸出重新定向到outfile檔中,在螢幕上看不到who的執行結果。
3.輸出附加重定向符輸出附加重定向符“>>”的作用是把命令(或可執行程式)的輸出附加到指定檔的後面,而該檔原有內容不被破壞。輸出附加重定向的一般形式是:命令>>檔案名例:[wuxy@localhostpro]$ps–a>>outfile則把ps命令的輸出附加到檔outfile的結尾處。4.即時檔定向符即時檔是由重新定向符“<<”、一對標記符以及其中的若干輸入符組成。它允許把shell程式的輸入行重新定向到一個命令中。即時檔的形式是:命令[參數]<<標記符輸入行……標記符注意:使用較少4.3.3注釋和管道線1.注釋shell腳本中以“#”開頭的正文行表示注釋.#!/bin/bash#Thisscriptisatest!echo–n“Dateandtimeis:”dateecho–n“Theexecutablepathis:”$PATHecho“Yournameis:`whoami`”這是注釋2.管道線在Linux系統中,管道線是由豎杠(|)隔開的若干個命令組成的序列。在管道線中,每個命令執行時都有一個獨立的進程,前一個命令的輸出正是下一命令的輸入。例如:[wuxy@localhostpro]$ls-l|wc-l4.3.4命令執行操作符1.順序執行每條命令或管道線可單獨占一行,按其出現順序依次執行。例如:[wuxy@localhostpro]$pwd[wuxy@localhostpro]$who|wc-l[wuxy@localhostpro]$cd./usr/bin也可將這些命令在一行中輸入,此時,各條命令之間應以分號(;)隔開,例如:[wuxy@localhostpro]$pwd;who|wc–l;cd/usr/bin在執行時,以分號隔開的各條命令從左到右依次執行,即前面命令執行成功與否,並不影響其後命令的執行。它與上面寫成多行的形式是等價的。2.邏輯與邏輯與操作符“&&”可把兩個命令聯繫在一起,其一般形式是:命令1&&命令2其功能是,先執行命令1,如果執行成功,才執行命令2;否則,若命令1執行不成功,則不執行命令2。例如:[wuxy@localhostpro]$cpexample1example11&&rmexample1用&&可以把多個命令聯繫起來,格式如下:命令1&&命令2&&命令3……&&命令n3.邏輯或邏輯或操作符“||”可把兩個命令聯繫起來,其一般形式是:命令1||命令2其功能是,先執行命令1,如果執行不成功,則執行命令2;否則,若命令1執行成功,則不執行命令2。例如:[wuxy@localhostpro]$catexample11||pwd利用“||”可把多個命令聯繫起來,格式如下:命令1||命令2||命令3……||命令n4.4shell變數SHELL支持各種類型的變數。主要有三種變數類型:用戶變數、內部變數和環境變數。用戶變數是在編寫shell腳本時定義的。可以在shell程式內任意使用和修改它們。內部變數是由系統提供的。與環境變數不同,但用戶不能修改它們。環境變數是系統環境的一部分,不必去定義它們,可以在shell程式中使用它們。還能在shell中加以修改。4.4.1用戶變數1.變數名用戶定義的變數是最普通的shell變數。變數名是以字母或下線符開頭的字母、數字和下線符序列,並且大小寫字母意義不同。2.變數賦值給變數賦值的過程也是聲明一個變數的過程。變數的賦值很簡單,其一般形式是:變數名=字串/數字例如:lcount=0myname=wangtong3.訪問變數值可以通過給變數名加上首碼$(美元符)來訪問變數的值。例如:如果要把myname的值分配給變數yourname,那麼可以執行下麵的命令:yourname=$myname4.4.2內部變數內部變數是Linux所提供的一種特殊類型的變數,這類變數在程式中用來作出判斷。在shell程式內這類變數的值是不能修改的。部分內部變數是:$#——傳送給shell程式的位置參數的數量$?——最後命令的完成碼或者在shell程式內部執行的shell程式(返回值)$0——shell程式的名稱$*——調用shell程式時所傳送的全部參數成的單字符串4.4.3環境變數Linux環境(也稱為shell環境)由許多變數及這些變數的值組成,由這些變數和變數的值決定環境外觀。這些變數就是環境變數。主要環境變數的有:(1)HOME:用戶目錄的全路徑名。(2)LOGNAME:即用戶的註冊名,由Linux自動設置。(3)MAIL:用戶的系統信箱的路徑。(4)PATH:shell從中查找命令的目錄列表。(5)PS1:shell的主提示符。6)PWD:用戶當前工作目錄的路徑。它指出用戶目前在Linux檔系統中處在什麼位置。它是由Linux自動設置的。(7)SHELL:用戶當前使用的shell。它也指出你的shell解釋程式放在什麼地方。(8)TERM:用戶終端類型。DEC公司制定的vt-100終端的特性,被許多廠商接受,也被許多終端軟體仿真,成為廣泛使用的標準設置。4.4.4位置參數1.位置參數及引用可以編寫一個shell腳本,當從命令行或者從其他shell腳本中調用它的時候,這個腳本接收若干參數。這些選項是通過Linux作為位置參數(positionalparameter)提供給shell程式的。在shell腳本中應有變數,接收實參,這類變數的名稱很特別,分別是1,2,3,…,這類變數稱為位置變數。位置參數1存放在位置變數1中,位置參數2存放位置變數2中,……,在程式中可以使用$1,$2,……來訪問,2.用set命令為位置參數賦值在shell程式中可以利用set命令為位置參數賦值或重新賦值。(1)一般格式:set[參數表](2)說明:該命令後面無參數時,將顯示系統中的系統變數的值;如果有參數將分別給位置參數賦值。3.位置參數移動當位置變數個數超出9個時,就不能直接引用位置大於9的位置變數了,必須用shift命令移動位置參數。(1)一般形式:shift[n](2)說明:每次執行時,把位置參數向左移動n位。如果沒有參數,每次執行時,把位置參數向左移動1位。4.5正則運算式與算術運算4.5.1正則運算式正則運算式是一種可以用於模式匹配和替換的工具,可以讓用戶通過使用一系列的特殊字元構建匹配模式,然後把匹配模式與待比較字串或檔進行比較,根據比較對象中是否包含匹配模式,執行相應的程式。1.一般通配符通配符用於模式匹配,常用的通配符有6種。(1)*(星號),它匹配任意字元的0次或多次出現。(2)?(問號),它匹配任意一個字元。(3)[](一對方括號),其中有一個字元組。其作用是匹配該字元組所限定的任何一個字元。(4)!(驚嘆號),如果它緊跟在一對方括號的左方括弧[之後,則表示不在一對方括號中所列出的字元。(5)^(冪次方號),只允放在一行的開始匹配字串。(6)$(美元號),只在行尾匹配字串,它放在匹配單詞的後面。2.模式運算式模式運算式是那些包含一個或多個通配符的字串。(1)*(模式表),匹配給定模式表中“模式”的0次或多次出現,各模式之間以“|”分開。例如,file*(.c|.o)匹配檔fle.c、file.o、file.c.o、file.c.c、file.o.c、file等,但不匹配file.h、file.s等。(2)+(模式表),匹配給定模式表中“模式”1次或多次出現,各模式之間以“|”分開。例如,file+(.c|.o)匹配檔file.c、file.o、file.o.c、file.c.o等,但不匹配file。(3)?(模式表),匹配模式表中任何一種“模式”的0次或1次出現,各模式之間以“|”分開。例如,file?(.c|.o)只匹配file、file.c、file.o等,不匹配file.c.c、file.c.o等。(4)@(模式表),僅匹配模式表中給定“模式”的一次出現,各模式之間以“|”分開。例如,file@(.c|.o)只匹配file.c和file.o,但不匹配file、file.c.c、file.c.o等。(5)!(模式表),除給定模式表中的一個“模式”之外,它可以匹配其他任何字串。4.5.2算術運算bash中執行整數算術運算的命令是let,其語法格式為:let參數……其中參數是單獨的算術運算式。let命令的替代表示形式是:((算術運算式))4.6控制結構4.6.1條件語句1.條件測試在shell中,測試條件運算式中只能通過使用test命令來完成。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 13237-2026优质碳素结构钢冷轧钢板及钢带
- GB/T 47748-2026起重机械钢结构焊接技术规范
- 八年级道德与法治湘教版课后巩固第一单元同步测试卷基础版A卷
- 高意向成交版2026中考道德与法治材模板
- 痛风健康宣教板报
- 职业教育教师规划
- 冬季防冻安全生产讲解
- 新冠肺炎后毕业生就业前景分析
- 安全生产整改抽查讲解
- 2026合同用印授权与归档流程SOP合同
- 2026年广东省中考化学试卷(含答案及解析)
- 2026年全国保密教育线上培训考试题库(含标准答案)
- 2026广西来宾市机关事务管理中心招聘事业单位后勤服务控制数人员1人笔试备考题库及答案详解
- 专业护理技术操作标准规范
- (必刷)山东省大数据专业高级职称(大数据应用分析专业)考点精粹必做500题-含答案
- 市政给水管网竣工资料方案
- 2025ESTRO实践建议:放射性皮炎的管理解读
- 2026年深圳市高三语文第二次调研考试作文评分细则及标杆卷点评:粒子加速器
- 2026 氯碱电解工艺证考试练习题库 含答案
- 学校厨房安全检查制度
- 石林国有资本投资集团有限公司招聘笔试题库2026
评论
0/150
提交评论