版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章Linux操作系統(tǒng)的使用初識終端認識Shell
Linux操作系統(tǒng)命令初識終端
認識Shell?點擊查看本小節(jié)知識架構Linux操作系統(tǒng)命令?點擊查看本小節(jié)知識架構2.22.32.1?點擊查看本小節(jié)知識架構掌握了解掌握了解學習目標掌握終端的基本操作方法1掌握Shell命令用法42了解Shell命令格式3了解Linux操作系統(tǒng)命令本章將從實際操作的角度,帶領讀者進一步認識Linux操作系統(tǒng)的基本使用方法。熟練地使用Linux操作系統(tǒng)(Ubuntu)是學習Linux應用開發(fā)的前提,因此本章將通過終端著重介紹Linux操作系統(tǒng)的常用Shell命令,完成一些基本且十分實用的操作功能需求。望讀者可以在理解的基礎上勤練習,從而盡快熟練使用Linux操作系統(tǒng)。2.1初識終端2.1.1終端介紹返回目錄2.1.2終端軟件人們經常說,眼睛是心靈的窗戶。而對于Linux操作系統(tǒng)而言(Ubuntu),終端就是窗戶。盡管目前來看,Linux操作系統(tǒng)的圖形界面已經比較成熟,絕大多數操作完全可以通過圖形界面來完成。但是學習通過終端完成對系統(tǒng)的操作,才能算是打開了Linux系統(tǒng)學習的大門。所謂終端,即圖形界面下的一種命令行窗口。用來實現操作系統(tǒng)與用戶的交互。同Windows一樣,盡管人們適應了通過桌面完成一系列工作,但Ubuntu的一些系統(tǒng)配置仍需要通過終端完成。打開Windows終端的方式為按“Win+R”鍵,然后在命令框內輸入“cmd”。2.1.1終端介紹2.1初識終端如圖所示。2.1.1終端介紹2.1初識終端本書介紹的Ubuntu系統(tǒng)所使用的終端為GNOME,如1.3.3節(jié)中的圖所示,可在系統(tǒng)桌面直接通過單擊打開終端,也可使用快捷鍵打開終端,默認快捷鍵為“Ctrl+Alt+T”(可自行在系統(tǒng)設置中修改)。在終端命令行輸入“exit”并按Enter鍵即可關閉終端;或者單擊該終端頁面(表示選定該終端),再按“Ctrl+D”鍵(可自行修改)關閉。GNOME終端界面如圖所示。2.1.1終端介紹2.1初識終端目前桌面環(huán)境下的命令終端軟件有很多種,它們各有特色,且都有各自的用戶群。目前流行的終端軟件有Xterm、Gnome-Terminal、Konsole、rxvt等。本書使用的Linux操作系統(tǒng)(Ubuntu)已默認安裝Gnome-Terminal,如圖所示。Gnome-Terminal提供了剪切、粘貼、多標簽顯示,以及設置終端配置文件等功能。中文支持和用戶界面相對友好。用戶可以使用窗口菜單或快捷鍵完成操作。Xterm是一款基于XWindowSystem系統(tǒng)的終端模擬器,用來提供多個獨立的Shell輸入輸出。其最早由馬克·范德沃德(MarkVandevoorde)于1984年為VS100顯示器編寫的獨立虛擬終端。Konsole是基于KDE平臺的終端模擬器,除了提供支持使用Shell的方法,Konsole同樣提供了很多能讓命令行操作便利的功能,如配置文件管理,回滾和配色方案,以及半透明效果等。2.1.2終端軟件2.1初識終端rxvt是XWindow系統(tǒng)下一個很優(yōu)秀的終端模擬器。作為標準的xterm終端的替代品。具有占用資源小,啟動快的特點。上述幾款終端軟件區(qū)別不大,窗口類似,都用來實現命令的輸入,完成用戶與操作系統(tǒng)的交互。名詞解釋:XWindow。XWindow是一種以位圖方式顯示的軟件窗口系統(tǒng),最早于1984年麻省理工學院開發(fā),后來變成UNIX、類UNIX等操作系統(tǒng)所一致使用的標準化軟件工具包及顯示架構的運作協(xié)議。XWindow通過軟件工具及架構協(xié)議建立操作系統(tǒng)所用的圖形用戶界面,此后逐漸擴展到其他操作系統(tǒng)上,幾乎所有的操作系統(tǒng)都能支持與使用XWindow。GNOME和KDE也都是以XWindow為基礎構建成而成的。2.1.2終端軟件2.1初識終端2.2認識Shell2.2.1Shell概述返回目錄2.2.2Shell命令格式2.2.1Shell概述2.2初識Shell用戶使用操作系統(tǒng)幾乎都在桌面環(huán)境下,通過鼠標單擊操作基本可以完成大部分的工作。圖形界面對用戶十分友好,交互方便。然而,Linux操作系統(tǒng)的許多功能使用Shell命令來完成要比圖形界面更快速且直接。因此,掌握Shell命令的用法十分重要。學習Shell命令,首先需要理解Shell的定義以及Shell在操作系統(tǒng)中的定位。Shell可直譯為“貝殼”,而Linux操作系統(tǒng)中的Shell可以被視為Linux內核的一個外層保護工具。主要負責完成用戶與內核之間的交互,其主要面對的是用戶。Shell本質上是一個命令行解釋器。其功能為將用戶命令解析為操作系統(tǒng)所能理解的指令,從而實現用戶與操作系統(tǒng)的交互。Shell為操作系統(tǒng)提供了內核以上的功能,直接用來管理和運行系統(tǒng)。2.2.1Shell概述2.2初識Shell用戶、Shell和Linux操作系統(tǒng)內核之間的關系,如圖所示。在這里需要特別注意的是Shell、Shell腳本、Shell命令三者的區(qū)別,它們是三個不同的概念。Shell命令是用戶向系統(tǒng)內核發(fā)送的的控制請求,而這個控制命令是無法被內核理解的。它只是一個文本流。2.2.1Shell概述2.2初識Shell而Shell是命令行解釋器,是用來解析用戶命令的。Linux內核可以做很多事,硬件如顯卡、聲卡、內存、硬盤等都由內核來控制。這些硬件執(zhí)行的命令需要由用戶來下達,而內核對用戶的文本控制命令是“聽不懂”的。因此,用戶在命令行提示符下輸入命令文本,這樣的命令傳遞給內核前需要有一個“翻譯”,這個“翻譯”就是Shell。在特定的情況下,硬件需要執(zhí)行很多命令,這時可以將命令集合起來,結合控制語句,編輯成Shell腳本文件,交由Shell批量執(zhí)行。Shell有很多種類型,不同的Shell具備不同的功能。Linux操作系統(tǒng)支持的Shell種類如下。(1)BourneShell(簡稱sh)由AT&T貝爾實現室鮑恩(S.R.Bourne)開發(fā)。BourneShell是UNIX最初使用的Shell。BourneShell在Shell編程方面十分優(yōu)秀,但在處理與用戶的交互方面不盡如人意。例如,不支持別名與歷史記錄等功能。2.2.1Shell概述2.2初識Shell(2)BourneAgainShell(簡稱bash)是多數Linux操作系統(tǒng)發(fā)行版的默認Shell。作為BourneShell的增強版,其各項功能都比較完善。與BourneShell完全向下兼容。它提供了命令補齊、命令編輯和命令歷史等特色功能,有很友好的用戶界面。(3)CShell(簡稱csh)相較于BourneShell更適合編程,其語法與C語言類似。由加州大學伯克利分校開發(fā)。CShell的語法相對復雜,且執(zhí)行效率不高。(4)KornShell(簡稱ksh),由戴維·科恩(DavidKorn)開發(fā)。與BourneShell兼容。Linux操作系統(tǒng)提供pdksh(ksh的擴展),支持任務控制,可以在命令行上掛起、后臺執(zhí)行、喚醒或終止程序。2.2.1Shell概述2.2初識ShellLinux操作系統(tǒng)中Shell的運行環(huán)境是終端。用戶只需開啟終端,即可啟動Shell環(huán)境。如圖所示,命令行提示符是Shell運行環(huán)境的標志。2.2.2Shell命令格式2.2初識Shell1.命令提示符通常情況下Shell命令行提示符采用以下的格式。用戶在提示符后面輸入命令并按Enter鍵,向系統(tǒng)發(fā)送指令。username:用戶名,即當前登錄用戶的用戶名。hostname:主機名,即系統(tǒng)的主機名。direction:目錄名,即當前用戶所處的路徑,“~”表示在用戶主目錄下;“/”表示在根目錄(類似于Windows系統(tǒng)下的C盤)下,即系統(tǒng)目錄下。$:Shell提示符,表示當前用戶為普通用戶。如果當前用戶為超級用戶(管理員),則提示符為“#”。2.2.2Shell命令格式2.2初識Shell如圖所示,在Ubuntu系統(tǒng)中,通過鼠標單擊或者快捷鍵“Ctrl+Alt+T”打開終端,看到當前的提示符為“l(fā)inux@ubuntu:~/1000phone$”。其中,“l(fā)inux”為當前登錄的用戶名;主機名為“ubuntu”;當前用戶所處的路徑為“~/1000phone”,即用戶主目錄下的“1000phone”目錄中。2.2.2Shell命令格式2.2初識Shell2.命令格式一般情況下,命令的3要素為:命令名稱、附加選項、參數。其中命令名稱,附加選項與參數則一般是可選項(即根據實際情況選定)。命令格式一般如下所示。Command:命令名稱,可以為Shell命令或執(zhí)行程序,嚴格區(qū)分大小寫。options:附加選項,通常情況下,用戶若希望命令可以實現更加精確或更加全面的功能,則需要在命令后添加選項,指定命令動作。Argument:參數,一般用來指定作用對象或目標,可以是特定的值。有時可以添加多個參數。2.2.2Shell命令格式2.2初識Shell需要注意的是,輸入命令時需要將上述3要素用空格隔開;如果多個命令需要同時輸入操作系統(tǒng),則命令與命令之間使用“;”隔開;如果一條命令不能在一行輸入完成,則需要在本行結尾處使用分隔符“\”,表示本行未輸入完整。2.3Linux操作系統(tǒng)命令2.3.1用戶與系統(tǒng)相關命令返回目錄2.3.2文件相關命令2.3.3壓縮打包相關命令2.3.4系統(tǒng)常用功能命令2.3Linux操作系統(tǒng)命令上一節(jié)中介紹了命令的格式,但是比較抽象,不易理解。本節(jié)將通過實際的Linux操作系統(tǒng)(Ubuntu)命令介紹系統(tǒng)的使用。Linux操作系統(tǒng)命令非常多。本節(jié)將選取常用且相對重要的命令,按照其使用的對象以及環(huán)境進行分類講解。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令1.切換用戶命令suLinux操作系統(tǒng)是一個多用戶操作系統(tǒng),因此有時會涉及用戶切換與用戶管理等操作。用戶管理操作后面將詳細介紹。Linux操作系統(tǒng)命令su用來實現對當前系統(tǒng)的操作用戶進行切換,通常被用來完成普通用戶與超級用戶(管理員)的切換。因為當用戶需要對根目錄中的文件進行訪問或寫入時,由于權限問題,常需要將當前的普通用戶更換為超級用戶。(1)命令su幫助查詢命令su的語法格式可以通過操作系統(tǒng)幫助查看,一般命令行輸入“命令+-help”即可。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令如圖所示。因此,默認情況下的命令su的語法格式如下所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令(2)命令su附加選項命令su附加選項如表所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令(3)命令su使用示例命令su使用方法如例所示,可以看到“-,-l,--login”三者的功能一致,即重新登錄,并修改工作環(huán)境。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令例通過命令su將普通用戶linux操作系統(tǒng)變更為超級用戶root,選項“-”可以實現改變用戶的使用的環(huán)境變量,例如,當用戶切換為root時,可以看到提示符變?yōu)椤皉oot@ubuntu:~#”,再次切換為普通用戶時,“#”變?yōu)椤?”。用戶切換為root需要密碼。密碼不顯示,正確輸入即可。選項“-c”,將用戶切換為linux,并執(zhí)行pwd(顯示當前所處的路徑),然后再切換為原用戶root。有時輸入某個命令需要使用超級管理權限。但其后并不需要一直使用超級用戶權限。這種情況只需要獲取臨時超級用戶權限,即僅在當前命令使用該權限,此時在需要輸入的命令前添加sudo即可。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令2.系統(tǒng)相關命令Linux操作系統(tǒng)中常見的系統(tǒng)管理命令如表所示,下面將分別簡單介紹其使用方法。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令(1)關機與重啟shutdown與reboot是與系統(tǒng)關機、重啟相關的指令。二者的執(zhí)行都需要超級用戶權限。命令shutdown常用的附加選項參數為“-r”、“-h”,分別表示重啟、關機。如例所示,“+5”即5分鐘之后執(zhí)行關機操作。時間可根據情況自行選擇。如果需要立即執(zhí)行,將“+5”替換為“now”即可。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令命令reboot一般使用時較少添加選項。例所示代碼表示立刻重啟。(2)清屏與關閉終端如表所示,命令clear用于將當前終端上顯示的信息清空,也可以使用快捷鍵“Ctrl+L完成該操作”。清屏操作相當于翻頁,前面的內容仍可以查看。命令exit則有一點特殊。當用戶為普通用戶時,其功能為關閉終端;當用戶為超級用戶時,其功能為切換成普通用戶,如例所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令(3)進程查詢與處理ps是一個十分重要的指令,可通過添加不同的附加選項,查看系統(tǒng)進程的各種信息。命令ps常見附加選項如表所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令一般情況下,建議使用選型“aux”、“axj”,可查看更加詳細的信息,如例所示。命令kill通常被用來處理進程,通過發(fā)送信號,實現對進程的控制。其附加選項如表所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令如例所示,命令kill通過“-s”后指定信號的名稱SIGKILL,并將該信號發(fā)送給進程3030。通常情況下“-s”可省略,并且需要提前獲得進程的ID號。3.磁盤相關命令Linux操作系統(tǒng)與磁盤相關的命令如表所示,這里將重點介紹fdisk分區(qū)命令。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令(1)命令fdiskfdisk是一個功能非常實用的命令。除了用來查看硬盤分區(qū)情況以外,其更多的時候被用于在操作系統(tǒng)中對磁盤(硬盤)進行分區(qū)操作。接下來通過在Ubuntu系統(tǒng)下對U盤進行重新分區(qū)展示命令fdisk的使用。在此之前,讀者需要了解文件系統(tǒng)與硬盤(磁盤)的關系,并且理解格式化的本質。這里將一個已經分區(qū)并格式化的U盤(即可以正常存儲資料)連接到計算機上。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令連接之后的U盤如圖所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令雙擊打開該U盤,存儲了文件1和文件夾2,如圖所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令同時也可以查看該存儲(U)盤的屬性,如圖所示。該存儲盤容量為14.8GB,文件所占用的大小為3.06MB。其中最重要信息的是該存儲盤的中駐留的文件系統(tǒng)的類型為FAT32。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令因此,在這里讀者需要理解文件系統(tǒng)的概念。通常情況下,可以將文件系統(tǒng)簡單地定義為對文件進行管理的一種機制。文件系統(tǒng)的類型很多,不同類型的文件系統(tǒng)對文件管理的方式則略有不同。假設一個硬盤(U盤、MicroSD、SSD等)在出廠時,已經進行了分區(qū)(如同Windows裝系統(tǒng)時,需要在安裝前分區(qū),將計算機硬盤分為C、D、E、F等盤),但是未進行格式化。那么此存儲設備是否可以完成對工作或生活中資料的存儲,答案是否定的,不能存儲。究其原因,即硬盤作為一個機械式的存儲設備,并不知道該如何對存入的文件進行管理。就像一棟大樓在建設完畢后,沒有公司或商家入駐,沒有整體經營的模式,那么自然不會有顧客光顧。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令因此,通過將可以對文件進行管理的文件系統(tǒng)移植到硬盤上來實現文件的存儲十分重要,此時文件則可以按照規(guī)則合理地存儲在硬盤上。這個處理在Windows中經常被使用,即格式化。格式化的本質其實就是將新的文件系統(tǒng)移植到硬盤上,先前駐留在硬盤上的文件系統(tǒng)則會被替換,被該文件系統(tǒng)所管理的文件也將被清除。例如,對圖中連接到計算機的U盤進行格式化,如圖所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令在圖所示的格式化選擇界面中,可以選擇需要格式化的文件系統(tǒng)的類型。即移植到U盤中的文件系統(tǒng)。單擊“開始”按鈕,彈出圖所示的警告對話框。如警告信息所示,開始格式化,必然會清除原文件系統(tǒng)管理的文件。單擊“確定”按鈕即可完成格式化。原來存儲的文件以及文件夾都被清除,如圖所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令接下來通過Linux操作系統(tǒng)命令fdisk實現對上述U盤進行重新分區(qū)。首先需要使該被虛擬機中的Ubuntu系統(tǒng)識別。如圖所示,在可移動設備中,找到接入計算機的U盤設備,單擊“連接”菜單頁。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令此時,U盤將會被虛擬機中的Ubuntu系統(tǒng)識別,同時與Windows操作系統(tǒng)斷開。如圖所示,單擊“確定”按鈕,即可完成設備識別。如圖所示,連接成功后,Ubuntu系統(tǒng)桌面顯示U盤圖標,打開之后顯示為空。很明顯,此時U盤的分區(qū)只有一個,容量為14.8G,并且駐留有文件系統(tǒng)。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令單擊終端圖標,使用命令“fdisk-l”即可查看當前系統(tǒng)中所有磁盤分區(qū)列表情況,使用時需要超級用戶權限。如例所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令如例所示,顯示部分為新識別的U盤的具體情況。對于Linux操作系統(tǒng)而言,一切皆文件。因此該U盤設備被Ubuntu系統(tǒng)識別后,系統(tǒng)將其視為文件來進行處理。其中文件名為sdb(名字不固定,可能會出現sdc、sde等情況),保存在/dev目錄下,此U盤設備只有一個分區(qū),分區(qū)名為sdb1。分區(qū)的起始地址為112扇區(qū),結束地址為31129599扇區(qū),因此分區(qū)的大小為((31129599-112)*512)/(1024*1024*1024)≈14.8GB。注意,一個扇區(qū)的大小為512Byte。并且顯示文件系統(tǒng)的類型為FAT32。接下來使用命令fdisk對U盤進行重新分區(qū),首先確保U盤設備被Ubuntu系統(tǒng)識別,接下來需要找到U盤設備對應的設備文件名(將U盤視為文件處理),即例中所示的“/dev/sdb”,其分區(qū)名為“sdb1”。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令使用命令fdisk進行分區(qū),如例所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令如例所示,進入分區(qū)界面,可選擇分區(qū)的具體操作,由于U盤已經有一個分區(qū),并進行了格式化。因此在重新進行分區(qū)之前,需要將原有的分區(qū)刪除,選擇d刪除分區(qū)。如例所示。如果分區(qū)只有一個則默認選擇刪除分區(qū),如果分區(qū)為多個,則會提示用戶選擇刪除的分區(qū)。接下來選擇新建分區(qū),選擇n,新建一個分區(qū),如例所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令如例所示,提示選擇分區(qū)的類型,這里選擇主分區(qū),因此輸入p即可。如直接按Enter鍵,默認選擇為p,如例所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令例中依次選擇默認項。默認為主分區(qū),默認選擇編號為1的分區(qū),默認選擇分區(qū)的起始地址為2048扇區(qū),結尾地址為31129599扇區(qū)分區(qū)大小為(31129599-2048)*512/(1024^3)≈14.8G)。正常情況下,起始地址一般選擇默認,結尾地址可自行設定。最佳的設定方式是提前計算分區(qū)大小,再進行單位換算,避免出現非正整數的情況。例如,上述扇區(qū)結束地址為31129599扇區(qū),結合起始地址,計算得出的容量是約為14.8GB,并不是等于。其中0~2048扇區(qū)的區(qū)域以及其他一些區(qū)域未進行分區(qū),也不會進行格式化,因此也不可見(只可以用來固化一些二進制代碼)。所以生活中常常會有剛購買的硬盤的容量低于理論值的情況(例如,32G硬盤,可能使用的容量大概30G所有)。所有選擇進行完畢后,輸入w進行保存。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令保存完畢即創(chuàng)建分區(qū)完成,此時可選擇Ubuntu進行格式化,也可選擇Windows。這里選擇Windows進行,將Ubuntu與U盤的連接斷開,方法與圖連接時一致。一旦斷開連接,U盤設備將會自動被Windows操作系統(tǒng)識別。如圖所示。此時Windows系統(tǒng)識別到未經過格式化的U盤,提示如圖所示。此時U盤并不能使用。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令在圖中單擊“格式化磁盤”按鈕,進入格式化界面,如圖所示,單擊“開始”按鈕,等待格式化完畢,單擊“確定”按鈕。此時U盤即可正常使用,如圖所示。(2)命令df學習過命令fdisk之后,對命令df的理解相對會容易很多。命令df用于查看磁盤空間的使用情況。經常查看磁盤空間是十分重要的,可避免系統(tǒng)所使用的磁盤空間被填滿而導致系統(tǒng)崩潰。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令命令df的一般使用的語法格式如下。命令df的附加選項如表所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令命令df的使用如例所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令可以看出,當前Linux操作系統(tǒng)使用的磁盤空間為80GB,即虛擬機從計算機硬盤中分配80GB來作為Ubuntu系統(tǒng)使用的硬盤空間,其磁盤中的文件系統(tǒng)類型為ext4,掛載到根(“/”)目錄中。簡單理解就是,訪問根目錄即在訪問硬盤空間。很明顯,當前用戶工作目錄就在根目錄下,因此所使用的空間即這部分硬盤空間。(3)命令du命令du用來查看特定目錄所使用磁盤空間的情況。其附加選項與df命令相似,例使用du命令查看根目錄下的“etc”目錄中文件所使用的磁盤空間。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令4.磁盤掛載命令掛載與分區(qū),都是Linux操作系統(tǒng)中相當重要的操作。涉及文件系統(tǒng)與設備相關的問題,經常會出現掛載或分區(qū)需求。掛載的本質是分區(qū)與目錄的對應過程。將文件系統(tǒng)掛載到相應的目錄下,訪問該目錄就等同于訪問該文件系統(tǒng)。例如,在上一部分介紹命令fdisk對U盤進行分區(qū)格式化之后,進行掛載操作,將其掛載到Ubuntu的某一個目錄下。此時訪問目錄即可訪問到該U盤中存儲的各種資源。通常將掛載的目錄稱為掛載點。利用這一特性,有時可以實現遠程訪問、共享資源。使用mount命令即可完成對應的掛載操作。由于Linux操作系統(tǒng)將設備視作文件進行處理,因此mount命令可以實現掛載不同的設備。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令通常,Linux操作系統(tǒng)中“/mnt”目錄被專門用來實現掛載不同文件系統(tǒng),在該目錄中可以創(chuàng)建不同的子目錄來掛載不同的設備文件系統(tǒng)。命令mount常見的附加選項如表所示。下面利用上一部分中已經分區(qū)以及格式化的U盤設備展示如何實現掛載操作。即命令mount的使用。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令(1)首先,將U盤設備連接入Ubuntu系統(tǒng),方法不再贅述,如圖所示。確認U盤設備連接入系統(tǒng)后,可使用命令“df-h”查看,如例所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令(2)例中U盤的分區(qū)只有一個,分區(qū)名為sdb1。默認情況下,該分區(qū)被掛載到“/media”目錄下。由于U盤的分區(qū)只有一個,因此也可以理解為將整個設備掛載到該目錄下。下面將手動重新對其進行掛載。首先在“/mnt”目錄下創(chuàng)建一個子目錄initrd。然后將設備掛載到該目錄中,如例所示。(3)進入“/mnt/initrd”目錄,即可查看當前U盤中存儲的內容。查看當前目錄中的文件可使用命令“l(fā)s”,如例所示,U盤中存儲兩個.txt文件。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令(4)如果此時在目錄中創(chuàng)建新文件,文件將會同步到該U盤中(文件系統(tǒng))中。如例所示,創(chuàng)建新文件使用touch命令。(5)當不再使用其掛載功能時,可以使用umount命令將目錄與掛載到該目錄下的文件系統(tǒng)(U盤)斷開關系,即卸載。一旦關系斷開,目錄將只是一個單純的目錄。如例所示。2.3.1用戶與系統(tǒng)相關命令2.3Linux操作系統(tǒng)命令(6)將U盤與Ubuntu系統(tǒng)斷開連接,使其與Windows建立連接。即可看到U盤中的新文件同步成功。如圖所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令在Linux操作系統(tǒng)中,用戶經常會對文件以及目錄進行操作。因此本節(jié)將對文件操作命令進行詳細介紹。1.目錄創(chuàng)建與刪除命令創(chuàng)建目錄的命令為mkdir,其一般的語法格式如下所示。之所以為路徑名,是因為創(chuàng)建的目錄可以在Ubuntu文件系統(tǒng)的任何位置,而非只是在當前目錄中創(chuàng)建。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令命令mkdir常用選項如表所示。使用mkdir創(chuàng)建目錄如例所示,在“1000phone”目錄下,創(chuàng)建目錄“test1”,并且在“test1”目錄下繼續(xù)創(chuàng)建目錄“test2”。使用cd命令切換到“test1”目錄下。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令使用命令mkdir創(chuàng)建多層目錄如例所示,直接使用mkdir在當前目錄下創(chuàng)建“test1”,并在“test1”目錄下創(chuàng)建“test2”沒有成功。此時需要使用“-p”選項,在層級目錄中遇到目錄不存在的情況,自動創(chuàng)建。如果在同一級目錄中同時創(chuàng)建多個目錄,則無須使用“-p”選項參數。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令使用mkdir創(chuàng)建目錄并指定目錄的存取權限,如例所示。創(chuàng)建的目錄“test1”的權限為“777”(后續(xù)將詳細講解,本次只做演示)。使用rmdir刪除目錄,其一般的語法格式為“rmdir+[路徑名]”。其選項為“-p”,表示子目錄被刪除后,它自身也成為空目錄,因此自身與子目錄一并刪除。rmdir只能刪除空目錄。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令如例所示,刪除當前目錄下的子目錄不需添加任何選項;當刪除工作目錄下的“test2”目錄下的“test3”時,若“test3”刪除后,“test2”成為空目錄,則“test2”也一并刪除。2.目錄切換命令切換目錄的命令為cd,其語法格式如下。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令其中需要切換的路徑名有時為層級目錄。路徑可以是相對路徑或絕對路徑。層級目錄如圖所示。如圖所示的目錄結構更像一棵樹。“1000phone”目錄為整個目錄結構的根,“test1”是樹的分支,“test4”、“test5”又是“test1”得到分支。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令絕對路徑通常是從整個目錄的根處開始表示,例如,目錄“test4”的絕對路徑為“1000phone/test1/test4”。目錄“test6”的絕對路徑為“1000phone/test3/test6”。相對路徑與絕對路徑不同的是其參照的目錄,因此相對路徑的表示有時是不固定的。通常情況下,當前所在目錄為“./”;上一層目錄則表示為“../”,上上層目錄則為“../../”,以此類推。因此,圖中目錄“test6”相對于“test4”的相對路徑為“../test3/test6”,也可以表示為“../../test3/test6”。接下來在Ubuntu系統(tǒng)中創(chuàng)建與圖一致的目錄結構,在用戶主目錄下完成,如例所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令創(chuàng)建完成后,使用命令cd進行切換目錄展示,如例所示。使用命令cd切換到“1000phone/test1”目錄,再切換到更下一層的“test4”目錄。當處于“test4”目錄下時,使用相對路徑切換到“test6”目錄。再使用“絕對路徑”的方式切換到“test5”目錄。在這里需要注意的是,如果使用絕對路徑,則頂層目錄一定為整個目錄結構的根,如例所示,使用命令pwd可顯示用戶當前的工作目錄的絕對路徑。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令如例所示,“/”符號出現在目錄的開始處,表示Linux操作系統(tǒng)的根目錄,即目錄的最頂層;如果出現在其他位置,則只用來分隔目錄名。通常將“/home”稱為家目錄,家目錄中的子目錄一般為用戶目錄,例如,“/home/linux”,“l(fā)inux”為用戶所在目錄。因此通常表示用戶所在目錄的方式可以為“~/”或者“/home/linux”,二者表示的目錄是相同的,如例所示。命名cd如果不指定切換的路徑,則默認是用戶的主目錄,在任何子目錄中執(zhí)行,都會直接回到用戶主目錄。如例所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令使用“cd+/”,將直接切換到頂層根目錄,“cd+-”直接切換到上一次切換前的工作目錄,如例所示。注意,提示符變化表示目錄切換成功。3.文件顯示查詢命令ls的功能為列出目錄中所有的文件。一般默認的語法格式如下。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令其中,文件表示指定查詢該文件的相關信息;如果未指定文件,則默認查詢當前目錄下所有文件;如果指定的是目錄,則查詢該目錄下所有的文件。命令ls常見選項如表所示,參數可以組合使用。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令命令ls的使用如例所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令4.文件的復制、剪切、刪除命令cp用來實現將目錄或文件復制到另一個目錄或文件中。命令mv用來實現將目錄或文件移動(剪切)到另一個目錄或文件中,也可以用來修改文件的名字。命令rm用來刪除文件或目錄。命令cp與mv的格式基本一致,如下所示。命令rm的語法格式如下所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令命令cp的選項如表所示。命令cp的使用如例所示,展示使用的目錄結構與圖一致。例將子目錄中的目錄文件“test4”與“test5”復制到當前目錄中,并未修改目標目錄的名字?!癱p-rf”在復制操作時是較為常用的組合。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令如例所示,命令touch創(chuàng)建一個新文件“1.txt”,并將“test4”目錄中的文件復制到“test6”目錄下,修改名字為“2.txt”。命令mv的選項如表所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令mv的使用如例所示,將“1000phone”目錄下的目錄“test1”剪切到目錄“test3”中。如果“test1”“test3”為文件而非目錄,則功能變?yōu)榧羟小皌est1”并生成新的文件“test3”,“test1”將被刪除。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令命令rm的選項如表所示。命令rm的使用如例所示。刪除目錄需要使用遞歸選項,此操作一般用來刪除非空目錄。刪除文件則不需要添加選項。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令綜上所述,無論是復制、剪切還是,都需要特別注意當前操作所在的工作目錄。所在的工作目錄不同,使用相對路徑時也略有不同。路徑使用在操作時需要格外小心,以防操作失誤導致重要的文件被損壞。其次,操作時需考慮文件與目錄的區(qū)別,除剪切操作外,其他目錄操作一般都需要遞歸處理。5.文件搜索文件搜索有兩種情況,一種是搜索特定的內容,另一種則是搜索指定的文件。(1)grep命令grep的功能為在指定文件中搜索特定的內容,并將這些內容標準輸出到終端。其一般的語法格式如下所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令其中,格式表示搜索的內容格式,如果未指定文件及路徑,則默認搜索當前目錄。命令grep的附加選項如表所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令命令grep的使用如例所示。查詢特定內容的所在的文件名以及行號,以及匹配行的內容。(2)find命令find的功能為在指定的目錄中搜索文件。其一般的語法格式如下所示。其中路徑表示文件搜索路徑,若未指定,默認為當前目錄。描述表示匹配表達式,即搜索的關鍵字。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令命令find的附加選項如表所示。命令find的使用如例所示,查找當前目錄下名字為test.c的所有文件。注意,如需要混合查找方式,則可以使用“-and”(與)。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令6.文件鏈接文件鏈接在Linux操作系統(tǒng)中是十分普遍且重要的做法,鏈接操作實際上是給文件系統(tǒng)中的某個文件指定另外一個可用于訪問它的名稱。對于這個新的文件名稱,用戶可指定其訪問權限,以控制對文件信息的共享和安全。通俗地說,創(chuàng)建鏈接文件就是為源文件建立更多的別名,通過別名一樣可以訪問源文件。其原理類似于生活中的明星的本名與藝名,其實所指的都是同一個人。建立鏈接文件對節(jié)省磁盤空間、提高訪問效率等問題有十分明顯的優(yōu)勢。Linux系統(tǒng)中的有兩種類型的鏈接:硬鏈接與軟鏈接(符號鏈接)。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令硬鏈接是通過文件的物理編號(索引節(jié)點)進行鏈接,在Linux系統(tǒng)中,保存在磁盤分區(qū)中的任何類型的文件都會分配一個編號,稱為索引節(jié)點(inode)號。多個文件名指向同一個索引節(jié)點的情況就是硬鏈接。硬鏈接類似于Windows操作系統(tǒng)中的復制,刪除一個文件,并不會影響其他文件的訪問。、硬鏈接的特點如下。(1)不論是修改源文件,還是修改硬鏈接文件,另一個文件中的數據都會發(fā)生改變。(2)不論刪除源文件或是硬鏈接文件,只要有一個文件存在,文件都可以被訪問。(3)硬鏈接不會建立新的inode信息。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令(4)硬鏈接不能鏈接目錄,給目錄建立硬鏈接,不僅目錄本身需要建立,目錄下所有文件也需要建立鏈接。軟鏈接是通過文件的路徑名建立鏈接,也稱為符號鏈接。硬鏈接不會建立自己的inode(數據塊,存儲文件內容),而是指向源文件的inode信息和block,所以硬鏈接和源文件的inode號是一致的;軟鏈接會真正建立自己的inode和block,因此軟鏈接和源文件的inode號不一致,而且在軟鏈接的block中,存儲的不是真正的數據,而是源文件的文件名及inode號。因此軟鏈接類似于Windows的創(chuàng)建快捷方式。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令軟鏈接的特點如下。(1)不論是修改源文件,還是修改軟鏈接文件,另一個文件中的數據都會發(fā)生變化。(2)刪除軟鏈接文件,源文件不受影響;而刪除源文件,鏈接文件找不到實際的數據,則會失效。建立鏈接文件的命令為ls,其一般的格式如下所示。一般使用“-s”表示建立符號鏈接。命令ls的使用如例所示。為源文件“~/linux_system/project/server/server”建立軟鏈接文件“~/1000phone/server”。訪問“~/1000phone/server”鏈接文件與訪問源文件的效果一致。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令7.文件所屬用戶在Linux操作系統(tǒng)中,每個文件都自己的屬主,也就是該文件的擁有者。一般情況下系統(tǒng)中創(chuàng)建文件的用戶為該文件的屬主。Linux操作系統(tǒng)是一個多用戶的操作系統(tǒng),操作系統(tǒng)對用戶的管理采用分組的形式,即多個用戶可分為一組。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令用戶及組的管理在后續(xù)章節(jié)中將詳細講解,這里直接介紹改變所屬用戶以及用戶組的命令。命令chown用于修改文件所屬用戶。命令chgrp用于修改文件所屬用戶組。二者的語法格式如下所示。其中用戶/組為修改后的新的用戶或組。命令chown與chgrp常見附加選項如表所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令命令使用如例所示。文件“test.c”原所屬用戶為linux,其所屬組同樣為linux。使用命令chown改變文件“test.c”的所屬用戶為root,其所屬的用戶組仍為linux。使用命令chgrp改變文件“test.c”所屬用戶組為root。因為root為超級用戶,因此使用sudo獲取臨時超級用戶權限進行操作。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令8.文件存取權限上一部分中展示了文件的所屬用戶以及所屬組的修改,同樣,在Linux操作系統(tǒng)中,每個文件或目錄都有其訪問權限,此權限決定了Linux操作系統(tǒng)的用戶對該文件的訪問是否受限。因此,下面討論Linux操作系統(tǒng)中用戶對文件的存取權限。使用命令“l(fā)s-l文件名”即可查看指定文件的相關屬性,包括用戶對文件的存取權限,如例所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令例中,“test2”、“test3”“test4”三個目錄的權限都為rwxrwxr-x(開頭的符號“d”表示directory,即文件為目錄類型),每3個字符為一組,其代表的意義如表所示。其中,r表示可讀權限,w表示可寫權限,x表示可執(zhí)行權限,-表示不具備該權限。因此,例中所展示的目錄的訪問權限可以描述為:該文件所屬的用戶對該文件具有可讀、可寫、可執(zhí)行權限;與文件所屬用戶同組的其他用戶對該文件具有可讀、可寫、可執(zhí)行權限,與文件所屬用戶非同組的其他用戶對該文件具有可讀、可執(zhí)行權限,不具有寫權限。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令將擁有該權限設置為1,不具有該權限設置為0,用符號表示的權限就可以替換為二進制數111111101,分別與rwxrwxr-x一一對應。該二進制數轉換為八進制數為0775。設置文件訪問權限,其目的是保證文件的安全性,避免出現被其他用戶修改的情況。修改文件的訪問權限使用命令chmod,可使用符號標記和八進制數指定兩種方式進行權限的更改。其中使用符號標記的語法格式如下所示,符號權限可以指定多個,使用逗號隔開。使用八進制數指定的語法格式如下所示,八進制數為需要更改的權限。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令命令chmod的選項如表所示。如果使用符號標記進行權限修改,則“+”代表增加權限,“-”代表刪除權限。用“=”號設置權限。不同用戶級別表示為:文件所屬用戶(u)、同組其他用戶(g)、系統(tǒng)其他用戶(o)以及所有用戶(a)。具體使用如例所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令例中,第3行代碼通過sudo獲取root權限后,使用chomd命令為所有用戶(a)添加執(zhí)行權限(w),同時為文件所屬用戶(u)與同組其他用戶(g)添加寫權限(w)。采用八進制數的方式進行權限修改則更加方便,用戶只需要指定需要修改的八進制數即可。八進制數、二進制數以及對應的權限如表所示。2.3.2文件相關命令2.3Linux操作系統(tǒng)命令采用八進制數的方式進行權限修改,如例所示。在例中,使用命令chmod直接指定文件權限為0664,即將文件權限修改為0664,轉換為二進制數為110110100,采用字符表示為rw-rw-r--。通過查看結果可知修改成功。2.3.3壓縮打包相關命令2.3Linux操作系統(tǒng)命令Linux操作系統(tǒng)中,對文件進行壓縮、打包、解壓縮、解包的命令有很多,如表所示。本次將著重介紹表中命令gzip與命令tar的使用。2.3.3壓縮打包相關命令2.3Linux操作系統(tǒng)命令1.gzip命令命令gzip可以用來實現對文件進行壓縮和解壓縮,gzip可根據文件的類型自動識別壓縮或解壓縮。命令gzip附加選項如表所示。2.3.3壓縮打包相關命令2.3Linux操作系統(tǒng)命令命令gzip的使用如例所示。通過使用gzip命令將test.c文件進行壓縮,壓縮為test.c.gz(后綴名無須用戶定義,會自動生成)。壓縮后原文件則不存在,通過指定-d可將.gz文件進行解壓縮。需要特別注意的是,gzip只能壓縮或解壓縮單個文件,操作目錄需要使用命令tar。2.3.3壓縮打包相關命令2.3Linux操作系統(tǒng)命令2.tar命令命令tar被用來實現文件目錄的打包或解包。打包、解包不同于壓縮、解壓縮,這是兩種完全不同的概念。打包指的是將一些文件或目錄整合為一個單文件,而壓縮則是將一個大文件通過壓縮算法變?yōu)橐粋€體積較小的文件。通常情況下,如果需要對多個文件進行壓縮,則首先需要將這些文件打包為一個單獨的文件,然后再使用壓縮操作,減小文件的體積。命令tar可根據文件名來識別進行打包或解包動作,其中打包后的文件名由用戶自行定義。命令tar除了完成打包、解包之外,還可以調用gzip、bzip2完成壓縮、解壓的操作,因此tar功能比較豐富,其使用在Linux操作系統(tǒng)中十分普遍。2.3.3壓縮打包相關命令2.3Linux操作系統(tǒng)命令命令tar附加選項如表所示。2.3.3壓縮打包相關命令2.3Linux操作系統(tǒng)命令例通過命令tar完成對目錄“test”的打包處理,不壓縮,并顯示過程信息。2.3.3壓縮打包相關命令2.3Linux操作系統(tǒng)命令解包操作如例所示。如果需要對打包文件進行壓縮,則可以調用gzip或bzip2,反之,解包時也需要進行解壓處理??梢酝ㄟ^tar命令將兩步一并完成。2.3.3壓縮打包相關命令2.3Linux操作系統(tǒng)命令如例所示,將目錄“test”打包時一并壓縮。2.3.3壓縮打包相關命令2.3Linux操作系統(tǒng)命令在例中,需要特別注意:當指定“-z”選項時,打包文件名后綴一定為tar.gz;當指定“-j”選項時,打包文件名后綴一定為tar.bz;不同的選項對應不同的壓縮工具,因此文件后綴名也不相同。同理,解壓也是如此,這里不再展示。2.3.4系統(tǒng)常用功能命令2.3Linux操作系統(tǒng)命令1.Tab命名補齊用戶在使用Shell命令時,常會遇到命令或文件名遺忘的情況。針對這一問題,BashShell提供了命令與文件名補齊功能幫助用戶:在輸入命令或文件的前幾個字符后,按TAB鍵可自動補齊剩余字符串。如果出現多個命令或文件有相同的前綴,Sh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力行業(yè)輸電線路安全檢測
- 百貨行業(yè)安全生產工作總結
- 主管如何引導團隊討論計劃
- 2024年稅務師題庫(考點梳理)
- 2023年公開考調工作人員報名表
- 2024年電力安全管理制度
- 制氧機租賃合同(2篇)
- 創(chuàng)業(yè)培訓服務協(xié)議書(2篇)
- 2024年甘肅省反洗錢知識競賽考試題庫(含答案)
- 【人教版九上歷史】21天打卡計劃(填空版)
- 舉高消防車基礎知識
- 工程倫理課后習題答案(打印版)
- 2022年成都溫江興蓉西城市運營集團有限公司招聘筆試試題及答案解析
- 空氣、物表地面消毒登記記錄
- 急性腦梗死診治指南
- 檢察院分級保護項目技術方案
- 土木工程建筑中混凝土裂縫的施工處理技術畢業(yè)論文
- 水電站工程地質勘察報告
- 電站屏柜改造安裝二次工程施工組織設計
- DB42∕T 1795-2021 微動勘探技術規(guī)程
- 大潤發(fā)的企業(yè)文化
評論
0/150
提交評論