




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章 Linux操作基礎(chǔ)2.1Linux基本操作2.2Linux命令2.3Linux文件操作2.4輸入/輸出重定向
2.1 Linux基本操作
2.1.1 登錄Linux系統(tǒng)是一個(gè)多用戶操作系統(tǒng),系統(tǒng)的每個(gè)合法用戶都擁有一個(gè)賬號,包括用戶名和口令等信息。任何用戶在使用Linux系統(tǒng)前必須先登錄(login)。每個(gè)Linux系統(tǒng)都有一個(gè)特殊的用戶,稱為超級用戶(superuser)。超級用戶的用戶名是root。root具有對系統(tǒng)的完全控制權(quán)限,非必要時(shí)應(yīng)避免使用root登錄。
1. 終端
終端(terminal)是指用戶用來與系統(tǒng)交互的設(shè)備,包括顯示器、鍵盤和鼠標(biāo)等。每個(gè)用戶都需要通過一個(gè)終端來使用系統(tǒng)。
2. 登錄方式
Linux系統(tǒng)的登錄方式可分為本地登錄和遠(yuǎn)程登錄。
1)本地登錄
本地登錄就是在系統(tǒng)自身的虛擬終端上登錄。系統(tǒng)啟動(dòng)后,會(huì)在每個(gè)啟動(dòng)了的虛擬終端上顯示登錄界面。Linux允許同一用戶在不同的終端上以相同身份或不同身份多次登錄,同時(shí)進(jìn)行幾項(xiàng)工作。各個(gè)終端上的活動(dòng)是相互獨(dú)立的。
通常,桌面版的系統(tǒng)啟動(dòng)后會(huì)默認(rèn)地將顯示屏切換到圖形終端,并在其上啟動(dòng)一個(gè)圖形登錄界面。在登錄界面中選擇用戶名并輸入口令,系統(tǒng)驗(yàn)證通過后即進(jìn)入圖形桌面環(huán)境。若要從字符終端登錄,可將顯示屏切換到一個(gè)字符終端,就會(huì)看到系統(tǒng)登錄提示符。在“l(fā)ogin:”提示符后面輸入用戶名,在“password:”提示符后面輸入口令。注意:Linux系統(tǒng)嚴(yán)格區(qū)分大小寫,無論是用戶名、口令還是文件名等,都是如此。登錄成功后,系統(tǒng)顯示Shell命令提示符,表示用戶可以輸入命令了。
以用戶cherry為例,登錄過程如下:
login:
cherry
Password:
(輸入口令,不顯示)
Last
login:
Sat
May
20
15:50:56
on
tty4
$_
注:本書約定,示例中粗體為用戶輸入的內(nèi)容,非粗體為系統(tǒng)的輸出,括號“()”內(nèi)為說明信息。
2)遠(yuǎn)程登錄
遠(yuǎn)程用戶可以從遠(yuǎn)程終端登錄到Linux系統(tǒng)上,像本地用戶一樣與系統(tǒng)交互,發(fā)布命令、運(yùn)行程序并得到顯示結(jié)果。允許遠(yuǎn)程登錄標(biāo)志著Linux是一個(gè)真正意義上的多用戶操作系統(tǒng)。系統(tǒng)可以同時(shí)為多個(gè)遠(yuǎn)程的和本地的用戶服務(wù),對登錄用戶數(shù)也沒有限制。
2.1.2 修改口令
用戶在初次登錄系統(tǒng)時(shí)使用的是超級用戶root為其設(shè)置的初始口令,登錄后應(yīng)及時(shí)修改口令。此后,為安全起見,用戶還應(yīng)定期修改登錄口令。在桌面環(huán)境下,可以在系統(tǒng)菜單中找到修改口令的界面。在字符終端界面修改口令應(yīng)使用passwd命令。過程如下:
2.1.3 退出
退出(logout)就是終止用戶與系統(tǒng)的當(dāng)前交互過程。操作完成后及時(shí)退出系統(tǒng)是一個(gè)良好的習(xí)慣,即使是暫時(shí)離開也應(yīng)如此。
在桌面上可以找到退出系統(tǒng)的按鈕或菜單項(xiàng)。在字符界面可用exit命令或Ctrl+d鍵退出系統(tǒng)。退出后,系統(tǒng)回到登錄界面,用戶可以重新登錄系統(tǒng)。
2.1.4 系統(tǒng)的關(guān)閉與重啟
當(dāng)系統(tǒng)需要關(guān)機(jī)時(shí),應(yīng)使用關(guān)機(jī)命令來關(guān)閉系統(tǒng)。另外,若修改了系統(tǒng)的某一配置,或者安裝了新的軟件,有時(shí)需要重新啟動(dòng)系統(tǒng)使修改生效。在多用戶系統(tǒng)中,關(guān)閉和重啟系統(tǒng)會(huì)影響到所有已登錄的用戶,因而執(zhí)行此操作需要有root權(quán)限。不過,為方便個(gè)人應(yīng)用,Linux桌面系統(tǒng)默認(rèn)允許普通用戶關(guān)閉和重啟系統(tǒng)。
2.2 Linux命令
啟動(dòng)Shell的方式有多種,通常的方式是: 在字符終端登錄,登錄成功后Shell將自動(dòng)啟動(dòng); 登錄到圖形桌面上,啟動(dòng)“終端”(Terminal)工具。Terminal是一個(gè)字符終端仿真軟件,用于提供一個(gè)運(yùn)行在圖形界面上的字符終端窗口。打開窗口,Shell也隨之啟動(dòng)。
2.2.1 命令的格式
一條Shell命令是由一到多個(gè)項(xiàng)組成的命令行,命令各項(xiàng)之間用空格分隔。命令的一般格式如下:
命令名[選項(xiàng)1][選項(xiàng)2]…[參數(shù)1][參數(shù)2]…
其中,命令名是命令的名稱,表示要執(zhí)行的操作,通常為小寫;選項(xiàng)是對命令的特別定義,指出命令的操作方式;參數(shù)是命令操作的對象或操作數(shù)據(jù);方括號括起的部分表明該項(xiàng)是可選的。例如:命令行rm
-i
abc中,rm是命令名,表示刪除文件操作;-i是命令的選項(xiàng),表示刪除前要提示用戶確認(rèn);abc是命令參數(shù),表示要?jiǎng)h除的文件。
2.2.2 命令的輸入與執(zhí)行
Shell的命令有時(shí)會(huì)很長,輸入命令時(shí)可以使用一些編輯鍵來修改輸入錯(cuò)誤,簡化命令的輸入。例如,當(dāng)要輸入的命令名或文件名較長時(shí),只要輸入前幾個(gè)字符,再按一下Tab鍵,Shell便會(huì)在可能的命令或文件名中找到相匹配的項(xiàng),自動(dòng)補(bǔ)齊其余部分。利用上下箭頭鍵“↑”和“↓”可以翻找出前面曾經(jīng)執(zhí)行過的命令,避免重復(fù)的命令輸入。表2-1是常用的Shell命令編輯鍵。
在命令的執(zhí)行過程中,如果輸出的信息太多太快,可以按Ctrl+s鍵暫停滾屏,之后按下任意鍵即恢復(fù)滾屏。若要終止命令的運(yùn)行,可以按Ctrl+c鍵。表2-2所示為常用的Shell命令運(yùn)行控制鍵。
2.2.3 幾個(gè)簡單命令
作為入門,本節(jié)首先介紹幾個(gè)簡單而又常用的命令。
例2.1?who命令用法示例。
例2.2?echo命令用法示例。
例2.3date命令用法示例。
2.2.4 聯(lián)機(jī)幫助
命令的手冊頁主要包括以下幾部分內(nèi)容:
NAME:命令的名稱和功能。
SYNOPSIS:命令的語法格式,所有可用的選項(xiàng)及參數(shù)。
DESCRIPTION:命令的詳細(xì)用法及每個(gè)選項(xiàng)的功能。
OPTIONS:對命令的每個(gè)選項(xiàng)的詳細(xì)說明。
2.3 Linux文件操作
文件系統(tǒng)是Linux系統(tǒng)的基本組成部分。Linux系統(tǒng)運(yùn)行所依賴的各種程序和數(shù)據(jù)都以文件形式存儲(chǔ)在磁盤上,由文件系統(tǒng)統(tǒng)一管理。文件系統(tǒng)用文件名來標(biāo)識(shí)文件,用戶通過文件名來訪問和使用文件。文件以目錄的形式組織和存放。目錄是一種特殊的文件,其內(nèi)容是該目錄下的所有文件及子目錄的信息。目錄將所有的文件分層、分枝地組織在一起,形成文件系統(tǒng)的樹形結(jié)構(gòu)。
2.3.1 Linux系統(tǒng)的文件
1. 文件的命名
Linux文件名的最大長度是255個(gè)字符,通常由字母、數(shù)字和“.”“_”“-”字符組成。以“.”開頭的文件名是隱含文件,即在通常的文件列表中不顯示。例如:myfile、readme.txt、list_12、backup07-12都是常規(guī)的文件名,而.profile就是一個(gè)隱含文件的文件名。
文件名中不能含有斜杠“/”和空字符“\0”,因?yàn)樗鼈儗inux內(nèi)核具有特殊含義。文件名中也不應(yīng)含有空格、制表符、控制符及以下字符,因?yàn)樗鼈儗hell具有特殊含義:
2. 文件名通配符
1)模式與通配符
當(dāng)一個(gè)命令需要對多個(gè)文件進(jìn)行操作時(shí),逐個(gè)寫出每個(gè)文件名是件很麻煩的事。在這種情況下,使用模式可以簡化對文件名的描述。
模式是對一類事物的概括性描述。當(dāng)需要指定具有某種特征的多個(gè)文件名時(shí),可以用一個(gè)表示文件名的字符串模式來描述。字符串模式由普通字符和一些具有特殊含義的字符組成,這些具有特殊含義的字符稱為通配符(wildcard)。
2)基本的通配符與匹配規(guī)則
以下是在構(gòu)造模式時(shí)常用的基本通配符:
(1)問號“?”:匹配任意的單個(gè)字符。例如:模式“abc??”匹配所有以abc開始,后面是2個(gè)任意字符的字符串。
(2)星號“*”:匹配0或多個(gè)任意字符,隱含文件的前綴“.”字符除外。例如:模式“abc*”匹配所有以abc開始的字符串,模式“*abc”匹配所有以abc結(jié)尾的字符串,但不匹配“.abc”。
(3)方括號“[]”:匹配方括號中列出的字符集合中的任何單個(gè)字符。方括號與問號相似,只匹配單個(gè)字符。不同的是,問號與任何一個(gè)字符匹配,而方括號只與括號內(nèi)字符集合中的一個(gè)相匹配。字符集合的描述方法有以下幾種:
列舉:逐個(gè)列出各個(gè)字符,如[abc]表示由a、b、c三個(gè)字符構(gòu)成的字符集合。
范圍:用“-”描述字符范圍,如[a-z]表示由所有小寫字母構(gòu)成的集合。
排除:用“!”排除字符,如[!A-Z]表示除大寫字母之外的所有字符構(gòu)成的字符集合。
例2.4設(shè)現(xiàn)有的字符串是12個(gè)月份的英文單詞,它們與以下模式匹配的結(jié)果是:
3)命令參數(shù)的模式置換
當(dāng)命令的參數(shù)中出現(xiàn)通配符時(shí),Shell并不把該參數(shù)直接傳遞給命令,而是把它看作一個(gè)文件名模式字符串。Shell首先將現(xiàn)有的文件逐個(gè)與這個(gè)模式進(jìn)行匹配比較,然后用所有匹配的文件名替換命令行中的模式字符串,然后再啟動(dòng)命令執(zhí)行。因此,當(dāng)命令執(zhí)行時(shí),它得到的實(shí)際參數(shù)是所有匹配的文件名的序列,可以是0至多個(gè)文件名,中間用空格分隔。
例2.5設(shè)當(dāng)前的目錄下現(xiàn)有的文件是hoc、hoc.c、hoc.h、hoc.o、init.c、init.o、math.c、math.o、makefile,則經(jīng)過模式置換的echo命令的輸出結(jié)果如下:
例2.6設(shè)當(dāng)前的目錄下存放了一部書稿的所有文件。書稿分為12章,每章分為若干節(jié),每節(jié)對應(yīng)一個(gè)文件,文件的命名規(guī)則為“ch章號.節(jié)號”,如ch1.1,ch1.2,ch1.3,…,ch2.1,ch2.2,…,ch12.1,ch12.2,…。則以下echo命令執(zhí)行的結(jié)果是:
3. 文件的類型
通常意義上的文件是那些用于保存數(shù)據(jù)的文件,如由文字字符構(gòu)成的文本文件、由應(yīng)用程序產(chǎn)生的數(shù)據(jù)文件,如文檔、數(shù)據(jù)庫表、圖片、視頻等,以及由編譯程序生成的可執(zhí)行文件等。
Linux系統(tǒng)支持以下文件類型,括號內(nèi)是表示該類型的字符:
普通文件(-):普通意義上的文件,用于保存文本、數(shù)據(jù)或程序。
目錄文件(d):一種特殊文件,用于構(gòu)成文件系統(tǒng)的樹形結(jié)構(gòu)。
設(shè)備文件(c、b):代表設(shè)備的特殊文件。Linux系統(tǒng)將設(shè)備看作文件。設(shè)備文件分為字符設(shè)備文件(c)和塊設(shè)備文件(b)兩類。
符號鏈接文件(l):一種特殊文件,它的內(nèi)容是到另一個(gè)文件的鏈接。
管道文件(p):一種特殊文件,用于在運(yùn)行的程序間傳遞數(shù)據(jù)。
4. 文件的歸屬關(guān)系
Linux是一個(gè)多用戶的系統(tǒng),每個(gè)用戶都要在系統(tǒng)中存放自己的文件。為了管理的需要,系統(tǒng)要能夠區(qū)分文件的歸屬關(guān)系。Linux系統(tǒng)中的每個(gè)文件都有兩個(gè)描述其歸屬關(guān)系的屬性,這就是屬主(owner)和屬組(groupowner)。文件的屬主就是文件的所有者,通常是建立該文件的用戶。屬主以用戶的用戶名標(biāo)識(shí)。
5. 文件的訪問權(quán)限
在多用戶的系統(tǒng)中,文件的保密和安全至關(guān)重要。為防止文件被非法地使用或破壞,系統(tǒng)使用權(quán)限來限制用戶對文件的訪問。
1)文件的訪問權(quán)限
文件權(quán)限用于規(guī)定對于一個(gè)文件所能進(jìn)行的操作。通常訪問文件的操作分為讀(瀏覽文件內(nèi)容)、寫(修改文件內(nèi)容)和執(zhí)行(執(zhí)行文件)。相應(yīng)地,Linux對文件定義了幾種訪問權(quán)限,見表2-3。
2)文件權(quán)限的分配范圍
inux系統(tǒng)將每個(gè)文件的用戶分為屬主(user)、組用戶(group)和其他人(other)3類,權(quán)限范圍的劃分及字符表示如表2-4所示。在為文件設(shè)置訪問權(quán)限時(shí)可以針對不同的權(quán)限范圍分別設(shè)置。注意:root用戶不受訪問權(quán)限的限制。
3)文件類型與權(quán)限表示法
文件的類型與權(quán)限通常采用字符法表示,規(guī)則如圖2-1所示。圖2-1文件類型與訪問權(quán)限的表示
4)文件權(quán)限的作用
文件權(quán)限限制了對文件的訪問操作。正確地設(shè)置文件權(quán)限可以允許正常的訪問操作,同時(shí)阻止不期望的訪問。表2-5顯示了訪問權(quán)限對文件和目錄的限制作用。
例2.7設(shè)有如下3個(gè)目錄及其各自下屬的3個(gè)文件,這些文件的刪除權(quán)如下:
6. 新建文件的默認(rèn)權(quán)限
當(dāng)新建一個(gè)文件或目錄時(shí),系統(tǒng)會(huì)為其設(shè)置最初的權(quán)限。文件的初始權(quán)限由文件創(chuàng)建掩碼(creationmask)決定。
文件創(chuàng)建時(shí)的默認(rèn)權(quán)限有以下幾種情況:
(1)可執(zhí)行文件:通過編譯程序生成的可執(zhí)行文件,它的默認(rèn)權(quán)限是777-掩碼。
(2)非可執(zhí)行文件:對于非可執(zhí)行文件,在創(chuàng)建時(shí)默認(rèn)是沒有x權(quán)限的。
(3)目錄:同可執(zhí)行文件一樣,新建目錄的默認(rèn)權(quán)限是777-掩碼。
7. 文件的其他屬性
除了文件名、文件類型、歸屬關(guān)系和存取權(quán)限外,文件還有其他一些屬性:
文件的時(shí)間標(biāo)簽,用于記錄文件的時(shí)間屬性。時(shí)間標(biāo)簽包括:修改時(shí)間(modifytime)即文件內(nèi)容被修改的最后時(shí)間;訪問時(shí)間(accesstime),即文件最近被訪問的時(shí)間;變更時(shí)間(changetime),即文件屬性變更的最近時(shí)間。
文件的大小,即文件所占用的字節(jié)數(shù)。
文件的連接數(shù),即此文件硬鏈接的數(shù)目。這是有關(guān)文件結(jié)構(gòu)的一個(gè)屬性。
2.3.2 Linux系統(tǒng)的目錄
計(jì)算機(jī)系統(tǒng)中存有大量的文件,為了有效地組織和管理這些文件,系統(tǒng)將文件分門別類地納入目錄中保存。目錄如同一個(gè)文件夾,用來容納文件。在Linux系統(tǒng)中,目錄是一種特殊的文件,其內(nèi)容是目錄中所包含的文件和子目錄的列表。在訪問一個(gè)文件時(shí),需要先找到它所在的目錄,再通過目錄中記錄的文件信息找到文件。
1. 目錄結(jié)構(gòu)
Linux的文件系統(tǒng)采用了樹形目錄結(jié)構(gòu),如圖2-2所示。文件系統(tǒng)的最高層目錄稱為根(root)目錄。圖2-2Linux文件系統(tǒng)目錄結(jié)構(gòu)示意圖
2. 根目錄
根目錄是一個(gè)特殊目錄,用“/”表示。它是整個(gè)文件系統(tǒng)的唯一的根,系統(tǒng)中的所有文件都在它及其下屬的子目錄中。
3. 當(dāng)前目錄
用戶在系統(tǒng)中工作時(shí)總是處在某個(gè)目錄之中,此目錄稱作當(dāng)前目錄。用戶可以通過改變當(dāng)前目錄來變換其在文件系統(tǒng)中的位置。當(dāng)前目錄用“.”表示。當(dāng)前目錄的父目錄用“..”表示。每個(gè)目錄(包括空目錄)中都至少有“..”和“.”這兩個(gè)隱含文件,但根目錄中的“..”和“.”都是指其自身。
4. 路徑
在指定一個(gè)文件時(shí),除了文件名外,還必須指明文件在目錄樹中所處的位置,為此引入了路徑的概念。路徑(path)是關(guān)于一個(gè)文件的名稱及位置的完整描述,用路徑名(pathname)來表達(dá)。系統(tǒng)中的每個(gè)文件都可以用路徑名來唯一地指定。路徑名由若干個(gè)文件名連接起來,中間用斜杠“/”分開。路徑名的前面部分是定位該文件所要經(jīng)歷的目錄的文件名,最后面的是文件自身的文件名。
5. 絕對路經(jīng)與相對路經(jīng)
根據(jù)起點(diǎn)的不同,路經(jīng)分為絕對路經(jīng)和相對路經(jīng)兩種。絕對路徑是從根目錄開始沿目錄樹到達(dá)文件節(jié)點(diǎn)的路徑。絕對路徑名都是以“/”開頭的,并且是唯一的。例如:/home/zhao、/home/cherry/project、/home/cherry/memo等都是絕對路徑名。相對路徑是從當(dāng)前目錄沿目錄樹到達(dá)文件節(jié)點(diǎn)的路徑。相對路徑名與當(dāng)前目錄所處的位置有關(guān),通常以“./”開頭,也可以省略此前綴。
6. 用戶主目錄
每個(gè)用戶都有一個(gè)自己專屬的目錄,稱為主目錄(homedirectory)。用戶登錄后首先進(jìn)入的就是自己的主目錄。用戶對自己的主目錄擁有全部權(quán)限,可以在其下任意組織自己的文件。系統(tǒng)默認(rèn)的用戶主目錄是/home/user-id,其中,user-id是用戶名。
2.3.3 常用的目錄操作命令
Linux系統(tǒng)提供了一些專門針對目錄進(jìn)行操作的命令,常用的是建立、刪除、查看和改變目錄,如表2-6所示。
1. 顯示與改變當(dāng)前目錄
訪問當(dāng)前目錄中的文件時(shí)可以只用文件名,不需要其他的路徑名前綴。因此,當(dāng)需要集中對某個(gè)目錄中的文件進(jìn)行操作時(shí),先進(jìn)入這個(gè)目錄,使其成為當(dāng)前目錄,這樣就可大大簡化命令的輸入。要了解自己當(dāng)前處在哪個(gè)目錄下,可用pwd(presentworkingdirectory)命令;要改變當(dāng)前目錄,可用cd(changedirectory)命令。
2. 顯示目錄內(nèi)容
顯示目錄內(nèi)容就是列出目錄中所包含的文件以及文件的各種相關(guān)信息,子目錄也作為一個(gè)文件列出。用于顯示目錄中的文件列表的命令是ls(list)命令。通常在進(jìn)行文件操作前,應(yīng)先用ls命令了解現(xiàn)有文件的狀況。
【說明】
(1)參數(shù)為普通文件時(shí),顯示指定的文件的信息;參數(shù)是目錄時(shí),顯示指定目錄下的文件列表信息(除非有-d選項(xiàng));未指定文件或目錄時(shí),顯示當(dāng)前目錄中的文件列表信息。
(2)不帶選項(xiàng)時(shí),按字母順序列出目錄中所有非隱含文件的文件名。
(3)長格式顯示時(shí),每個(gè)文件的信息占一行,格式如下:
3. 創(chuàng)建與刪除目錄
為了分類保存文件,用戶可以建立自己的目錄。建立目錄用mkdir(makedirectory)命令,刪除目錄用rmdir(removedirectory)命令。
2.3.4 常用的文件操作命令
Linux系統(tǒng)提供了豐富的文件操作命令,可以完成各種各樣的文件操作。而且,大部分文件操作命令也適用于目錄文件。本節(jié)介紹幾個(gè)常用的文件操作命令,見表2-7。
1. 文件的顯示
閱讀一個(gè)文本文件的最簡單的方法就是用文件顯示命令將文件內(nèi)容顯示在屏幕上。顯示文本文件的常用命令是cat(concatenate)、more和less命令。
例2.14“more”(分屏顯示)一個(gè)長文件,見圖2-3。圖2-3用more命令顯示文件
2. 文件的復(fù)制、移動(dòng)與刪除
復(fù)制文件用cp(copy)命令,刪除文件用rm(remove)命令,移動(dòng)文件和重命名文件用mv(move)命令。
【說明】若只有兩個(gè)參數(shù),且參數(shù)2不是已存在的目錄,則將參數(shù)1指定的文件復(fù)制到參數(shù)2指定的文件;若參數(shù)2是已存在的目錄,則將參數(shù)1指定的文件復(fù)制到該目錄下,文件名不變。若多于兩個(gè)參數(shù),且最后一個(gè)參數(shù)是已存在的目錄,則將前面參數(shù)指定的文件復(fù)制到該目錄下,文件名不變;若多于兩個(gè)參數(shù),且最后一個(gè)參數(shù)不是已存在的目錄則報(bào)錯(cuò)。
例2.15復(fù)制一個(gè)文件。
例2.16復(fù)制多個(gè)文件到一個(gè)目錄下。
例2.17復(fù)制整個(gè)目錄。
例2.18用rm命令刪除文件。
【說明】若只有兩個(gè)參數(shù),且參數(shù)2不是已存在的目錄,則將參數(shù)1指定的文件移動(dòng)到參數(shù)2指定的文件;若參數(shù)2是已存在的目錄,則將參數(shù)1指定的文件移動(dòng)到該目錄下,文件名不變。若多于兩個(gè)參數(shù),且最后一個(gè)參數(shù)是已存在的目錄,則將前面參數(shù)指定的文件移動(dòng)到該目錄下,文件名不變;若多于兩個(gè)參數(shù),且最后一個(gè)參數(shù)不是已存在的目錄則報(bào)錯(cuò)。
例2.19用mv命令重命名文件。
例2.19用mv命令重命名文件。
例2.20用mv命令移動(dòng)文件。
3. 文件內(nèi)容的統(tǒng)計(jì)與排序
Linux提供了許多用于文件內(nèi)容處理的命令,比較常用的有統(tǒng)計(jì)文件字?jǐn)?shù)的wc(wordcount)命令和對文件內(nèi)容排序的sort命令。
例2.21統(tǒng)計(jì)一個(gè)文件的內(nèi)容。
例2.22統(tǒng)計(jì)標(biāo)準(zhǔn)輸入的內(nèi)容。
例2.23排序一個(gè)文件的內(nèi)容。
例2.24排序標(biāo)準(zhǔn)輸入的內(nèi)容。
4. 改變文件屬性
用戶可以用命令修改已有文件的訪問權(quán)限等屬性,達(dá)到控制文件的使用的目的。改變文件的訪問權(quán)限用chmod(changemode)命令,改變文件的時(shí)間標(biāo)簽用touch命令。
例2.25用chmod命令修改文件的存取權(quán)限。
例2.26用touch命令修改文件的時(shí)間戳。
5. 設(shè)置文件掩碼
用戶可以用umask命令查看和設(shè)置文件的權(quán)限掩碼。
例2.27umask命令的用法示例。
6. 文件查找與搜索
如果忘記了某個(gè)文件的具體位置,可以利用find命令來查找。find命令是一個(gè)非常優(yōu)秀的查找工具,它按照指定的條件(如文件名、類型、時(shí)間、屬主等)在文件系統(tǒng)的目錄樹中查找匹配的文件,并可對匹配的文件執(zhí)行各種命令。
另外一個(gè)功能強(qiáng)大的工具是grep(globalregularexpressionparser)命令,用于在文件中搜索字符串。grep命令支持正則表達(dá)式,因而可以實(shí)現(xiàn)十分復(fù)雜、細(xì)致的搜索操作。
find命令
【功能】從指定的目錄開始向下查找滿足條件的文件,并對找到的文件執(zhí)行指定的操作。
【格式】find[目錄]…[表達(dá)式][操作]
【表達(dá)式】表達(dá)式用于指定搜索的條件??梢灾付ǘ鄠€(gè)條件,各條件表達(dá)式之間用邏輯運(yùn)算符連接,默認(rèn)的運(yùn)算符是與(-a)運(yùn)算。
例2.28按條件查找文件并顯示結(jié)果。
例2.29查找文件并處理結(jié)果。
例2.30在一個(gè)文件中搜索。
例2.31在多個(gè)文件和目錄中搜索。
2.4 輸入/輸出重定向
2.4.1 命令的輸入與輸出Shell命令在執(zhí)行時(shí)往往需要從輸入設(shè)備接收一些數(shù)據(jù),并將處理結(jié)果送到輸出設(shè)備上。在Linux系統(tǒng)中,這些I/O設(shè)備都被作為文件對待。對應(yīng)I/O設(shè)備的文件稱為I/O文件。Linux系統(tǒng)定義了三個(gè)標(biāo)準(zhǔn)I/O文件,即標(biāo)準(zhǔn)輸入文件stdin、標(biāo)準(zhǔn)輸出文件stdout和標(biāo)準(zhǔn)錯(cuò)誤輸出文件stderr。在默認(rèn)的情況下,stdin對應(yīng)終端的鍵盤,stdout和stderr對應(yīng)終端的屏幕。
圖2-4描述了這種默認(rèn)的標(biāo)準(zhǔn)輸入/輸出數(shù)據(jù)的走向。圖2-4標(biāo)準(zhǔn)輸入/輸出示意圖
2.4.2 輸入重定向
輸入重定向是指把命令的標(biāo)準(zhǔn)輸入改變?yōu)橹付ǖ奈募òㄔO(shè)備文件),使命令從該文件中而不是從鍵盤中獲取輸入,如圖2-5所示。圖2-5標(biāo)準(zhǔn)輸入重定向示意圖
例2.32輸入重定向的應(yīng)用。
2.4.3 輸出重定向
輸出重定向是指把命令的標(biāo)準(zhǔn)輸出或標(biāo)準(zhǔn)錯(cuò)誤輸出重新定向到指定文件中,使該命令的輸出寫入文件中,而不是顯示在屏幕上。很多情況下都可以使用輸出重定向功能。
1.輸出重定向的形式
輸出重定向有多種形式,常用的是:標(biāo)準(zhǔn)輸出重定向、附加輸出重定向、標(biāo)準(zhǔn)錯(cuò)誤輸出重定向、合并輸出重定向。
1)標(biāo)準(zhǔn)輸出重定向
標(biāo)準(zhǔn)輸出重定向就是將命令的標(biāo)準(zhǔn)輸出保存到一個(gè)文件中,如圖2-6所示。圖2-6標(biāo)準(zhǔn)輸出重定向示意圖
例2.33輸出重定向的應(yīng)用。
2)附加輸出重定向
附加輸出重定向就是將標(biāo)準(zhǔn)輸出附加在一個(gè)文件的后面。它與標(biāo)準(zhǔn)輸出重定向相似,只是當(dāng)指定的文件存在時(shí),標(biāo)準(zhǔn)輸出重定向的做法是先將文件清空,再將命令的輸出信息寫入,而附加輸出重定向則是保留文件內(nèi)原有的內(nèi)容,將命令的輸出附加在后面。
例2.34附加輸出重定向的應(yīng)用。
3)標(biāo)準(zhǔn)錯(cuò)誤輸出重定向
標(biāo)準(zhǔn)錯(cuò)誤輸出重定向就是將命令的標(biāo)準(zhǔn)錯(cuò)誤輸出保存到一個(gè)文件中,如圖2-7所示。圖2-7標(biāo)準(zhǔn)錯(cuò)誤輸出重定向示意圖
例2.35錯(cuò)誤輸出重定向的應(yīng)用。
4)合并輸出重定向
合并輸出重定向就是將標(biāo)準(zhǔn)輸出與標(biāo)準(zhǔn)錯(cuò)誤輸出一起寫入一個(gè)文件中,如圖2-8所示。圖2-8合并輸出重定向示意圖
例2.36合并輸出重定向的應(yīng)用。
2. 輸出重定向的應(yīng)用
輸出重定向是很常用的一種命令行操作,使用輸出重定向可以改變一個(gè)命令的執(zhí)行效果
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45200-2025飼料中新甲基橙皮苷二氫查耳酮的測定高效液相色譜法
- 鐵路鋼板樁施工方案
- 掛籃0 專項(xiàng)施工方案
- 穿孔鋁板龍骨施工方案
- 公路擋土墻施工方案
- 二零二五年度醫(yī)院醫(yī)護(hù)人員正式勞動(dòng)合同范本發(fā)布
- 2025年度航空航天技術(shù)合作意向協(xié)議合同
- 二零二五年度農(nóng)村宅基地使用權(quán)轉(zhuǎn)讓與農(nóng)村集體產(chǎn)權(quán)制度改革合同
- 2025年度洗衣店門店經(jīng)營權(quán)轉(zhuǎn)讓協(xié)議
- 2025年洗車機(jī)租賃與新能源汽車充電設(shè)施配套服務(wù)合同
- 2025年湖南鐵道職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 項(xiàng)目立項(xiàng)申請書與立項(xiàng)調(diào)研報(bào)告
- 個(gè)人車輛租賃給公司合同5篇
- 云南省勞動(dòng)合同范本
- 北京市石景山區(qū)2024-2025學(xué)年高三上學(xué)期期末英語試題【含答案解析】
- 2024-2025年中國鋰電池隔膜行業(yè)未來發(fā)展趨勢分析及投資規(guī)劃建議研究報(bào)告
- 腫瘤專業(yè)十種常見疾病質(zhì)量控制指標(biāo)全年統(tǒng)計(jì)表
- 體育與健康-羽毛球運(yùn)動(dòng)
- 2024年南昌健康職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2025浙江中煙招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 12J201平屋面建筑構(gòu)造圖集(完整版)
評論
0/150
提交評論