版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章Shell命令內(nèi)容提要Shell命令概述目錄和文件操作用戶和用戶組管理權(quán)限管理進程管理輸入/輸出重定向和管道元字符與正則表達式網(wǎng)絡(luò)基礎(chǔ)2.1Shell命令概述shell命令概述Linux系統(tǒng)可簡單視作由內(nèi)核、系統(tǒng)工具和應(yīng)用程序等構(gòu)成的集合,它們通常被安裝在磁盤某分區(qū)建立的文件系統(tǒng)上,盡管源自不同的Linux發(fā)行版,但Linux系統(tǒng)所包含的內(nèi)容和組織結(jié)構(gòu)遵從相同的規(guī)則。根文件系統(tǒng)的目錄結(jié)構(gòu)/binetcdevbootusrmnthomerootzhangsliswwcdromfloppybinsbinincludeliblocalsrcgrubkernelsdasda1ttyxxcdromlscppwdmount根文件系統(tǒng)的目錄結(jié)構(gòu)(續(xù))目錄名內(nèi)容描述/bin普通用戶使用的系統(tǒng)工具/sbin管理員使用的系統(tǒng)工具/bootLinux內(nèi)核映像文件和與引導(dǎo)加載有關(guān)的文件/dev設(shè)備文件,包括字符設(shè)備和塊設(shè)備/etc系統(tǒng)配置文件/lib共享庫文件,供/bin和/sbin下的文件使用/mnt掛載點,常用于掛載文件系統(tǒng)/usr/usr/bin普通用戶使用的應(yīng)用程序/usr/includeC頭文件/usr/lib函數(shù)庫/usr/src/源代碼目錄/usr/sbin超級用戶使用的管理程序/proc基于內(nèi)存的文件系統(tǒng),用于顯示內(nèi)核信息/sys基于設(shè)備驅(qū)動模型的虛擬文件系統(tǒng)/tmp臨時文件目錄/var日志信息主目錄和工作目錄Linux系統(tǒng)中的每個用戶擁有各自的目錄,用于存放專屬的文檔,并通過工作目錄表達其在系統(tǒng)中當前所處的位置。1.主目錄主目錄為用戶登錄系統(tǒng)時所處的目錄,,它在創(chuàng)建用戶時設(shè)定。2.工作目錄工作目錄為用戶當前所處的目錄,它可隨時發(fā)生改變。文件路徑1.絕對路徑絕對路徑以根目錄為起點,到達目標文件所經(jīng)歷的一系列目錄構(gòu)成的字符串,目錄名之間用/分割。2.相對路徑相對路徑以當前工作目錄為起點,到達目標文件所經(jīng)歷的目錄序列。假設(shè)用戶當前工作目錄為/home/zhangs,該目錄下的文件demo.c的路徑可以表示為:/home/zhangs/demo.c//絕對路徑./demo.c//相對路徑shell命令的語法結(jié)構(gòu)cmd代表命令的名稱,通常為程序名稱。option表示可選項,選項通常可組合使用;list表示命令操作的對象序列,對象可為文件、目錄和用戶等,對象名以空格分割,其數(shù)量取決于具體的命令。選項有短格式和長格式兩種。短選項格式可表示為-x[xxx],字母x表示某功能,xxx代表可能攜帶的參數(shù),長選項格式可表示為--word[xxx],word表示某功能的全稱,xxx同樣代表可能攜帶的參數(shù)。命令語法的一般形式cmd[option][list]實例分析$
ls
-l
/home命令提示符命令字命令選項命令組成部分之間用空格進行分隔命令參數(shù)Shell命令的分類1.內(nèi)部命令內(nèi)部命令由Shell實現(xiàn),具有功能簡潔和使用頻率高的特點。2.外部命令外部命令是指存儲于文件系統(tǒng)中的可執(zhí)文件。實例分析$typels #顯示為外部命令$typecd #顯示為內(nèi)部命令聯(lián)機幫助語法man[章節(jié)]term功能獲得對象term的聯(lián)機幫助信息,命令的常用選項如下表2-2所示。章節(jié)編號含義1Shell命令2核心函數(shù)/系統(tǒng)調(diào)用3庫函數(shù)4設(shè)備文件,位于/dev目錄5文件的格式與內(nèi)容,例如,/etc/passwd6游戲7雜項(包括宏、包和約定等)8系統(tǒng)管理命令9內(nèi)核函數(shù)實例分析$man1read $man2read 2.2目錄和文件操作目錄操作概述命令功能ls顯示目錄中的文件pwd顯示當前工作目錄cd改變當前工作目錄mkdir創(chuàng)建目錄rmdir刪除目錄
目錄是一種特殊文件,它由若干目錄項組成,每個目錄項包含文件名機器關(guān)聯(lián)的i節(jié)點。每個目錄均包含兩個特殊成員”.”和”..”,”.”指向當前目錄,”..”指向父目錄。實例分析$ls-l~/ #瀏覽用戶主目錄$ls-a./ #瀏覽當前目錄$ls-iR/usr#瀏覽/usr及其子目錄$pwd #顯示當前工作目錄$cdtest #將當前工作目錄切換至test$mkdir
mydir #創(chuàng)建目錄mydir$rmdir
mydir #刪除目錄mydir文件操作命令
文件是由若干字節(jié)構(gòu)成的字節(jié)流,在Linux系統(tǒng)中,文件具有廣泛的含義,可將外部設(shè)備、定時器和事件等抽象為文件。命令功能file顯示指定文件的類型touch改變文件的時間戳cp復(fù)制文件或目錄rm刪除文件或目錄mv移動文件或目錄,可用于文件重命名stat顯示文件屬性實例分析$cpfile1file2#復(fù)制文件$cp-rfdir1dir2#復(fù)制目錄$rmfile1file2#刪除文件$rm-rdir1 #刪除目錄$mvdemotest#將demo文件重命名為test命令功能cat顯示文本文件內(nèi)容more分頁顯示文本文件內(nèi)容less分頁顯示文本文件內(nèi)容,可上下翻頁head顯示文件首部內(nèi)容tail顯示文件尾部內(nèi)容文本文件概述
文本文件是指僅存儲文字編碼的文件,其內(nèi)容沒有格式。
Linux系統(tǒng)中的配置文件、shell腳本和各種高級語言的源代碼文件均為文本文件。實例分析$catdemo.c
#顯示文本文件內(nèi)容$moredemo.c
#分頁顯示文本文件內(nèi)容鏈接文件1.硬鏈接硬鏈接是指與鏈接的文件共享i節(jié)點,為同一文件定義多個名稱,硬鏈接不能跨越文件系統(tǒng)。2.符號鏈接符號鏈接又稱為軟鏈接,其內(nèi)容存儲的是鏈接文件的路徑,它可跨越不同的文件系統(tǒng).實例分析$lnsfile
dfile #創(chuàng)建硬連接$ln-ssfile
dfile#創(chuàng)建符號鏈接2.3用戶和用戶組管理用戶管理概述
為有效管理軟硬件資源的使用,Linux繼承了Unix的用戶和用戶組特性。用戶組是由具有某些共同特征的用戶構(gòu)成的集合。一個用戶可同時屬于多個用戶組,其中,一個為初始組,通常稱為用戶組,其余則稱為附加組。系統(tǒng)為每個用戶和用戶組設(shè)置唯一標識ID,供內(nèi)核使用。用戶的分類1.超級用戶(root)
超級用戶也稱為特權(quán)用戶,用于系統(tǒng)管理,可不加限制地使用系統(tǒng)資源,其UID為0,通常在系統(tǒng)安裝是自動創(chuàng)建。2.系統(tǒng)用戶系統(tǒng)用戶為受限用戶,為滿足系統(tǒng)進程對文件資源的訪問控制而建立,例如bin和lp等,用戶UID一般為1~999。3.普通用戶建立普通戶的目的是為了讓用戶登錄系統(tǒng),使用系統(tǒng)資源,普通用戶也為受限用戶,用戶的UID的值為1000~60000之間。用戶和用戶組的相關(guān)操作命令含義groupadd建一個新的用groupdel刪除用戶組useradd創(chuàng)建一個新的用戶Userdel刪除用戶Usermod修改用戶Passwd設(shè)置用戶登錄密碼chown修改文件的歸屬對用戶和用戶組的操作需要有管理員權(quán)限。相關(guān)文件文件名描述/etc/passwd保存用戶信息/etc/shadow存儲加密后的密碼/etc/group保存用戶組的相關(guān)信息新建用戶組合用戶的信息,存儲在位于/etc目錄的相關(guān)文件中。/etc/passwd文件 structpasswd{ char*pw_name;/.用戶名
char*pw_passwd;//用戶密碼
uid_tpw_uid;//用戶ID gid_tpw_gid;//用戶組ID char*pw_gecos;//用戶信息
char*pw_dir;//主目錄
char*pw_shell;//shell程序
};/etc/shadow文件 structspwd{ char*sp_namp;//登錄用戶名
char*sp_pwdp;//經(jīng)加密的密碼
longsp_lstchg;//最后一次修改時間
longsp_min;//最小間隔修改時間
longsp_max;//最大間隔修改時間
longsp_warn;//密碼過期前的天數(shù)以警告用戶
longsp_inact;//密碼過期后直至被禁用的天數(shù)
longsp_expire;//密碼的有效期
};/etc/group文件 structgroup{ char*gr_name;//用戶組名
char*gr_passwd;//用戶組密碼
gid_tgr_gid;//用戶組ID char**gr_mem;//包含的用戶名
};實例分析$groupaddstudent$groupaddmusic$groupaddFootball$useradd
zhangs-gstudent-Gmusic-md/home/zhangs$useradd
lis-gstudent-GFootball-md/home/lis$passwdzhangs
$passwdlis
2.4文件權(quán)限管理觀察ls–l命令的執(zhí)行結(jié)果zhangsrootrootzhangsstudentrootrootstudent6617877876Oct122:43Oct122:41Oct122:41Oct122:44demo.cexam12-11.cp1.ctest.c->demo.crwxr--r-xrwxr--r-xrwxr--r-xrwxrwxrwx1221---l最近修改日期和時間文件名文件大小權(quán)限分配引用次數(shù)文件類型文件歸屬(用戶和用戶組)在文件系統(tǒng)中,每個文件由目錄項和i節(jié)點組成,目錄項記錄文件名和i節(jié)點的地址,i節(jié)點記錄文件屬性的元數(shù)據(jù),其中包括文件類型、權(quán)限分配、引用次數(shù)和文件的歸屬等。用戶可通過ls–l命令顯示文件的詳細信息。
每個文件一行,其中,每行的第1個字符標識文件的類型,第2個至第10個字符表示文件的權(quán)限分配。文件類型ls–l命令結(jié)果中每行的第一個字符表示文件的類型前綴類型前綴類型—普通文件l符號鏈接文件d目錄p命名管道c字符設(shè)備s本地套接字b塊設(shè)備文件的引用次數(shù)
指向同一i節(jié)點的文件數(shù)量,為該i節(jié)點關(guān)聯(lián)文件的引用次數(shù)。若為某個文件創(chuàng)建硬鏈接,則文件的引用數(shù)量加1,符號鏈接不會增加文件的引用次數(shù)。
由于每個目錄中均包含當前目錄和父目錄,因此,新創(chuàng)空目錄的引用次數(shù)為2.權(quán)限普通文件目錄r(讀)查看文件內(nèi)容瀏覽目錄內(nèi)容w(寫)修改文件內(nèi)容在目錄中創(chuàng)建/刪除文件/目錄x(執(zhí)行)將文件投入運行在目錄中搜索文件rwxrw-r--八進制表示
764用戶(u)用戶組(g)其他用戶(o)內(nèi)部表示2.文件權(quán)限的分配1.文件權(quán)限的定義權(quán)限的定義和分配
系統(tǒng)將訪問文件的用戶分為三類,用戶、用戶組和其他用戶。均為他們分配三種權(quán)限,依次為度、寫和執(zhí)行。Zhangsstudent
為了滿足某些特殊需求,Linux引入了三位擴展權(quán)限,它們分別為SUID、SGID和sticky。
i節(jié)點中的權(quán)限共計12位,分為四組,它們依次為擴展權(quán)限、用戶權(quán)限、用戶組權(quán)限和其他用戶權(quán)限。擴展權(quán)限100111110100擴展位用戶用戶組其他用戶擴展位的定義SUID標志
SUID(Set-User-ID)標志處于擴展權(quán)限中的第1位,八進制值為04000,當執(zhí)行設(shè)置了SUID位的程序時,進程的有效用戶切換至程序的所屬用戶,使進程擁有程序所屬用戶的的權(quán)限。2.SGID標志
SGID(Set-Group-ID)標志處于擴展權(quán)限的第2位,八進制值為02000,與SUID類似,當用戶執(zhí)行設(shè)置了SGID位的程序時,進程的有效用戶組切換至該程序的所屬用戶組,若某目錄上設(shè)置SGID位,目錄下建立文件或子目錄的所屬用戶組取自該目錄的所屬用戶組。3.Sticky標志
Sticky標志處于擴展權(quán)限中的第3位,八進制值為01000,當在某個目錄設(shè)置sticky位時,該目錄下的文件只有其所屬用戶才有權(quán)刪除。擴展位的字符表示ls命令未為擴展位預(yù)留顯示位置,而是分別共享用戶、用戶組和其他用戶的可執(zhí)行位。SUID/SGIDu.x/g.x顯示00-01X10S(大寫)11S(小寫)suido.x顯示00-01X10T(大寫)11t(小寫)Suid/sgid分別共享用戶/用戶組的可執(zhí)行位,顯示規(guī)則如下表所示Stickyu共享其他用戶的可執(zhí)行位,字符顯示規(guī)則如下表所示。實例分析100111101101-rwsr-xr-x1rootroot57972May172017/usr/bin/passwddrwxrwxrwt8rootroot4096Jan2704:25tmp001111111111-rw-r-----1rootshadow1521Jan2500:50/etc/shadow1.passwd命令使普通用戶也可修改自身密碼2./tmp目錄僅允許用戶刪除自己的文件000110109000權(quán)限掩碼
為了提高權(quán)限管理的靈活性,系統(tǒng)引入權(quán)限掩碼,它用三位八進制表示,分別對應(yīng)用戶、用戶組和其他用戶,若某位為1,則響對應(yīng)的權(quán)限被屏蔽。系統(tǒng)為每個登錄用戶分配一個權(quán)限掩碼,在shell上執(zhí)行的進程將繼承該掩碼值。用戶可通過umask命令獲取或重新設(shè)置權(quán)限掩碼。新建文件權(quán)限的計算新建文件/目錄的進程最終會執(zhí)行核心函數(shù)open/mkdir,它們會傳遞參數(shù)mode,用以指定權(quán)限,最終新建文件/目錄的權(quán)限還要取決于進程的權(quán)限掩碼,計算公式如下。新建文件/目錄的權(quán)限=mode&~(umask&0777)在默認情況下,新建普通文件的默認mode值為0666,創(chuàng)建目錄的默認mode為0777。假設(shè)新建文件時,mode參數(shù)設(shè)置為0666,用戶權(quán)限掩碼設(shè)置為022新建文件的權(quán)限=0666&~(022&0777)=0644文件權(quán)限的相關(guān)操作命令功能umask查詢/設(shè)置用戶的權(quán)限掩碼chmod修改文件的權(quán)限分配實例分析$chmoda-xdemo $chmodgo-wdemo $chmod
u+sdemo $chmod764demo $chmod5764demo $chown
zhangstest$chown:studenttest進程的身份
進程的身份源自登錄系統(tǒng)的用戶,另外還包括用戶所屬的用戶組和附加組。進程訪問文件時,有時,發(fā)揮作用的未必是登錄用戶,為此,系統(tǒng)引入了實際用戶/實際用戶組和有效用戶/有效用戶組,通常實際用戶/實際用戶組與有效用戶/有效用戶組相同,但當執(zhí)行設(shè)置了SUID/SGID的可執(zhí)行文件時,進程的有效用戶/有效用戶組會發(fā)生改變。
因此,進程的身份包括有效用戶、有效用戶組和附加組進程訪問文件的權(quán)限檢查進程訪問文件時,內(nèi)核除檢查文件的權(quán)限外,還需檢查路徑上每個目錄是否擁有可執(zhí)行權(quán),對于目標文件,內(nèi)核按下列檢查次序執(zhí)行,一旦匹配成功,內(nèi)核將停止后續(xù)操作。(1)若進程的有效用戶ID為0,表明進程為特權(quán)級進程,此時,進程獲得文件的所有權(quán)限。(2)若進程的有效用戶ID非0,且與文件所屬用戶ID相同,此時,進程獲得文件所屬用戶的權(quán)限。(3)若進程的有效用戶組ID或某附加組ID與文件所屬用戶組ID相同,則進程獲得文件所屬用戶組的權(quán)限。(4)若上述三種情況均不符合,則進程獲得文件賦予其他用戶的權(quán)限。綜合實例分析$
groupadd
B220301$
groupadd
B220302$groupaddproject$useradd
zhangs–gB220301–Gproject–md/project/zhangs$useradd
lis–gB220302–Gproject–md/project/lis$mkdir/project/share$mkdir/project/temp$chown:project/project/share$chmod2770/project/share$chown:project/project/temp$chmod3770/project/temp$passwdzhangs$passwdlis某軟件項目,項目成員擁有各自的用戶組和專屬目錄,同時,他們擁有一個共享目錄和一個臨時目錄,假設(shè)項目僅有兩個成員,下面在Linux系統(tǒng)中為他們創(chuàng)建相應(yīng)的用戶。2.5進程管理進程
進程是正在執(zhí)行的程序,是程序的一次運行。程序是靜態(tài)的,而進程是動態(tài)的。進程在其生命周期內(nèi),會處于多種狀態(tài),在進程調(diào)度算法的作用下,實現(xiàn)狀態(tài)間遷移。
init/systemd通常作為系統(tǒng)中第一個用戶態(tài)程序,其進程號為1,系統(tǒng)中的所有其他用戶進程均為init的子孫,它們之間以層次關(guān)系呈現(xiàn)。。pstree命令systemd-+-cron|-dbus-daemon|-dhclient|-exim4|-login---bash---pstree|-rsyslogd-+-{in:imklog}||-{in:imuxsock}|`-{rs:mainQ:Reg}|-systemd---(sd-pam)|-systemd-journal|-systemd-logind|-systemd-timesyn---{sd-resolve}`-systemd-udevd語法pstree功能顯示系統(tǒng)中進程之間的繼承關(guān)系。作業(yè)控制
作業(yè)控制源自BSD系統(tǒng)的CShell,允許用戶在一個Shell終端上同時運行多個作業(yè),一個作業(yè)為以回車換行結(jié)尾的命令行。作業(yè)可運行于前臺或后臺,后臺可運行多個作業(yè),前臺最多只能一個,作業(yè)可在前后臺之間切換,僅前臺作業(yè)可獲得終端的控制權(quán),在無前臺作業(yè)的情況下,控制終端歸shell所有。一個作業(yè)可能由若干命令組成,命令的運行次序取決于作業(yè)的組織方式。作業(yè)的狀態(tài)遷移前臺運行終止后臺運行后臺停止fg命令&SIGSTOPSIGTTINSIGTTOTbg(SIGCONT)Comtrol-z(SIGTSTP)fg(SIGCONT)Control-c(SIGINT)Control-\(SIGQUIT)killkill命令實例分析$sleep100&[1]3655$sleep200&[2]3663$sleep300^Z[3]+Stoppedsleep300$jobs[1]Runningsleep100&[2]-Runningsleep200&[3]+Stoppedsleep300$fg%1sleep100控制終端
會話被創(chuàng)建時未關(guān)聯(lián)任何終端設(shè)備,Shell無法完成標準輸入輸出;為此,作為首會話進程的登錄進程login通過打開終端設(shè)備,實現(xiàn)與終端設(shè)備的關(guān)聯(lián),從而為其上創(chuàng)建的進程提供標準輸入輸出服務(wù),故而終端也稱為控制終端,Shell也稱為終端的控制進程。進程的相關(guān)標識進程ID(PID)
用于標識系統(tǒng)中的每一個進程,初始化進程init/systemd的進程ID為1父進程ID(PPID)
用于標識進程的創(chuàng)建者進程組ID(PGID)
用于標識進程間的協(xié)作關(guān)系,進程組ID取自領(lǐng)頭進程的進程ID會話ID(SID)
用于標識用戶的一次登錄過程會話、進程組和控制終端的關(guān)系作業(yè)控制進程后臺作業(yè)1/后臺進程組1后臺作業(yè)2/后臺進程組2會話前臺作業(yè)/前臺進程組控制終端proc6(領(lǐng)頭進程)(738,641,738,353)proc7(739,641,738,353)proc3(領(lǐng)頭進程)(735,641,735,353)proc4(736,735,735,353)proc5(737,735,735,353)proc1(領(lǐng)頭進程)(733,641,733,353)proc2(734,641,733,353)登錄shell(641,353,641,353)進程的表示:進程名(進程ID,父進程ID,進程組ID,會話ID)命令ps–efj列名含義C進程占用CPU的百分比STIME進程啟動的開始時間TTY進程關(guān)聯(lián)的終端TIME進程運行時間CMD命令的名稱和參數(shù)命令ps-aux列名含義USER用戶名%CPU進程占用CPU的百分比%MEM進程占用內(nèi)存的百分比VSZ進程使用虛擬內(nèi)存數(shù)量(KB)RSS進程占用物理內(nèi)存頁面的數(shù)量(KB)TTY進程的關(guān)聯(lián)終端STAT進程的狀態(tài)進程的狀態(tài)遷移就緒狀態(tài)運行狀態(tài)停止狀態(tài)可中斷狀態(tài)不可中斷狀態(tài)僵尸狀態(tài)調(diào)度時間片耗盡/占先信號(SIGCONT)事件到達/信號等待事件結(jié)束進程信號(SIGSTOP,SIGTTIN,SIGTTOU)創(chuàng)建進程等待事件事件到達進程狀態(tài)進程狀態(tài)含義D不可中斷的睡眠狀態(tài)R運行或就緒狀態(tài)S可中斷的睡眠狀態(tài)T停止狀態(tài)t停止狀態(tài)(由于調(diào)試追蹤)W頁交換X結(jié)束狀態(tài)(從未出現(xiàn))Z僵尸狀態(tài),進程已結(jié)束,等待父進程進一步處理9內(nèi)核函數(shù)進程和作業(yè)的相關(guān)操作命令功能pstree顯示系統(tǒng)中用戶進程的繼承關(guān)系ps顯示進程屬性kill結(jié)束進程jobs顯示后臺作業(yè)的狀態(tài)fg將后臺作業(yè)置于前臺bg恢復(fù)后臺作業(yè)的運行實例分析$kill-1 #列出所有倍號$kill-sSIGSTOP323#暫停進程運行$kill-9524#結(jié)束進程$jobs#列出當前會話的所有后合作業(yè)$bg%2#使2號作業(yè)在后臺恢復(fù)運行$fg%3#將3號后臺作業(yè)切換至前臺2.6輸入輸出重定向和管道概述
進程通常將鍵盤/顯示器作為標準輸入/輸出設(shè)備,進程從鍵盤上接受數(shù)據(jù),將輸出結(jié)果輸出至顯示器。為了在不修改程序的情況下,改變數(shù)據(jù)的來源和目的地,系統(tǒng)引入了輸入輸出重定向技術(shù),通過改變程序的運行環(huán)境,改變數(shù)據(jù)的輸入輸出方向。實例分析$ls–l>test
每個由shell創(chuàng)建的進程都會繼承三個已打開的文件描述符,它們依次為標準輸入、標準輸出和標準錯誤輸出。文件文件描述符默認設(shè)備輸入文件:標準輸入0鍵盤輸出文件:標準輸出1屏幕錯誤輸出文件:標準錯誤輸出2屏幕標準駛?cè)胼敵鲈O(shè)備輸入/輸出重定向1.輸入重定向語法cmd[n]<file功能命令cmd從文件描述符n的讀入轉(zhuǎn)向文件file。2.輸出重定向語法cmd[n]>filecmd[n]>>file功能命令cmd向文件描述符n的輸出寫入文件file。類別操作符說明標準輸入重定向<從指定文煥上輸入標準輸出重定向>將標準輸出寫入指定文件>>將標準輸出追加至指定文件標準錯誤輸出重定向2>將標準錯誤輸出寫入至指定文件2>>將標準錯誤輸出追加至指定文件標準輸出和標準錯誤輸出重定向&>將標準輸出和標準錯誤輸出寫入至指定文件標準輸入/輸出重定向操作符實例分析$ls-l1>out2>err復(fù)制文件描述符(1)復(fù)制輸入文件描述符語法
[n]<&m功能 將文件描述符m復(fù)制至文件描述符n,用于輸入重定向。(2)復(fù)制輸出文件描述符語法
[n]>&m功能將文件描述符m復(fù)制至文件描述符n,用于輸出重定向。移動文件描述符(1)移動輸入文件描述符語法[n]<&m-功能將文件描述符m移動至文件描述符n,用于輸入重定向。(2)移動輸出文件描述符yufa[n]>&m-功能將文件描述符m移動至文件描述符n,用于輸出重定向?qū)嵗治鰧藴瘦敵龊蜆藴叔e誤輸出重定向至文件out$ls>out2>&1將標準輸出重定向至文件out$ls2>&1>out因復(fù)制發(fā)生在重定向前,故僅將標準輸出重定向至文件out管道
管道用于連接兩個進程的輸入和輸出,將一個進程的輸出作為另一個進程的輸入。管道存在兩個端點,一個端點用于數(shù)據(jù)輸入,另一個端點用于數(shù)據(jù)輸出,采用單向模式,根據(jù)管道的實現(xiàn)方式,管道可分為無名管道和命名管道。無名管道語法cmd1|cmd2功能將命令cmd1的標準輸出作為命令cmd2的標準輸入。實例分析$ls-l|grep^d|more命名管道
命名管道為一種特殊的文件,存在于文件系統(tǒng)中,用戶可通過命令mkfifo創(chuàng)建。實例分析$mkfifomypipe$ls-lmypipeprw-r--r--1rootroot0Oct2417:28mypipe2.7元字符與正則表達式元字符對于某些軟件,例如Shell、vi和grep等,為了描述某些特征字符串構(gòu)成的集合,普通字符并非總能滿足要求,為此,引入了元字符。元字符是一類具有特定含義而非自身的特殊字符,通常用于匹配字符串等操作。元字符的定義取決于具體命令。Shell中的元字符Shell中的元字符也稱為通配符,經(jīng)常出現(xiàn)在Shell命令中,用于通配文件和目錄。元字符含義?匹配任意一個字符*匹配任意數(shù)量的字符[abc]匹配a、b和c中任意一個字符[a-z]匹配a-z范圍內(nèi)的任意字符[!a-z]匹配除a-z外的字符常用Shell通配符的定義實例分析$ls[a-z]*#查找以字母a到z開頭的所有文件$ls[!a-z]*#查找不以字母a到z開頭的所有文件$ls*.c#查找后綴名為c的所有文件屏蔽元字符的特殊含義
有時,需在命令中使用元字符本身,用戶可通過在元字符前使用反斜杠\實現(xiàn)。實例分析$lsa\*#列出當前目錄下文件名為a*的文件正則表達式
正則表達式是一個字符串模板,由普通字符和元字符組成,用于文本匹配,在文本中搜索所需的字符串。正則表達式通常出現(xiàn)在文本處理軟件中,例如,shell、vi和grep等。元字符匹配字符^行首$行尾\char轉(zhuǎn)義后面的字符[^]不匹配方括號中的任意字符\<單詞的開始\>單詞的結(jié)尾()括號內(nèi)為一組|分組{m}前綴字符重復(fù)m次{m,}前綴字符至少重復(fù)m次{m,n}前綴字符重復(fù)m至n次.所有的單個字符?0個或1個前綴字符+至少一個前綴字符*0個或多個字符文本過濾器GREP是一款功能強大的文本過濾軟件,可從文本文件中過濾出包含某些字符串的行,字符串通常具有某種特征,可使用正則表達式進行描述,文本過濾器擁有多種版本。這里僅介紹egrep,下面給出egrep所支持的元字符。實例分析$egrep'^abc|^def'textfile#過濾出以單詞abc和def為首的行$egrep'\.00$'textfile#過濾出以.00結(jié)尾的行$egrep'5\..'textfile#過濾出包含5.后隨任意一個字符的行$egrep'^[a-c]'textfile#過濾出不以字符a、b或c開頭的行$egrep'a(bc){2}'textfile#過濾出包含abcbc的行$egrep'[2-5][0-9]'textfile#過濾出包含20至59的行$egrep‘a(chǎn)(bc)+’textfile#過濾出包含abc、、abcbc…的行2.8網(wǎng)絡(luò)基礎(chǔ)TCP/IP概述TCP/IP協(xié)議已成為事實上的互聯(lián)網(wǎng)標準。正確配置網(wǎng)絡(luò)是保證Linux系統(tǒng)接入互聯(lián)網(wǎng)的基礎(chǔ)。在配置網(wǎng)絡(luò)前,需正確安裝網(wǎng)卡驅(qū)動和TCP/IP協(xié)議,由于Linux發(fā)行版存在一定差異,在配置網(wǎng)絡(luò)時也有所不同。網(wǎng)絡(luò)配置文件配置文件發(fā)行版描述/etc/sysconfig/network-scripts/ifcfg-ethNCentOS配置IP、網(wǎng)關(guān)和DNS地址/etc/network/interfacesDebian配置IP、網(wǎng)關(guān)和DNS地址/etc/hosts-配置主機名/etc/services-配置網(wǎng)絡(luò)服務(wù)/etc/resolv.conf-配置DNS服務(wù)器配置DHCP1.基于CentOS發(fā)行版$cat/etc/sysconfig/network-scripts/ifcfg-ethN#配置文件路徑DEVICE=eth0#設(shè)備名稱BOOTPROTO=dhcp#使用DHCP協(xié)議ONBOOT=yes#啟動時自動激活網(wǎng)卡2.基于Debian發(fā)行版$cat/etc/network/interfaces#顯示配置文件內(nèi)容autoeth0#啟動時自動激活網(wǎng)卡ifaceeth0inetdhcp#設(shè)置DHCP協(xié)議配置靜態(tài)地址(1)基于CentOS發(fā)行版$cat/etc/sysconfig/network-scripts/ifcfg-ethN#配置文件路徑DEVICE=eth0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《牛的繁殖技術(shù)》課件
- 污水處理多源數(shù)據(jù)融合-洞察分析
- 虛擬現(xiàn)實兼容性-洞察分析
- 炭疽疫苗毒株變異分析-洞察分析
- 游戲劇情制作與敘事設(shè)計-洞察分析
- 醫(yī)保年度工作總結(jié)范文(7篇)
- 托烷司瓊與藥物不良反應(yīng)-洞察分析
- 消費升級與個性化需求-洞察分析
- 虛擬試戴技術(shù)應(yīng)用分析-洞察分析
- 醫(yī)生個人工作總結(jié)范文1500字(7篇)
- 2023小升初學生個人簡歷模版
- 校園修繕施工方案
- 2018年全國統(tǒng)一施工機械臺班費用定額
- IDEA-低空經(jīng)濟發(fā)展白皮書(2.0)全數(shù)字化方案
- 2023上海市歷史七年級上冊期末試卷含答案
- 軟裝設(shè)計合同范本
- 一級建造師考試《建設(shè)工程項目管理》電子版
- 幼兒園人事工作計劃
- 教學成果獎申報表-初中數(shù)學實驗的課程建設(shè)和教學建構(gòu)
- 老年人眼病與 葉黃素
- 毛選讀后感課件
評論
0/150
提交評論