《Linux常用命令》PPT課件.ppt
《《Linux常用命令》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《Linux常用命令》PPT課件.ppt(120頁珍藏版)》請在裝配圖網(wǎng)上搜索。
附錄2,Linux常用命令,操作系統(tǒng)——馮耀霖,主題,?用戶與用戶組管理命令 ?目錄和文本操作命令 ?其他命令 ?shell編程概念 ?C程序開發(fā),一、用戶和組管理命令,◆groupadd ◆useradd ◆passwd ◆usermod ◆gpasswd,以組為單位管理用戶,賦予同組用戶和非同組用戶(其他用戶)不同的資源訪問權(quán)限,是UNIX/Linux管理用戶的一個基本策略。 在“企業(yè)網(wǎng)”的Linux服務(wù)器管理過程中,在新用戶注冊時,系統(tǒng)管理員必須將新用戶加入進(jìn)一個用戶組,絕不能使該用戶不屬于任何一個組而成為散兵游勇,否則,只能說明你的管理策略很失敗,你將不能有效地管理系統(tǒng)中的所有用戶。因為你添加一個用戶總是有目的的,這個用戶需要做什么事情呢?你應(yīng)該把他加入到相應(yīng)的組中,根據(jù)具體情況,用戶組可以按項目、部門、組織等劃分。一個用戶至少屬于一個組,也可以隸屬多個組。,注意:Linux用戶組與Windows用戶組在概念上有所不同,在Windows中,用戶組可以是嵌套組,即一個用戶組的整體可以作為另一個用戶組的成員;而Linux用戶組是不能嵌套的。,1. groupadd命令,●功能:新建用戶組 ●執(zhí)行權(quán)限:超級用戶 ●語法: groupadd [選項] 用戶組名 ●選項 -g gid:指定該組的GID。不常用。 范例: groupadd project1 groupadd -g 888 leaders //建立用戶組leaders,GID為888,2. useradd命令,●功能:新建用戶賬號 ●執(zhí)行權(quán)限:超級用戶 ●語法: useradd [選項] 用戶賬號 ●常用選項 -g name:指定該用戶的初始組/基本組。必須選用!! -c string:備注信息,若含有空格,需用雙引號擴起 -e date:失效日期,日期格式:yyyy-mm-dd,范例: useradd -g project1 -c 軟件1部王林 Jack //建立新賬號Jack,其初始組為project1,實際身份是軟件1部的王林。 useradd -g project2 -c “市場部 高建設(shè)” -e 2012-03-30 TomGao //建立新賬號TomGao,實際身份是市場部的高建設(shè),其初始組為project2。 注意:useradd命令并未將用戶添加到用戶組中??!,3. passwd命令,●功能:設(shè)置或更新密碼 ●執(zhí)行權(quán)限:所有用戶 ●語法1: passwd [選項] 用戶賬號 //超級用戶為用戶設(shè)置密碼 ●常用的選項及其含義:(僅超級用戶使用) -l:鎖定用戶賬號。在鎖定期間不能登錄系統(tǒng)。 -u:解除用戶賬號的鎖定狀態(tài) -d:刪除用戶的密碼 ●語法2: passwd //用戶更新自己的密碼,范例: # passwd Jack //管理員為用戶Jack設(shè)置初始密碼 輸入密碼2次 //注意:密碼不顯示! $ passwd //用戶更新密碼 提示先輸入舊密碼 輸入新密碼 # passwd –l Tom //關(guān)Tom的“禁閉”,4. usermod命令,●功能:修改賬號信息 ●執(zhí)行權(quán)限:超級用戶 ●語法:usermod [選項] 用戶賬號 ●選項及其含義:(最常用的是) -G group:將用戶添加到指定的用戶組。 范例: usermod -G test Tom //將Tom添加到test組,5. gpasswd命令(Linux專有命令),●功能:設(shè)置組密碼及管理組中的賬號 ●執(zhí)行權(quán)限:超級用戶與組管理員 ●語法:gpasswd [選項] 用戶組名 ●選項及其含義: -a name:將指定的用戶添加到用戶組中。 -d name:從用戶組中刪除指定的用戶賬號。 -R:禁止基本組為非本組的用戶切換進(jìn)本組。,,,,,①建立用戶組,②添加用戶賬號,③設(shè)置用戶的初始密碼,groupadd、useradd、passwd、usermod 應(yīng)用示例,,,vi /etc/passwd :,vi /etc/group :,,,vi /etc/group :,④將用戶添加到組中:,至此,建立用戶賬號的整個過程 Over,,用戶重設(shè)自己的密碼:,,總算成功了!,6. userdel命令,●功能:刪除用戶賬號 ●執(zhí)行權(quán)限:超級用戶 ●語法: user [選項] 用戶賬號 ●選項 -r :刪除用戶的主目錄。一般來說這一選項是必須的。 范例: userdel -r Jack,7. groupdel命令,●功能:刪除用戶組(該組須是空組)。 ●執(zhí)行權(quán)限:超級用戶 ●語法:groupdel 用戶組名,二、目錄和文件操作命令,◆mkdir ◆cd ◆ls ◆mv ◆cp ◆rm ◆cat ◆more ◆ln ◆find ◆grep ◆zip,●文件的類型,Linux通常支持5種類型的文件: ■普通文件 ■目錄文件 ■特殊(設(shè)備)文件 ■管道文件 ■鏈接文件,普通文件,普通文件用于永久地存儲各種數(shù)據(jù)信息。邏輯上,普通文件是一個命名的數(shù)據(jù)集合(數(shù)據(jù)流),是一組數(shù)據(jù)的基本存儲單位。物理上,普通文件是含有若干連續(xù)的或離散的數(shù)據(jù)存儲塊(盤塊)的數(shù)據(jù)容器。 從用戶的角度看,普通文件可以分為兩種類型;文本文件和二進(jìn)制數(shù)據(jù)文件。文本文件只包含可顯示字符(如ASCII字符、中文字符),是可直接顯示的的普通文件。二進(jìn)制數(shù)據(jù)文件中的每個字節(jié)允許有256種數(shù)值,命令文件、聲音文件、圖象/圖形文件、視頻文件、壓縮文件、網(wǎng)頁文件都是二進(jìn)制數(shù)據(jù)文件。二進(jìn)制數(shù)據(jù)文件是不可直接顯示的普通文件。,在UNIX/Linux操作系統(tǒng)中,一個普通文件邏輯上是由兩部分組成的;文件頭和文件體。文件體中存放著文件的數(shù)據(jù)信息。文件頭即文件控制塊(FCB),在UNIX/Linux操作系統(tǒng)中稱文件的索引節(jié)點(index node——i節(jié)點,固定長為128字節(jié)),它存放著一個文件所有的靜態(tài)和動態(tài)的管理信息,是UNIX/Linux操作系統(tǒng)定義的用于管理文件的專用數(shù)據(jù)結(jié)構(gòu),也是UNIX/Linux操作系統(tǒng)中最重要的系統(tǒng)數(shù)據(jù)結(jié)構(gòu)之一。,一個ext2/ext3文件系統(tǒng)被劃分成兩大基本區(qū)域: 數(shù)據(jù)存儲區(qū)(文件體區(qū))用于存儲普通文件的文件體,i節(jié)點區(qū)則存放文件的i節(jié)點。每個i節(jié)點被賦予一個唯一的i節(jié)點號(整數(shù)值),其實質(zhì)就是該i節(jié)點在i節(jié)點區(qū)中的序號(下標(biāo))。因此,讀寫一個ext2/ext3文件的基本過程是:由文件的特定i節(jié)點號在i節(jié)點區(qū)中找出該文件的i節(jié)點;由i節(jié)點中提供的文件體的存儲信息在數(shù)據(jù)存儲區(qū)中定位該文件的文件體;進(jìn)行數(shù)據(jù)的讀/寫。,i 節(jié)點區(qū),數(shù)據(jù)存儲區(qū),目錄文件,目錄文件簡稱目錄,是一種特殊的普通文件,用于提供文件名、文件的i節(jié)點與文件體之間的映射關(guān)系。 目錄文件的文件體由一系列目錄項組成,每個目錄項又由兩個字段組成:“文件名”和“i節(jié)點號”。它實現(xiàn)了文件名與文件體的映射。通過文件名可以在目錄中找到其i節(jié)點,通過i節(jié)點可以找到文件中的實際數(shù)據(jù)內(nèi)容。 在任何目錄中,可以存儲普通文件、管道文件、特殊文件及鏈接文件,也可以創(chuàng)建目錄文件,稱作子目錄。,●文件保護(hù),Linux是個多用戶的操作系統(tǒng),每個用戶可擁有自己的資源。在Linux中把用戶可使用的系統(tǒng)資源統(tǒng)一處理成文件,并分類成普通文件、目錄文件和特別(設(shè)備)文件三類。為了保證用戶對系統(tǒng)資源的安全使用,Linux提供了文件存取權(quán)限控制機制,以實現(xiàn)對文件的保護(hù)。,Linux的文件存取權(quán)限機制的基本原理,(1) 把所有用戶劃分為三種身份: ■文件主(user)、 ■同組用戶(group)、 ■其他用戶(other)。 文件主即文件的創(chuàng)建者,對本文件具有最大的存取權(quán)限。,(2)每種用戶對一個文件可擁有讀、寫和執(zhí)行的權(quán)限。 r(read,讀)權(quán)限:對普通文件而言,指用戶可打開并讀取文件的內(nèi)容;對目錄而言,指用戶可瀏覽目錄的內(nèi)容;對I/O設(shè)備而言,則指用戶可使用設(shè)備進(jìn)行數(shù)據(jù)的輸入。 w(write,寫)權(quán)限:對普通文件而言,指用戶可修改文件的內(nèi)容;對目錄而言,指用戶可在目錄中創(chuàng)建、刪除及移動文件;對I/O設(shè)備而言,則指用戶可使用設(shè)備進(jìn)行數(shù)據(jù)的輸出。 x(execute,執(zhí)行):對普通文件而言,指用戶可執(zhí)行該文件;對目錄而言,指用戶可進(jìn)入該目錄。,(3)用3組每組3個共9個二進(jìn)制位(bit)表示文件的存取控制方式,依次是:文件主存取控制方式、同組用戶存取控制方式、其他用戶存取控制方式。每組中的順序依次是:讀、寫、執(zhí)行。例如,某文件的存取控制方式設(shè)置為: 111101100 (對應(yīng)的八進(jìn)制數(shù)表示為754 ) 表示文件主對該文件可讀、可寫、可執(zhí)行;同組用戶可讀、可執(zhí)行;其他用戶只可讀。 用字符形式表示上述文件存取控制方式,就是 rwxr-xr--,在用戶創(chuàng)建一個文件時,Linux會提供默認(rèn)的文件存取控制方式,文件主可根據(jù)需要使用shell命令進(jìn)行修改。,1. mkdir命令(make directory),●功能:建立新目錄或目錄結(jié)構(gòu) ●執(zhí)行權(quán)限:所有用戶 ●語法:makdir [選項] 新目錄名1 [新目錄名2] … ●常用的選項及其含義: -m:對新建目錄設(shè)置存取權(quán)限 -p:新目錄名可以是一個路徑名。此時若路徑中的某些目錄尚不存在,加上此選項后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立分層的多個目錄。,實例,mkdir dir1 //在當(dāng)前目錄下建立一個子目錄 mkdir dir2 dir3 //在當(dāng)前目錄下建立兩個并行的子目錄 mkdir -p music/pop //在當(dāng)前目錄下建立子目錄music及其下一級目錄pop,2. cd命令(change directory),●功能:改變當(dāng)前目錄,使指定目錄成為當(dāng)前目錄。 ●執(zhí)行權(quán)限:所有用戶 ●語法:cd [目錄路徑名] ●該命令有三種典型的使用方法: cd //移到父目錄 cd [~] //返回到本用戶的主目錄 cd 目錄路徑名 //切換到指定目錄 為了能夠進(jìn)入指定的目錄,用戶必須擁有對指定目錄的執(zhí)行和讀權(quán)限。,實例,[fyl@localhost ~]$cd / [fyl@localhost /]$ //用戶進(jìn)入根目錄 [fyl@localhost /]$cd var [fyl@localhost var]$ //進(jìn)入當(dāng)前目錄(根目錄)下的var子目錄 [fyl@localhost var]$cd tux bash: cd: tux: 沒有那個文件或目錄 //進(jìn)入當(dāng)前目錄下的tux目錄,權(quán)限不夠,,[fyl@localhost var]$cd /usr/src [fyl@localhost src]$ //進(jìn)入目錄/usr/src [fyl@localhost src]$cd [fyl@localhost usr]$ //返回到上一級目錄(父目錄) [fyl@localhost usr]$cd ~ [fyl@localhost ~]$ //返回到自己的主目錄 [fyl@localhost src]$cd / [fyl@localhost /]$ //返回到父目錄的父目錄,3. ls命令(list),●功能:列出指定目錄下的文件清單 ●執(zhí)行權(quán)限:所有用戶 ●語法:ls [選項] [目錄路徑名] 若缺省目錄名,則表示當(dāng)前目錄。 ●常用的選項及其含義如下: -l:以長格式來顯示文件的詳細(xì)信息。這個選項最常用! -a:顯示指定目錄下的所有內(nèi)容,包括隱藏文件。 -d:查看目錄屬性。 -R:遞歸式地顯示指定目錄下的內(nèi)容。 -i:在輸出的第一列顯示文件的i 節(jié)點號。,ls –l 顯示的長格式說明:,①第1欄為文件的類型(1個符號)和用戶的存取權(quán)限(9個符號),共10個符號。 ②第2欄為該文件的硬鏈接個數(shù) ③第3欄為文件所有者的用戶名 ④第4欄為用戶所在的用戶組 ⑤第5欄為文件的大小。對于設(shè)備文件,顯示的是主、次設(shè)備號。 ⑥第6欄為創(chuàng)建或最后修改的日期與時間 ⑦第7欄為文件的名稱。對于符號鏈接文件,顯示的文件名后面有-和被鏈接的文件路徑名。,文件類型符號: d: 目錄 :普通文件 l : 軟鏈接文件 P: 管道文件 b: 塊設(shè)備文件,如磁盤 c: 字符設(shè)備文件,如打印機,實例,4. touch命令,●功能:建立空文件或更新文件建立的日期與時間 ●執(zhí)行權(quán)限:所有用戶 ●語法:touch 文件名 [選項] 實例: touch f1 //在當(dāng)前目錄下建立一個名為f1的空文件(長度為0字節(jié)) touch f1 -t 1103150000 //將文件f1的創(chuàng)建時間修改為2011年3月15日。 【說明】日期與時間格式按:年、月、日、時、分 各2位數(shù)字,如果不設(shè)置時間,則一定要用4位0來補齊。,5. cp命令 (copy),●功能:復(fù)制文件或目錄 ●執(zhí)行權(quán)限:所有用戶 ●語法:cp [選項] 源目錄或文件 目的目錄或文件 ●常用的選項及其含義: -p:不僅復(fù)制源文件的內(nèi)容,還復(fù)制其各種屬性,如最后修改時間、存取權(quán)限、用戶ID、組ID等。 -r:遞歸復(fù)制目錄子樹,包括該目錄自身。,實例,cp f1 dir1/f1a //將當(dāng)前目錄中的文件f1復(fù)制到子目錄dir1下,并取名為f1a cp /usr/share/magic . //將文件/usr/share/magic復(fù)制到當(dāng)前目錄下。 cp /usr/share/*.txt dir1/ //將目錄/usr/share下的所有.txt文件復(fù)制到dir1目錄中。 cp -r music/ Mydocument/ //將music子樹遞歸復(fù)制到子目錄Mydocument下。,6. mv命令(move),●功能:①將目錄或文件改名;②將文件從一個目錄中移到(剪切)另一個目錄中,或?qū)⒁粋€目錄及其所有內(nèi)容移到另一個目錄下。 ●執(zhí)行權(quán)限:所有用戶 ●形式1:mv 文件名1 文件名2 執(zhí)行文件更名,文件名1改為文件名2。 ●形式2:mv 文件名 目錄名 執(zhí)行文件移動,將文件移到指定目錄中。,●形式3:mv 目錄1 目錄2 若目錄2為新目錄,執(zhí)行目錄更名;否則執(zhí)行目錄移動,將目錄1及其所有內(nèi)容移到目錄2下。 ●常用的選項及其含義: -i:交互式操作,若目標(biāo)文件名或目錄名與現(xiàn)有的某個文件或目錄同名,則給出提示要求確認(rèn)。 -f:非交互式操作,若目標(biāo)文件名或目錄名與現(xiàn)有的某個文件或目錄同名,則直接覆蓋現(xiàn)有的文件或目錄。,實例,mv f1 file1 //將f1更名為file1 mv file1 dir1 //將文件file1從當(dāng)前目錄下移到dir1目錄中。 mv dir2/*.txt . //將目錄dir2中的所有.txt文件移到當(dāng)前目錄下。,mv dir3 dir4 //將dir3目錄子樹整體移動到dir4目錄下,dir4是已有目錄。 mv dir1 newdir //將目錄dir1更名為newdir,newdir是新名字。,7. rm命令(remove),●功能:刪除文件 ●語法:rm [選項] 文件名 ●執(zhí)行權(quán)限:所有用戶 ●常用的選項及其含義: -i:交互式刪除,刪除時給出提示要求確認(rèn)。 -f:非交互式刪除,不給出提示而直接刪除。 -r:遞歸刪除目錄子樹。 ※使用“rm -r 目錄名”刪除目錄時要小心,它會刪除該目錄及該目錄下的一切內(nèi)容。,8. cat命令(concatenate ),這是一條具有多種功能的十分靈活的命令。 ●執(zhí)行權(quán)限:所有用戶 ●功能1:顯示一個或多個文本文件的內(nèi)容。這是該命令的基本功能(但不能分頁顯示,當(dāng)文件內(nèi)容多于一頁時,只能看到其末尾部分)。 語法1:cat [-n] 文件1 [文件2 …] 使用選項-n將對文本中所有的輸出行進(jìn)行數(shù)字編號,這還可以使用nl命令來完成。 甚至可以將cat寫為tac命令進(jìn)行文件內(nèi)容的行倒序顯示。,●功能2:合并多個文本文件。 語法2:cat 源文件1 源文件2 … 目標(biāo)文件 ●功能3:建立或更新一個簡短的文本文件,并讀取從標(biāo)準(zhǔn)輸入設(shè)備上輸入的文件內(nèi)容。 ★語法3-1:cat文件名 語法3-2:cat文件名 若指定目錄中沒有所給定的文件時,系統(tǒng)將以該文件名為用戶建立一個新文件;否則,下面輸入的內(nèi)容將覆蓋或追加原來的內(nèi)容。輸入時當(dāng)光標(biāo)在行首時按Ctrl+D鍵便結(jié)束輸入。注意,該命令并不具有文本編輯功能。,實例 ①建立并輸入新文件,②合并文件,③文件追加,文件更新,9. more命令與less命令,●功能:分頁顯示一個或多個文件的內(nèi)容 ●執(zhí)行權(quán)限:所有用戶 ●語法:more [選項] 文件名列表 less [選項] 文件名列表 文件名列表中各文件名之間用空格隔開。 ●常用的選項及其含義: -n:一次顯示的行數(shù),n為十進(jìn)制整數(shù)。 +n:從第n行開始顯示,【使用說明】 more命令每次顯示一頁(屏),并等待用戶按空格鍵或f鍵繼續(xù)下一頁;按Enter鍵繼續(xù)下一行;按q或Q鍵退出。 less命令則功能更強,可以用上下箭頭鍵來換行,用PageDown或PageUp鍵來上下翻頁。,10. ln命令 (link),●功能:為普通文件或目錄文件創(chuàng)建一個鏈接(link)文件。 ●執(zhí)行權(quán)限:所有用戶 ●語法:ln [選項] 目的文件名 鏈接文件名 ●常用的選項及其含義: -s:進(jìn)行符號鏈接/軟鏈接(默認(rèn)是硬鏈接)。 軟鏈接相當(dāng)于windows的快捷方式 范例: ln -s d1/d1a/d1a1/file1 file1link //在當(dāng)前目錄下建立文件file1的軟鏈接 注意:普通用戶不能建立目錄的硬鏈接!,11. find命令,●功能:查找任何類型的文件的路徑。 ●執(zhí)行權(quán)限:所有用戶 ●語法:find [查找起點] [查找選項] 從指定起點(目錄名)開始查找,若有多個查找起點,它們之間用空格分隔;若缺省查找起點,則為當(dāng)前目錄。 ●最常用的選項: -name 文件名 :查找指定名字的文件,可使用通配符 -user 用戶名 :查找指定屬主的文件 -size []n [單位] :查找大小大于或小于n(十進(jìn)制整數(shù))的文件。若缺省,表示“=”,但一般很少這樣用。單位可以是k、m、b(塊=512字節(jié)),默認(rèn)是b。,-cmin n 、-amin n、 -mmin n :根據(jù)時間值查找。 -a 、-o:多條件查找的連接符,-a為邏輯與,-o為邏輯或。 強調(diào)一個查找的基本原則:盡量不要從根目錄開始查找,盡量縮小查找范圍,一是可提高查找速度,二是可節(jié)省系統(tǒng)資源。,-name查找實例,find /etc –name init 注意:這跟windows稍有不同,windows會把文件名中含有init的所有相關(guān)文件都列出來,而Linux則列出完全匹配的文件,即Linux進(jìn)行的是精確查找。 使用通配符的-name查找,如: find /etc –name init* //查找名字以init打頭的所有文件 find /etc –name *init* //查找名字中含有init的所有文件,-size查找實例,注意:最常用的單位是b(塊=0.5KB),它一般是默認(rèn)方式。因為UNIX/Linux是以塊為單位為文件分配存儲空間的。雖然有些Linux會支持精確容量查找(以MB或KB甚至以字節(jié)為單位),但許多UNIX版本只支持以塊為單位進(jìn)行-size查找,所以最好掌握以塊為單位進(jìn)行-size查找的通用方法。為此在進(jìn)行-size查找時,需要把文件的大小換算成塊數(shù):1KB=2塊。 例如管理員在清理硬盤空間時要查找大于100MB的文件(如影視文件),可進(jìn)行如下?lián)Q算: 100MB=102400KB=204800塊 命令如下:#find /home –size +204800,-user查找實例,比如管理員因需要把系統(tǒng)里的某個普通用戶給刪除了,但這個用戶被刪除了并不意味著他所建立的文件都被干掉了,故管理員需要在盤里查找出該用戶殘存的所有文件,以便對它們進(jìn)行處理,為此就可以使用-user查找,如: #find /home –user zhang,按時間查找實例(有2組),第1組:以天(24小時)為單位 -ctime n、–atime n、–mtime n 第2組:以分鐘為單位 -cmin n、-amin n、-mmin n 其中 c=change 改變,表示文件的屬性(i節(jié)點中的內(nèi)容) 被修改過,如屬主、權(quán)限等。 a=access 訪問,表示文件的內(nèi)容被瀏覽過 m=modify 修改,表示文件的正文內(nèi)容被修改過。 上述3種動作都會在i節(jié)點和日志中被記錄下來。,比如,系統(tǒng)可能被黑客侵入了,管理員懷疑黑客改了一些配置文件,在把網(wǎng)絡(luò)切斷以后,想要查找在1天內(nèi)或2個小時內(nèi)被改動過的系統(tǒng)配置文件有哪些,就可以使用按時間查找的find命令。 #find /etc –mmin -120 //查找/etc目錄下在2小時內(nèi)其正文內(nèi)容被修改過的文件。 #find /etc –ctime -1 //查找/etc目錄下在1天(24小時)內(nèi)其屬性被修改過的文件 #find /etc -amin -60 //查找在1小時內(nèi)被瀏覽過的文件。 #find /etc -mmin +60 //查找在1小時之前其正文被更改過的文件。,多條件查找連接選項,find命令還可以通過連接選項進(jìn)行多條件查找。主要有兩種連接選項:邏輯連接選項和執(zhí)行連接選項。 (1)邏輯連接選項 -a 、-o:a(and)為邏輯與,o(or)為邏輯或。 #find /etc –size +163840 –a –size -204800 //在/etc下查找大于80MB小于100MB的文件 #find /etc –name init* -a –type d //在/etc下查找文件名以init打頭的目錄文件 ※選項“–type 類型符”指定目的文件的文件類型, 常用類型符有:d:目錄 l:軟鏈接 f:普通文件,★find是一條選項極多、功能極強、又非常復(fù)雜的命令,是UNIX/Linux的文件查找命令中最重要的一條命令??墒褂脦椭畈殚喫脑敿?xì)情況。,12. grep命令,●功能:按模式查找文本文件中的匹配行(記錄)。 ●執(zhí)行權(quán)限:所有用戶 ●語法:grep [選項] 模式 文件名列表 ●常用的選項及其含義: -c:僅輸出匹配行的數(shù)目 -l:僅輸出有匹配行的文件名 -n:輸出匹配行及其行號 -v:輸出不匹配的行 -i:字母不區(qū)分大小寫,●模式參數(shù)的主要形式: str : 所有含有字符串str的行,若str由多個字組成,需用引號括起。 ‘^str’ : 所有以str開頭的行。 ‘str$’ : 所有以str結(jié)尾的行。 . : 單通配符 * : 多通配符 […] : 匹配字符集或字符范圍中的任何一個字符,實例,grep 雷磊 phonebooks //顯示雷磊的電話記錄 grep -n 張 phonebooks //列出所有姓張的電話記錄,并列出記錄(行)號 grep ‘^[王,陳]’ phonebooks //列出所有姓王和姓陳的電話記錄,ls -l | grep ‘^d’ //利用管道,僅列出當(dāng)前目錄中的子目錄 ls -l | grep ‘^……rw’ //列出當(dāng)前目錄中允許其他用戶讀寫的文件 ls -l *.cpp | grep Mar //列出3月份開發(fā)的所有C++程序 ★grep命令也稱過濾器命令,是功能強大的文本檢索工具。 與grep命令相似的其他過濾器命令是egrep和fgrep。,13. whereis命令,●功能:顯示命令文件的絕對路徑及其幫助文檔的路徑。 ●執(zhí)行權(quán)限:所有用戶 ●語法:whereis 命令名 例如,$whereis cat find //查找cat命令和find命令的絕對路徑 $whereis -m man //只查找man命令的幫助文檔的路徑,14. gzip命令(GNUzip),●功能:這是出現(xiàn)較早的文件壓縮和解壓縮命令,生成與原文件同名的壓縮文件并覆蓋原文件,但擴展名為.gz。 ●語法:gzip [選項] 文件名列表 ●常用的選項及其含義: -v:顯示壓縮率 -d:解壓縮 -r:對指定目錄遞歸壓縮其中的所有文件 ●壓縮后文件格式:.gz,15. gunzip命令(GNUunzip),●功能:解壓縮.gz文件(gunzip ≡ gzip -d ) ●語法:gunzip 文件名列表 ●常用選項: -r:對指定目錄遞歸解壓縮其中的所有文件 /usr/share/gnome-about/headers/*.png,16. bzip2命令,●功能:這是效率一般高于gzip和zip命令的壓縮命令,尤其是對于包含許多重復(fù)信息的文件,如文本文件或圖象數(shù)據(jù)。bzip2生成與原文件同名的壓縮文件。 ●壓縮后文件格式:.bz2 ●語法:bzip2 [選項] 文件名列表 ●常用的選項及其含義: -v:顯示壓縮比、壓縮率、壓縮前的大小及壓縮后的大小。 -k:產(chǎn)生壓縮文件后保留原文件。否則覆蓋原文件。,17. bunzip2命令,●功能:解壓.bz2文件 ●語法:bunzip2 [選項] 文件名列表 ●常用選項 -k:解壓后保留原壓縮文件。,18. zip命令,●功能:這是一條最常用的壓縮命令,它既可以壓縮單個文件又可以打包壓縮多個文件或目錄,且會自動顯示文件壓縮前的大小、壓縮后的大小及壓縮率。它在生成壓縮文件的同時可保留原文件。 ●壓縮后文件格式:.zip ●語法:zip [選項] 目標(biāo)文件名 源文件名 ●常用選項 -r:對目錄遞歸壓縮并打包。,例如: zip file1.zip file1 壓縮文件file1 zip zipfile1 dir1/* 將目錄dir1中的所有文件打包壓縮成zipfile1.zip zip -r dir2.zip dir2 打包壓縮目錄dir2,19. unzip命令,●功能:解壓.zip壓縮文件 ●語法:unzip 文件名 例如: unzip file1.zip,三、其它命令,,1. df命令,●語法:df [選項] [目錄名|分區(qū)名] ●功能:查看磁盤空間的使用情況。 如果缺省[目錄名|設(shè)備名],則列出各文件系統(tǒng)使用磁盤空間的情況。否則,如果給出的是目錄名,顯示的是該目錄所在的文件系統(tǒng)的磁盤占用情況;而當(dāng)給出的是磁盤分區(qū)名,則顯示該分區(qū)的磁盤空間占用情況。 一般列出6項內(nèi)容:文件系統(tǒng)、磁盤容量、已用容量、可用容量、當(dāng)前使用率及掛載點。 ●常用的選項及其含義: -h:以最合適的容量單位顯示 -T:增顯文件系統(tǒng)的類型。,2. du命令,●語法:du [選項] [目錄或文件名] ●功能:查看指定目錄或文件所占磁盤空間的大小。 ●常用的選項及其含義: -b:以字節(jié)為單位。(默認(rèn)以K字節(jié)為單位) -m:以M字節(jié)為單位 -s:以塊為單位(1塊=0.5KB) -h:以最合適的容量單位顯示 -a:遞歸顯示指定目錄中各文件占用的數(shù)據(jù)塊數(shù)。,3. free命令,●功能:查看內(nèi)存的使用情況。 ●語法:free [選項] ●常用的選項及其含義: -b:以字節(jié)為單位 -k:以K字節(jié)為單位 -m:以M字節(jié)為單位,顯示信息說明: ■Mem行:顯示的是物理內(nèi)存 ■Swap行:顯示的是交換空間 ■ total列:內(nèi)存總額 ■ used列:已使用的內(nèi)存量 ■ free列:未使用的內(nèi)存量 ■ shared列:多個進(jìn)程共享的內(nèi)存總量 ■ buffers列:當(dāng)前磁盤緩存的大小 ■ cached列:高速緩存的大小,4. ps命令,●功能:查看當(dāng)前正在運行的進(jìn)程及其使用CPU的情況。默認(rèn)情況只列出本用戶的虛擬控制臺上正在運行的進(jìn)程。 ●語法:ps [選項] ●常用的選項及其含義:(ps的選項非常多) -au:顯示詳細(xì)信息 -aux:顯示系統(tǒng)中所有進(jìn)程(包括其他虛擬控制臺上運行的進(jìn)程)的詳細(xì)信息。 ※另外,使用pstree(ps和tree命令的組合)可以顯示系統(tǒng)運行的所有進(jìn)程,并以樹型結(jié)構(gòu)顯示各進(jìn)程的派生關(guān)系。,5. kill命令,●功能:終止指定進(jìn)程。 ●語法:kill [選項] [進(jìn)程號] 使用該命令前應(yīng)先查出某進(jìn)程號(用ps命令)。執(zhí)行kill后,可用ps命令查看指定進(jìn)程是否被終止,如果該進(jìn)程比較頑固,可以使用最強的信號值9來強制終止,即輸入命令: kill -9 進(jìn)程號 如果想終止自己建立的所有進(jìn)程,可輸入如下命令: kill -9 0,6. who命令,●功能:查看在線用戶的信息 ●語法:who,7. write命令,●功能:向網(wǎng)上和本機的在線用戶發(fā)送即時消息 ●執(zhí)行權(quán)限:所有用戶 ●語法:write 用戶名 【注意】 消息接收者必須是已注冊的在線用戶。write命令類似于QQ和手機短信,不同的是,接收者必須正在線,否則消息發(fā)不出去或丟失。,,,8. wall命令,●功能:向網(wǎng)上和本機的在線用戶廣播即時消息 ●執(zhí)行權(quán)限:所有用戶 ●語法:wall ,,,四、shell編程概念,◆什么是shell程序 ◆shell變量種類,shell程序通常稱之為shell腳本(script),shell程序設(shè)計語言也稱之為shell腳本語言。shell腳本語言具有高級程序設(shè)計語言的一些特性,它允許在腳本中聲明和使用變量,并提供結(jié)構(gòu)化的程序流程控制命令(也稱為語句),使得在shell腳本中可構(gòu)成基本的控制流結(jié)構(gòu),從而使shell腳本可以完成一些用現(xiàn)成的shell命令比較難以完成或無法完成的工作。 Linux系統(tǒng)中一般都提供有多種不同的shell,sh和Bash是兩種最常用的編程shell 。sh是所有UNIX和Linux都支持的shell,Bash則是Linux的默認(rèn)shell。,4.1 什么是shell程序,,一個shell腳本包含了要由shell執(zhí)行的命令序列并存放在普通的Linux文本文件中??梢允褂萌我庖环N文本編輯器來編寫shell腳本,比如nedit、kedit、Emacs、vim等,甚至可以直接使用cat命令來創(chuàng)建簡短的腳本。 用shell編程,主要是編寫一些自動化的系統(tǒng)管理腳本,以提高系統(tǒng)管理的效率。shell編程并不復(fù)雜,它的控制流結(jié)構(gòu)相對比較簡單,實現(xiàn)不了多復(fù)雜的程序,但它唯一的難度是它跟系統(tǒng)結(jié)合的非常密切,編寫shell腳本往往需要對系統(tǒng)有一定的了解,才能有針對性的寫出一些應(yīng)用。,一個簡單的shell腳本,#!/bin/bash #This is to show what a example looks like. echo “Our first script” echo #This inserts an empty line in output. echo “We are currently in the following directory.” /bin/pwd echo echo “This directory contains the following files” /bin/ls,腳本中的命令除內(nèi)置命令外,最好以路徑名形式表示!,shell腳本的結(jié)構(gòu),由三部分組成: ■ 第一行,由#!引導(dǎo),指定執(zhí)行腳本的shell。如 #!/bin/sh 或 #!/bin/bash ■ #注釋行,“#”是注釋引導(dǎo)符 ■ 命令序列和控制流結(jié)構(gòu) 強調(diào):必須養(yǎng)成寫注釋的習(xí)慣!一般要求至少在首部指出該腳本的功能,在尾部給出編制者及日期。,shell腳本的創(chuàng)建和執(zhí)行,step1:用文本編輯器vim(或cat命令)創(chuàng)建一個 shell腳本文件; step2:修改該腳本文件的權(quán)限使它可執(zhí)行,如 chmod u+x scriptname step3:執(zhí)行腳本,兩種方式: ① ./scriptname //shell腳本在當(dāng)前目錄下 ② bash scriptname 執(zhí)行腳本時必須給出腳本的路徑名(除非在當(dāng)前目錄下),以區(qū)別于shell的固有命令。,,,,,,4.2 shell變量種類,一個變量是內(nèi)存中被命名的一個存儲單元,變量的值就是存放在該存儲單元中的數(shù)據(jù)內(nèi)容,變量名則是存儲單元的物理地址的符號化。shell變量名的詞法規(guī)則基本同C語言(如以字母或下劃線打頭),只是變量名的長度沒有限制(理論上)。 shell 變量被分為兩類:局部(臨時)變量 全局(永久)變量,●全局/環(huán)境變量,全局變量是shell設(shè)置的默認(rèn)變量,即變量名及其語義都是系統(tǒng)默認(rèn)的,變量名中的字母均為大寫字母,且其值不會隨著一個腳本的執(zhí)行結(jié)束而消失。 全局變量也稱環(huán)境變量,用來定制shell的運行環(huán)境,保證shell命令的正確執(zhí)行。所有環(huán)境變量會傳遞給shell的子進(jìn)程。這些變量大多數(shù)在配置文件/etc/profile中聲明并初始化,/etc/profile是在用戶登錄的時候執(zhí)行的。該配置文件由超級用戶編寫,用來為系統(tǒng)的所有用戶建立一個通用的環(huán)境。,常用的環(huán)境變量,常用的特殊變量,,●局部/臨時變量,局部變量局部于特定腳本,隨著該腳本的執(zhí)行結(jié)束而消亡。 局部變量又分為兩類:用戶變量和系統(tǒng)特殊變量。 用戶變量即用戶自定義的變量。 系統(tǒng)特殊變量是shell設(shè)置的默認(rèn)變量,即變量名及其語義都是系統(tǒng)默認(rèn)的,特殊變量均為用戶只讀變量。,例如,對于命令行 ls -l file1 file2 位置變量$0:ls -l $1:file1 $2:file2 變量$#:2,位置變量應(yīng)用示例1,位置變量應(yīng)用示例2,四、開發(fā)C 程序,,Linux與C語言的關(guān)系十分密切。世界上第一個用高級語言寫的操作系統(tǒng)是UNIX,它用的是C語言。Linux是UNIX的派生系統(tǒng),其90%以上的代碼也是用C寫的,此外,Linux的許多實用程序大多是用C開發(fā)的。 C是C++的前身,與C++不同的是,C不是面向?qū)ο蟮亩敲嫦蜻^程的。除了面向?qū)ο髮ο蟮牟糠滞猓珻與C++主要的不同處在輸入輸出部分。,1. 標(biāo)準(zhǔn)輸入輸出頭文件,C的標(biāo)準(zhǔn)輸入輸出庫函數(shù)是在頭文件stdio.h中定義的,stdio.h相當(dāng)于C++的iostream.h。,2. 標(biāo)準(zhǔn)輸入函數(shù),C的標(biāo)準(zhǔn)輸入函數(shù)主要有2個:getchar()和scanf()。 (1)字符輸入函數(shù) getchar() 一般用法:c=getchar() 其中,c必須是字符型變量。 (2)格式輸入函數(shù)scanf() 語法:scanf(格式控制字符串,變量名表),范例:,scanf(“%d”, 從鍵盤讀入2個實數(shù),依次賦給實型變量x和y,輸入時兩個實數(shù)之間用逗號分隔。,3.標(biāo)準(zhǔn)輸出函數(shù),C的標(biāo)準(zhǔn)輸出函數(shù)主要有2個:putchar()和printf()。 (1)字符輸出函數(shù) putchar() 一般用法:putchar(字符常量) 或 putchar(字符變量名) 范例: putchar(‘A’); 輸出字符A putchar(ch); 輸出字符變量ch的值,(2)格式輸出函數(shù)printf() 語法:printf(格式控制字符串,變量名表) 范例: printf(“%d”, a); 輸出整型變量a 的值 printf(“min=%d, max=%d”, a,b); 格式控制字符串中除了格式引導(dǎo)符和格式控制符外,其他內(nèi)容都原樣輸出。在該例中,假定整型變量a和b的當(dāng)前值分別為3和99,則該語句的輸出結(jié)果為: min=3, max=99,printf(“%f.2”, x); 輸出實型變量x的值,且保留2為小數(shù)。 printf(“Goodbye!\n”); 輸出字符串Goodbye!。\n是特殊的轉(zhuǎn)義字符,表示換行。,4. gcc編譯器,Linux支持的C編譯器主要是cc和gcc。 gcc(GNU C編譯器)是Linux默認(rèn)的C編譯器,它是一個全功能的ANSI C兼容編譯器。 gcc命令的使用語法: gcc [選項] 源程序名 功能:編譯指定源程序,生成可執(zhí)行程序。,gcc命令的選項多達(dá)100多條,是Linux中選項最多和最為復(fù)雜的命令。 最常用的選項是:-o 可執(zhí)行程序名 如果不使用該選項,gcc將在當(dāng)前目錄下默認(rèn)生成名為a.out的可執(zhí)行程序。 范例: gcc –o demo1.exe demo1.c 編譯當(dāng)前目錄下的C源程序demo1.c,并在當(dāng)前目錄下生成可執(zhí)行程序demo1.exe。,5. C程序的執(zhí)行,形式1:./demo1.exe 執(zhí)行當(dāng)前目錄下的C程序demo1.exe 形式2:cprogram/demo1.exe 執(zhí)行當(dāng)前目錄的子目錄cprogram下的C程序demo1.exe,Its Over,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Linux常用命令 Linux 常用命令 PPT 課件
鏈接地址:http://m.zhongcaozhi.com.cn/p-3003982.html