![Linux操作系統(tǒng)原理與應(yīng)用教學(xué)課件_第1頁](http://file4.renrendoc.com/view/0ddb33db0790643ee9d8f45975464054/0ddb33db0790643ee9d8f459754640541.gif)
![Linux操作系統(tǒng)原理與應(yīng)用教學(xué)課件_第2頁](http://file4.renrendoc.com/view/0ddb33db0790643ee9d8f45975464054/0ddb33db0790643ee9d8f459754640542.gif)
![Linux操作系統(tǒng)原理與應(yīng)用教學(xué)課件_第3頁](http://file4.renrendoc.com/view/0ddb33db0790643ee9d8f45975464054/0ddb33db0790643ee9d8f459754640543.gif)
![Linux操作系統(tǒng)原理與應(yīng)用教學(xué)課件_第4頁](http://file4.renrendoc.com/view/0ddb33db0790643ee9d8f45975464054/0ddb33db0790643ee9d8f459754640544.gif)
![Linux操作系統(tǒng)原理與應(yīng)用教學(xué)課件_第5頁](http://file4.renrendoc.com/view/0ddb33db0790643ee9d8f45975464054/0ddb33db0790643ee9d8f459754640545.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章Linux操作基礎(chǔ)
2.1Linux基本操作2.2Linux命令2.3Linux文件操作2.4輸入/輸出重定向習(xí)題第2章Linux操作基礎(chǔ)2.1Linux基本操2.1Linux基本操作
在使用Linux系統(tǒng)前,首先需要了解和掌握一些基本的操作,包括如何登錄和退出系統(tǒng)、如何修改口令以及關(guān)閉和重啟系統(tǒng)。2.1Linux基本操作
在使用Linu2.1.1登錄
Linux系統(tǒng)是一個多用戶操作系統(tǒng),系統(tǒng)的每個合法用戶都擁有一個用戶賬號,包括用戶名和口令等信息。任何用戶在使用Linux系統(tǒng)前必須先登錄系統(tǒng)。登錄(login)過程就是系統(tǒng)對用戶進(jìn)行認(rèn)證和授權(quán)的過程。登錄時,用戶須提供用戶名和口令。如果輸入有誤則不能進(jìn)入系統(tǒng)。
每個Linux系統(tǒng)都有一個特殊的用戶,稱為超級用戶。超級用戶的用戶名是root。root具有對系統(tǒng)的完全控制權(quán)限,非必要時應(yīng)避免使用root登錄。2.1.1登錄
Linux系統(tǒng)是一個多用戶操作系統(tǒng),1.終端與控制臺
終端(terminal)是指用戶用來與系統(tǒng)交互的設(shè)備,包括顯示器、鍵盤和鼠標(biāo)。每個用戶都需要通過一個終端來使用系統(tǒng)。
根據(jù)顯示模式的不同,終端分為字符終端和圖形終端。字符終端只能顯示字符界面,接收鍵盤輸入的命令;圖形終端可以支持圖形界面顯示和鼠標(biāo)操作。根據(jù)連接方式的不同,終端又可分為本地終端和遠(yuǎn)程終端。本地終端是直接與系統(tǒng)相連的終端,也稱為控制臺(console),是供系統(tǒng)本地用戶使用的終端;遠(yuǎn)程終端指用戶通過網(wǎng)絡(luò)或其他通信方式遠(yuǎn)程地使用系統(tǒng)時所用的終端,可能是專門的終端機,更多的是PC機終端。1.終端與控制臺
終端(terminal)是指用戶通常一個系統(tǒng)只有一個物理控制臺,但Linux系統(tǒng)用軟件模擬的方式提供了多至12個虛擬控制臺,包括6個字符終端和6個圖形終端。虛擬控制臺之間可以通過組合鍵Ctrl+Alt+Fn來切換,其中F1~F6對應(yīng)6字符終端,F(xiàn)7~F12對應(yīng)6個圖形終端。系統(tǒng)默認(rèn)啟動6個字符控制臺(對應(yīng)的切換功能鍵為F1~F6)和1個圖形控制臺(對應(yīng)的切換功能鍵為F7)。用戶可以根據(jù)需要啟動其他的控制臺。通常一個系統(tǒng)只有一個物理控制臺,但Linux系統(tǒng)用軟件模2.登錄方式
Linux系統(tǒng)的登錄方式可分為控制臺登錄和遠(yuǎn)程登錄。
1)控制臺登錄
系統(tǒng)啟動后,會在每個啟動了的控制臺上顯示登錄界面。Linux允許同一用戶在不同的控制臺上以相同身份或不同身份多次登錄,同時進(jìn)行幾項工作。各個控制臺上的交互過程是相互獨立的。例如,一個系統(tǒng)管理員擁有root賬號和一個普通用戶的賬號。他可以在一個控制臺上以普通用戶身份登錄進(jìn)行一些日常工作,在另一個控制臺上以root身份登錄進(jìn)行需要特權(quán)的系統(tǒng)管理工作。再如,程序員在一個控制臺上調(diào)試程序,遇到程序因錯誤而不響應(yīng)時,可以用同一身份從另一個控制臺上登錄,終止癱瘓的程序。2.登錄方式
Linux系統(tǒng)的登錄方式可分為控制臺在字符控制臺上登錄的方法是:將顯示屏切換到一個字符控制臺,就會看到系統(tǒng)登錄提示符。在“l(fā)ogin:”提示符后輸入用戶名,在“password:”提示符后輸入口令。注意:Linux系統(tǒng)嚴(yán)格區(qū)分大小寫,無論是用戶名、口令、文件名等都是如此。登錄成功后,系統(tǒng)顯示Shell命令提示符,表示用戶可以輸入命令了。
登錄過程如下所示:
login:cherry
Password:(輸入口令,不顯示)
Lastlogin:SatMay1215:50:56on:0
Youhavemail.
$_在字符控制臺上登錄的方法是:將顯示屏切換到一個字符控制臺注:本書約定,所有示例中,粗體為用戶輸入的內(nèi)容,非粗體為系統(tǒng)的輸出,括號“()”內(nèi)為說明信息。
通常,系統(tǒng)啟動后會默認(rèn)地將顯示屏切換到第7個控制臺,并在其上啟動一個圖形登錄界面。在圖形控制臺登錄的方法是:在相應(yīng)的輸入框里輸入用戶名和口令并按回車鍵,系統(tǒng)驗證通過后即進(jìn)入圖形桌面環(huán)境。注:本書約定,所有示例中,粗體為用戶輸入的內(nèi)容,非粗體為2)遠(yuǎn)程登錄
遠(yuǎn)程用戶可以從遠(yuǎn)程終端登錄到Linux系統(tǒng)上。遠(yuǎn)程登錄的用戶可以在自己所在的終端上像本地用戶一樣與系統(tǒng)交互,發(fā)布命令、運行程序并得到顯示結(jié)果。允許遠(yuǎn)程登錄標(biāo)志著Linux是一個真正意義上的多用戶操作系統(tǒng)。系統(tǒng)可以同時為多個遠(yuǎn)程的和本地的用戶服務(wù),對登錄用戶數(shù)也沒有限制。
從PC機上遠(yuǎn)程登錄Linux系統(tǒng)的方法是:使用Windows的putty或其他虛擬終端軟件,通過網(wǎng)絡(luò)、撥號或串口方式與Linux系統(tǒng)建立通ssh信連接,連通后即可看到Linux系統(tǒng)的登錄提示符“l(fā)ogin”。2)遠(yuǎn)程登錄
遠(yuǎn)程用戶可以從遠(yuǎn)程終端登錄到Linu2.1.2修改口令
用戶在初次使用系統(tǒng)時,一般是用超級用戶為其設(shè)置的初始口令登錄。登錄后應(yīng)及時修改口令。此后,為安全起見,用戶還應(yīng)定期修改登錄口令??诹顟?yīng)具有一定的長度和復(fù)雜度,使其不易被破解??诹钸€應(yīng)便于記憶,若忘記口令只能找超級用戶重新設(shè)置。
在桌面環(huán)境下,可以在系統(tǒng)菜單中找到修改口令的界面(對于Fedora系統(tǒng)來說,它的位置是:『系統(tǒng)』→『首選項』→『個人』→『關(guān)于我』→『更改密碼』)。在字符控制臺界面修改口令應(yīng)使用passwd命令。過程如下:2.1.2修改口令
用戶在初次使用系統(tǒng)時,一般是用超Linux操作系統(tǒng)原理與應(yīng)用教學(xué)ppt課件$passwd
Changepasswordforusercherry.
(current)UNIXpassword:(輸入原來的口令,無顯示)
Newpassword:(輸入新的口令,無顯示)
Retypenewpassword:(重復(fù)輸入新的口令,無顯示)
passwd:allauthenticationtokensupdatedsuccessfully.
$_$passwd
Changepassw2.1.3退出
退出(logout)就是終止用戶與系統(tǒng)的當(dāng)前交互過程。操作完成后及時退出系統(tǒng)是一個良好的習(xí)慣,即使是暫時離開也應(yīng)如此。
在桌面上可以找到退出系統(tǒng)的按鈕或菜單項。在字符控制臺界面,用exit命令或在命令提示符后按Ctrl+d鍵即可退出系統(tǒng)。(注意:可能需要多次使用exit命令或Ctrl+d鍵直至退出系統(tǒng)。)
退出后,系統(tǒng)回到登錄界面,用戶可以重新登錄系統(tǒng)。2.1.3退出
退出(logout)就是終止用戶與系2.1.4系統(tǒng)的關(guān)閉與重啟
當(dāng)系統(tǒng)需要關(guān)機時,必須使用關(guān)機命令來關(guān)閉系統(tǒng),不能直接關(guān)閉電源。另外,當(dāng)修改了系統(tǒng)的某一配置,或者安裝了新的軟件,有時需要重新啟動系統(tǒng)使修改生效。在多用戶系統(tǒng)中,關(guān)閉和重啟系統(tǒng)會影響到所有已登錄的用戶,因而執(zhí)行此操作需要有root權(quán)限。不過,為方便個人應(yīng)用,Linux系統(tǒng)默認(rèn)設(shè)置為允許登錄圖形桌面的普通用戶關(guān)閉和重啟系統(tǒng)。
在桌面環(huán)境下關(guān)機或重啟很簡單,只要點擊相應(yīng)的按鈕即可。此外,在控制臺上按Ctrl+Alt+Del鍵也可以重啟系統(tǒng)。2.1.4系統(tǒng)的關(guān)閉與重啟
當(dāng)系統(tǒng)需要關(guān)機時,必須使在字符命令界面要使用命令關(guān)閉或重啟系統(tǒng)。常用的關(guān)機命令是:
#shutdownnow
常用的重啟命令是:
#reboot
在關(guān)機命令的執(zhí)行過程中,系統(tǒng)屏幕上會顯示出關(guān)機操作的輸出信息。要等到關(guān)機過程完成后方可切斷電源。在字符命令界面要使用命令關(guān)閉或重啟系統(tǒng)。常用的關(guān)機命令是2.2Linux命?令
Linux系統(tǒng)為用戶提供了一套完備的命令,使用這些命令可以有效地完成各種工作。Linux的命令由Shell程序解釋執(zhí)行,所以也常稱其為Shell命令。在使用Linux命令前首先要啟動Shell程序。
啟動Shell的方式有多種,通常的方式是:
●在字符終端登錄,登錄成功后Shell將自動啟動;2.2Linux命?令
Linux系統(tǒng)為●登錄到圖形桌面上,在菜單中可以找到一個“終端”工具(對于Fedora系統(tǒng)的桌面,它的位置是:『應(yīng)用程序』→『系統(tǒng)工具』→『終端』)。“終端”是一個軟件仿真的虛擬終端,用于提供一個在圖形環(huán)境下運行的字符命令行界面。打開“終端”窗口,Shell也隨之啟動。
Shell啟動完成后,顯示命令提示符,提示用戶可以輸入命令了。對于普通用戶,系統(tǒng)的默認(rèn)提示符是“$”;對于root用戶,系統(tǒng)的默認(rèn)提示符是“#”。●登錄到圖形桌面上,在菜單中可以找到一個“終端”工具(2.2.1命令的格式
一條Shell命令是由一到多個項組成的命令行,命令各項之間用空格分隔。命令的一般格式如下:
命令名[選項1][選項2]…[參數(shù)1][參數(shù)2]…
其中,命令名是命令的名稱,表示要執(zhí)行的操作,通常為小寫。選項是對命令的特別定義,指出怎么執(zhí)行這個操作,一般以“-”開始。參數(shù)則是要操作的對象或操作數(shù)據(jù)。方括號括起的部分表明該項是可選的。例如:命令行rm-iabc中,rm是命令名,表示刪除文件操作;-i是命令選項,表示刪除前要提示用戶確認(rèn);abc是命令參數(shù),表示要刪除的文件的名稱。另外,當(dāng)一個命令帶多個選項時,可以只用一個“-”連起來,如rm-i-vabc可以寫成rm-ivabc。2.2.1命令的格式
一條Shell命令是由一到多個2.2.2命令的輸入與修改
Shell命令是通過終端鍵盤輸入的。輸入命令時可以使用一些編輯鍵來修改輸入錯誤,控制命令的執(zhí)行。表2-1所示是常用的Shell命令行編輯鍵。2.2.2命令的輸入與修改
Shell命令是通過終端Shell的命令有時會很長,熟練地使用按鍵可以大大減化命令的輸入。例如,當(dāng)要輸入的命令名或文件名較長時,只要輸入前幾個字符,再按一下Tab鍵,系統(tǒng)便會在可能的命令或文件名中找到相匹配的項,自動補齊其余部分。利用上下箭頭鍵“↑”和“↓”可以翻找出前面曾經(jīng)執(zhí)行過的命令,避免重復(fù)的命令輸入。Shell的命令有時會很長,熟練地使用按鍵可以大大減化命Shell的命令有時會很長,熟練地使用按鍵可以大大減化命令的輸入。例如,當(dāng)要輸入的命令名或文件名較長時,只要輸入前幾個字符,再按一下Tab鍵,系統(tǒng)便會在可能的命令或文件名中找到相匹配的項,自動補齊其余部分。利用上下箭頭鍵“↑”和“↓”可以翻找出前面曾經(jīng)執(zhí)行過的命令,避免重復(fù)的命令輸入。Shell的命令有時會很長,熟練地使用按鍵可以大大減化命2.2.3命令的執(zhí)行
命令輸入完成后,就可按Enter鍵提交給Shell運行。運行結(jié)果通常顯示在屏幕上。運行完畢后,Shell重新顯示命令提示符,準(zhǔn)備接收下一條命令。
在命令的執(zhí)行過程中,如果輸出的信息太多太快,可以按Ctrl+s鍵暫停滾屏。之后按下任意鍵即恢復(fù)滾屏。用戶還可以按Ctrl+c鍵終止命令的運行。表2-2所示為常用的Shell命令運行控制鍵。2.2.3命令的執(zhí)行
命令輸入完成后,就可按Ente2.2.4命令的分類
按照實現(xiàn)方式的不同,Shell命令分為內(nèi)部命令和外部命令兩種。內(nèi)部命令全部由Shell程序自身提供,外部命令由一個個單獨的程序?qū)崿F(xiàn)。內(nèi)部命令通常對應(yīng)的是比較簡單、使用頻繁的功能,而外部命令則往往完成比較復(fù)雜或耗時的功能。
按照命令的功能分類,Shell命令可以大致分為以下幾類:
●文件、目錄操作;
●文本編輯與處理;
●備份與壓縮;2.2.4命令的分類
按照實現(xiàn)方式的不同,Shell2.2.4命令的分類
按照實現(xiàn)方式的不同,Shell命令分為內(nèi)部命令和外部命令兩種。內(nèi)部命令全部由Shell程序自身提供,外部命令由一個個單獨的程序?qū)崿F(xiàn)。內(nèi)部命令通常對應(yīng)的是比較簡單、使用頻繁的功能,而外部命令則往往完成比較復(fù)雜或耗時的功能。
按照命令的功能分類,Shell命令可以大致分為以下幾類:
●文件、目錄操作;
●文本編輯與處理;
●備份與壓縮;2.2.4命令的分類
按照實現(xiàn)方式的不同,Shell●系統(tǒng)監(jiān)控與管理;
●網(wǎng)絡(luò)通信;
●其他。
其中,文件、目錄操作和文本編輯是每一個Linux用戶都要掌握的基本操作。本章將重點介紹常用的文件和目錄操作命令,在第3章中介紹文本編輯器的使用,其余命令將在后續(xù)章節(jié)中陸續(xù)介紹。●系統(tǒng)監(jiān)控與管理;
●網(wǎng)絡(luò)通信;
●其他。2.2.5簡單命令
以下介紹幾個簡單而又常用的命令。
who命令
【功能】顯示已登錄的用戶。
【格式】who[選項][ami]
【選項】
-H 顯示各列的標(biāo)題。
-q 顯示登錄的用戶名和用戶數(shù)。
【參數(shù)】帶有參數(shù)ami時,顯示自己的登錄信息。
【說明】顯示內(nèi)容分為4列:用戶名、登錄的終端名、登錄時間和備注。有-q選項時,只輸出用戶名和用戶數(shù)。2.2.5簡單命令
以下介紹幾個簡單而又常用的命令。例2.1who命令用法示例:
$who
root tty1 May2511:39
zhao tty2 May2509:12
cherry :0 May2508:45
cherry pts/0 May2508:45(:0.0)
$who-q
root zhao cherry cherry
#users=4
$whoami
cherry pts/0 May2508:45(:0.0)
$例2.1who命令用法示例:
$who
echo命令
【功能】顯示命令行中的參數(shù)字符串。
【格式】echo[選項][字符串]…
【選項】
-n 輸出字符串后光標(biāo)不換行。
【說明】如果字符串中含有空格符,用引號將字符串括起來,echo將按原樣輸出這個字符串,否則空格將被看做是多個字符串間的分隔符,echo依次輸出這些字符串,中間用一個空格隔開。echo命令
【功能】顯示命令行中的參數(shù)字符串。
例2.2echo命令用法示例:
$echoHello!
Hello!
$echo-nHello!
Hello!$echo
$echoHelloworld!
Helloworld!
$echo“Helloworld!”
Helloworld!
$例2.2echo命令用法示例:
$echoH第2個echo命令輸出字符串后沒有換行,使后面的Shell提示符顯示在它的輸出后面了。第3個echo命令沒有參數(shù),它顯示了一個空行。第4個echo命令帶了2個字符串參數(shù),盡管這兩個字符串中間有多個空格分隔,但它們只被看做是參數(shù)分隔符而不是字符串的組成部分。echo依次輸出了這兩個字符串,中間用一個空格分隔。第5個echo命令帶了1個字符串參數(shù),它原樣輸出了這個字符串。
date命令
【功能】顯示、設(shè)置系統(tǒng)日期和時間。
【格式】date[選項][+格式]第2個echo命令輸出字符串后沒有換行,使后面的Shel【選項】
-s 設(shè)置時間和日期。
-u 使用格林威治時間。
【參數(shù)】格式是由格式控制字符和其他字符構(gòu)成的字符串,用于控制輸出的格式。當(dāng)格式字符串中有空格時,要用引號‘’或“”將格式字符串括起來。常用的格式控制字符如下:
%r 用hh:mm:ssAM/PM(時:分:秒上午/下午)的形式顯示12小時制時間。
%T 用hh:mm:ss(時:分:秒)的形式顯示24小時制時間。
%a 顯示星期的縮寫,如Sun?!具x項】
-s 設(shè)置時間和日期。
-u 使用
%A 顯示星期的全稱,如Sunday。
%b 顯示月份的縮寫,如Jan。
%B 顯示月份的全稱,如January。
%m 用2位數(shù)字顯示月份,如02。
%d 用2位數(shù)字顯示日期,如27。
%D 用mm/dd/yy(月/日/年)的形式顯示日期,如02/27/08。
%y 用2位數(shù)顯示年份,如08。
%Y 用4位數(shù)顯示年份,如2008。%A 顯示星期的全稱,如Sunday。
%b 顯示月【說明】不帶選項和格式參數(shù)時顯示當(dāng)前日期與本地當(dāng)前時間。顯示格式是:
星期月日時間時區(qū)年
例2.3date命令用法示例:
$date
MonMay2620:04:34CST2008
$date‘+Todayis%D,nowis%r’
Todayis05/26/08,nowis08:14:36PM
$date‘+%B%d,%Y’
May26,2008
$
第1個date命令使用了缺省的顯示格式。第2個date命令用了指定的顯示格式。【說明】不帶選項和格式參數(shù)時顯示當(dāng)前日期與本地當(dāng)前時間。cal命令
【功能】顯示月份和日歷。
【格式】cal[[月份]年份]
【參數(shù)】月份是1~12的數(shù)字,年份是1~9999的數(shù)字。
【說明】若帶有一個參數(shù),則該參數(shù)被解釋為年份;若帶有兩個參數(shù),則第1個參數(shù)表示月份,第2個參數(shù)表示年份。不帶參數(shù)時,顯示當(dāng)年當(dāng)月的日歷。
例2.4cal命令用法示例:
$cal #顯示當(dāng)年當(dāng)月的日歷
July2008
SuMoTuWeThFrSa
12345cal命令
【功能】顯示月份和日歷。
【格式】c6 7 8 9101112
13141516171819
20212223242526
2728293031
$cal22008 #顯示2008年2月的日歷
February2008
SuMoTuWeThFrSa
12
3 456789
10111213141516
17181920212223
242526272829
$6 7 8 9101112
132.2.6聯(lián)機幫助
Linux命令多達(dá)數(shù)千個,其中常用的和比較常用的命令也有幾百個,每個命令還有許多選項。不過,用戶通常只需掌握幾十個常用命令及其常用選項,其他的命令及詳細(xì)用法可以在必要的時候通過命令的聯(lián)機幫助查看。獲得聯(lián)機幫助的方式有以下幾種。2.2.6聯(lián)機幫助
Linux命令多達(dá)數(shù)千個,其中常1.--help選項
許多Linux命令都提供了一個--help選項,執(zhí)行帶有--help選項的命令將顯示該命令的幫助信息。例如:date--help將顯示date命令的幫助信息。1.--help選項
許多Linux命令都提供了一2.?man命令
Linux系統(tǒng)配有一個聯(lián)機手冊,每條Linux命令都對應(yīng)有相關(guān)的手冊頁。手冊頁是對命令的最詳細(xì)、最權(quán)威的解釋,因此是學(xué)習(xí)和使用Linux命令的必不可少的工具。
每個命令的手冊頁主要包括以下幾部分內(nèi)容:
NAME 命令的名稱和功能。
SYNOPSIS 命令的語法格式,所有可用的選項及參數(shù)。
DESCRIPTION 命令的詳細(xì)用法及每個選項的功能。
OPTIONS 對命令的每個選項的詳細(xì)說明。
查看聯(lián)機手冊頁的命令是man(manual)命令。2.?man命令
Linux系統(tǒng)配有一個聯(lián)機手冊,man命令
【功能】顯示聯(lián)機手冊頁。
【格式】man命令名
【說明】在瀏覽手冊頁時,用以下按鍵翻頁、查找和退出:
PageUp、b 向上翻一頁。
PageDown、Space 向下翻一頁。
↑ 向上滾一行。
↓、Enter 向下滾一行。
/string
在手冊頁中查找字符串string。
n 查找下一個字符串。
q 退出。man命令
【功能】顯示聯(lián)機手冊頁。
【格式】m3.?info命令
除了聯(lián)機手冊外,Linux系統(tǒng)還提供了大多數(shù)命令的超文本形式的聯(lián)機文檔,可用info命令瀏覽。info命令與man命令的用法類似,但瀏覽起來更方便。3.?info命令
除了聯(lián)機手冊外,Linux系統(tǒng)2.3Linux文件操作
文件系統(tǒng)是Linux系統(tǒng)的基本組成部分。Linux系統(tǒng)運行所依賴的各種程序和數(shù)據(jù)都以文件形式存儲在磁盤上的文件系統(tǒng)中。
文件系統(tǒng)統(tǒng)一存儲和管理所有的文件,用文件名來標(biāo)識各個文件。用戶通過文件名來訪問和使用文件系統(tǒng)中的文件。文件系統(tǒng)中的所有文件通過目錄的形式組織和存放。目錄是一種特殊的文件,其內(nèi)容是該目錄下的一組文件(包括子目錄)的信息。目錄將所有的文件分層分枝地組織在一起,形成文件系統(tǒng)的樹型結(jié)構(gòu)。2.3Linux文件操作
文件系統(tǒng)是Li用戶使用Linux系統(tǒng)的最基本的操作就是對文件和目錄的操作。與Windows系統(tǒng)相同,Linux系統(tǒng)提供了在圖形窗口界面操作文件的便利手段。不過,在Linux系統(tǒng)中,最基本和最有效的操作文件的方法是使用命令。因此,用戶應(yīng)該熟練掌握用命令方式操作文件的方法。用戶使用Linux系統(tǒng)的最基本的操作就是對文件和目錄的操2.3.1Linux系統(tǒng)的文件
1.文件的命名
Linux文件名的最大長度是255個字符,通常由字母、數(shù)字、“.”、“_”和“-”字符組成。以“.”開頭的文件名是隱含文件(在通常的文件列表時不顯示)。例如:myfile、readme.txt、list_12、backup07-12-04都是常規(guī)的文件名,而.profile就是一個隱含文件的文件名。
文件名中不能含有斜杠字符“/”和空字符“\0”,因為它們對Linux內(nèi)核具有特殊含義,如“/”表示根目錄或路徑分隔符。文件名中也不應(yīng)含有空格符、制表符、控制符以及以下字符,因為它們對Shell具有特殊含義:2.3.1Linux系統(tǒng)的文件
1.文件的命名
;|<>`“‘$!%&*?\()[]
與Windows系統(tǒng)的文件名不同,Linux的文件名是區(qū)分大小寫的,即字母相同,大小寫不同的文件名被認(rèn)為是不同的文件。例如:Readme與readme是不同的文件。;|<>`“‘$!%2.文件名通配符
1)模式與通配符
當(dāng)一個命令需要對多個文件進(jìn)行操作時,逐個寫出每個文件名是件很麻煩的事。在這種情況下,使用模式可以簡化對文件名的描述。
模式的概念我們并不陌生,它是對一類事物的一種概括性描述。例如,在公布中獎號碼時,通常用諸如“XXX558”形式的號碼來代表所有后3位是558的號碼,這就是一個數(shù)字模式,它代表了所有與之相匹配的號碼。同樣,當(dāng)我們需要指定具有某種特征的多個文件名時,可以用一個表示文件名的字符串模式來描述。字符串模式由普通字符和一些具有特殊含義的字符組成,這些特殊字符稱為通配符(wildcard)。通配符不代表某個具體的字符,而是代表多種選擇,就像中獎號碼模式中“X”的作用一樣。這樣,用一個模式來表示多個文件名,就不必在命令的參數(shù)中寫出每個文件的名字了。2.文件名通配符
1)模式與通配符
當(dāng)一個命2)基本的通配符與匹配規(guī)則
以下是在構(gòu)造模式時常用的基本通配符:
(1)問號“?”:匹配任意的單個字符。如模式“abc??”匹配所有以abc開始,后面是2個任意字符的字符串。
(2)星號“*”:匹配0或多個任意字符(隱含文件的前綴“.”字符除外)。如模式“abc*”匹配所有以abc開始的字符串。模式“*abc”匹配所有以abc結(jié)尾的字符串,但不匹配“.abc”。
(3)方括號“[]”:匹配方括號中列出的字符集合中的任何單個字符。方括號與問號相似,只匹配單個字符。不同的是,問號與任何一個字符匹配,而方括號只與括號內(nèi)字符集合中的一個相匹配。字符集合的描述方法有以下幾種:2)基本的通配符與匹配規(guī)則
以下是在構(gòu)造模式時常用●列舉:逐個列出各個字符,如[abc]表示由a、b、c三個字符構(gòu)成的字符集合。
●范圍:用“-”描述字符范圍,如[a-z]表示由所有小寫字母構(gòu)成的集合。注意,范圍內(nèi)的字符按升序排列,因而[z-a]是無效的。可以指定多個范圍,如[A-Za-z]表示所有英文字母。
●排除:用“!”排除字符,如[!A-Z]表示除大寫字母之外的所有字符構(gòu)成的字符集合。例如,模式“abc[123]”匹配所有以abc開始,后面是1、2或3的字符串;模式“abc[0-9]”匹配所有以abc開始,后面是一個數(shù)字的字符串;模式“abc[!0-9]”匹配所有以abc開始,后面是一個非數(shù)字字符的字符串。●列舉:逐個列出各個字符,如[abc]表示由a、b、c
例2.5設(shè)現(xiàn)有的字符串是12個月份的英文單詞,它們與以下模式匹配的結(jié)果是:
模式“Ju??”匹配以Ju開頭,后接兩個字符的字符
串,即June和July。
模式“???”匹配長度為3的字符串,即May。
模式“*ber” 匹配以ber結(jié)尾的字符串,即September、
October、November和December。
模式“?[ce]*” 匹配第2個字符是c或e的字符串,即
February、September、October
和December。例2.5設(shè)現(xiàn)有的字符串是12個月份的英文單詞,它們與1)命令參數(shù)的模式置換
當(dāng)命令的參數(shù)中出現(xiàn)通配符時,Shell并不把該參數(shù)直接傳遞給命令,而是把它看做一個文件名模式字符串。Shell首先將現(xiàn)有的文件逐個與這個模式進(jìn)行匹配比較,然后用所有匹配的文件名替換命令行中的模式字符串,最后再啟動命令執(zhí)行。因此,當(dāng)命令執(zhí)行時,它得到的實際參數(shù)是所有匹配的文件名的序列(可以是0~n多個文件名,中間用空格分隔)。
以echo命令為例,它的功能是顯示參數(shù)字符串。當(dāng)其參數(shù)字符串中有通配符時,它顯示的不是參數(shù)字符串本身,而是與該模式字符串相匹配的所有文件名,如例2.6所示。1)命令參數(shù)的模式置換
當(dāng)命令的參數(shù)中出現(xiàn)通配符時例2.6設(shè)現(xiàn)有的文件是hoc、hoc.c、hoc.h、hoc.o、init.c、init.o、math.c、math.o、makefile,則命令echo*.c的輸出結(jié)果如下:
$echo
*.c #實際運行echohoc.cinit.cmath.c
hoc.cinit.cmath.c
$
這個echo命令的輸出不是參數(shù)字符串“*.c”,而是所有以.c結(jié)尾的文件名。這是因為當(dāng)完成模式替換后,這個echo命令的實際運行參數(shù)是“hoc.cinit.cmath.c”。例2.6設(shè)現(xiàn)有的文件是hoc、hoc.c、hoc.h例2.7設(shè)當(dāng)前的目錄下存放了一部書稿的所有文件。書稿分為12章,每章分為若干節(jié),每節(jié)對應(yīng)一個文件,文件的命名規(guī)則為“ch章號.節(jié)號”,如ch1.1,ch1.2,ch1.3,...,ch2.1,ch2.2,...,ch12.1,ch12.2,...,則以下echo命令執(zhí)行的結(jié)果分別是:
$echoch* 顯示全書的所有文件名;
$echoch3.* 顯示第3章的所有文件名;
$echoch?.* 顯示1~9章的所有文件名;
$echoch??.* 顯示10~12章的所有文件名;
$echoch[146-8]* 顯示第1、4、6、7、8、10、11、12章的所有
文件名;
$echoch*.1 顯示所有章的第1節(jié)的文件名。例2.7設(shè)當(dāng)前的目錄下存放了一部書稿的所有文件。書稿3.文件的類型
常規(guī)意義上的文件是那些用于保存數(shù)據(jù)的文件,如由ASCII字符構(gòu)成的文本文件、由應(yīng)用程序產(chǎn)生的數(shù)據(jù)文件(電子表格、數(shù)據(jù)庫表格、圖片、視頻等)以及由編譯程序生成的可執(zhí)行程序文件等。此外,Linux系統(tǒng)還定義了一些特殊類型的文件,它們在系統(tǒng)中具有特殊的用途。
Linux系統(tǒng)支持以下文件類型(括號內(nèi)是表示該類型的字符):
●普通文件(-):普通意義上的文件,用于保存文本、數(shù)據(jù)或程序等信息。3.文件的類型
常規(guī)意義上的文件是那些用于保存數(shù)據(jù)●目錄文件(d):一種特殊文件,用于構(gòu)成文件系統(tǒng)的樹型結(jié)構(gòu)。
●設(shè)備文件(c、b):Linux系統(tǒng)將設(shè)備看做是一種特殊文件,設(shè)備文件分為字符設(shè)備文件(c)和塊設(shè)備文件文件(b)兩類。
●符號鏈接文件(l):一種特殊文件,它的內(nèi)容是到另一個文件的鏈接,用于實現(xiàn)文件的共享。
●管道文件(p):一種特殊文件,用于在進(jìn)程間傳遞數(shù)據(jù)?!衲夸浳募?d):一種特殊文件,用于構(gòu)成文件系統(tǒng)的樹型4.文件的歸屬關(guān)系
Linux是一個多用戶的系統(tǒng),每個用戶都要在系統(tǒng)中存放自己的文件。為了管理的需要,系統(tǒng)要能夠區(qū)分文件的歸屬關(guān)系。Linux系統(tǒng)中的每個文件都有兩個描述其歸屬關(guān)系的屬性,這就是屬主(owner)和屬組(groupowner)。
文件的屬主就是文件的所有者,通常是建立文件的用戶,用其用戶名標(biāo)識。例如:用戶zhao建立的文件的屬主就是zhao。
為便于管理,Linux系統(tǒng)將用戶劃分為用戶組。文件的屬組就是文件屬主所在的用戶組,用組名標(biāo)識。例如:用戶zhao所在的用戶組是guest,則他所建立的文件的屬組就是guest。4.文件的歸屬關(guān)系
Linux是一個多用戶的系統(tǒng),5.文件的訪問權(quán)限
在多用戶的系統(tǒng),文件的保密和安全性至關(guān)重要。為防止文件被非法地使用或破壞,系統(tǒng)使用權(quán)限來限制用戶對文件的訪問。
1)文件的訪問權(quán)限
文件權(quán)限用于規(guī)定對于一個文件所能進(jìn)行的操作。通常訪問文件的操作分為讀(顯示瀏覽文件內(nèi)容)、寫(修改文件的內(nèi)容)和執(zhí)行(運行可執(zhí)行文件)。相應(yīng)的,Linux對文件定義了幾種訪問權(quán)限,見表2-3。5.文件的訪問權(quán)限
在多用戶的系統(tǒng),文件的保密和安當(dāng)對一個文件執(zhí)行一個未被授權(quán)的操作時,系統(tǒng)會拒絕執(zhí)行,并顯示?“Permissiondenied”的消息。當(dāng)對一個文件執(zhí)行一個未被授權(quán)的操作時,系統(tǒng)會拒絕執(zhí)行,并當(dāng)對一個文件執(zhí)行一個未被授權(quán)的操作時,系統(tǒng)會拒絕執(zhí)行,并顯示?“Permissiondenied”的消息。當(dāng)對一個文件執(zhí)行一個未被授權(quán)的操作時,系統(tǒng)會拒絕執(zhí)行,并2)文件的權(quán)限范圍
在Linux系統(tǒng)中,一個文件可能會被多個用戶使用。如果不加區(qū)分地對所有用戶設(shè)置相同的文件訪問權(quán)限,則難以滿足不同用戶對此文件的不同需求和權(quán)利。因此,Linux系統(tǒng)采用了更加細(xì)致的權(quán)限分配方式,即允許對不同類型的用戶賦予不同的文件訪問權(quán)限。
Linux系統(tǒng)將每個文件的用戶分為屬主(user)、組用戶(group)和其他人(other)3類,權(quán)限范圍的劃分及字符表示法如表2-4所示。在為文件設(shè)置訪問權(quán)限時可以針對不同的權(quán)限范圍分別設(shè)置。注意:root用戶不受訪問權(quán)限的限制。2)文件的權(quán)限范圍
在Linux系統(tǒng)中,一個文件可3)文件類型與權(quán)限表示法
文件的類型與權(quán)限是文件的重要屬性,通常采用字符表示法表示,即用10個字符的字符串表示文件的類型和權(quán)限,規(guī)則如圖2-1所示。其中,第1個字符表示文件的類型,取值是-、d、c、b、l和p,分別代表普通文件、目錄、字符設(shè)備、塊設(shè)備,符號鏈接和管道。后9個字符表示文件的訪問權(quán)限,以3位為一組,分別表示u、g和o的讀、寫和執(zhí)行權(quán)限。若某權(quán)限范圍的用戶有某權(quán)限,則對應(yīng)的位上有該權(quán)限字符r、w或x,沒有該權(quán)限則用“-”表示。3)文件類型與權(quán)限表示法
文件的類型與權(quán)限是文件的3)文件類型與權(quán)限表示法
文件的類型與權(quán)限是文件的重要屬性,通常采用字符表示法表示,即用10個字符的字符串表示文件的類型和權(quán)限,規(guī)則如圖2-1所示。其中,第1個字符表示文件的類型,取值是-、d、c、b、l和p,分別代表普通文件、目錄、字符設(shè)備、塊設(shè)備,符號鏈接和管道。后9個字符表示文件的訪問權(quán)限,以3位為一組,分別表示u、g和o的讀、寫和執(zhí)行權(quán)限。若某權(quán)限范圍的用戶有某權(quán)限,則對應(yīng)的位上有該權(quán)限字符r、w或x,沒有該權(quán)限則用“-”表示。3)文件類型與權(quán)限表示法
文件的類型與權(quán)限是文件的圖2?1文件類型與訪問權(quán)限的表示圖2?1文件類型與訪問權(quán)限的表示例如,某文件的類型和權(quán)限字符串是drwxr-x,表明這是一個目錄文件,它的屬主對應(yīng)的3位字符是rwx,表示屬主有讀、寫和執(zhí)行權(quán)限;組用戶對應(yīng)的3位字符是r-x,表示組用戶對該目錄有讀和執(zhí)行權(quán)限,沒有寫權(quán)限;其他人對應(yīng)的3位字符是,表示他們對該目錄沒有任何權(quán)限。又如,某文件的類型和權(quán)限字符串是-rwx--x--x,表明這是一個普通文件,它的屬主有讀、寫和執(zhí)行權(quán)限;組用戶及其他人對該文件只有執(zhí)行權(quán)限。
文件的訪問權(quán)限還有另一種表示方法,就是數(shù)字表示法。規(guī)則是:用數(shù)字1或0來表示權(quán)限字符,有相應(yīng)權(quán)限的位為1,無權(quán)限的位為0,形成一個9位長的二進(jìn)制數(shù),用3位八進(jìn)制數(shù)字來表示。例如:字符表示是rwxr-x,數(shù)字表示就是750;字符表示是rwx--x--x,數(shù)字表示就是711。例如,某文件的類型和權(quán)限字符串是drwxr-x,表4)文件權(quán)限的作用
文件權(quán)限限制了對文件的訪問操作。正確地設(shè)置文件權(quán)限可以允許正常的訪問操作,同時阻止不期望的訪問。表2-5顯示了訪問權(quán)限對普通文件和目錄文件的限制作用。4)文件權(quán)限的作用
文件權(quán)限限制了對文件的訪問操作訪問權(quán)限對普通文件的作用容易理解,需要注意的是權(quán)限對目錄的限制作用。目錄其實也是一個文件,只不過它的內(nèi)容不是記錄普通數(shù)據(jù),而是其下的文件的列表數(shù)據(jù)。因此,顯示目錄中的文件列表就是對目錄文件的讀操作,改變目錄下的文件列表(新建、刪除、改名等)就是對目錄文件的寫操作,進(jìn)入目錄或其下級子目錄就是對目錄文件的執(zhí)行操作。因此,對文件的刪除權(quán)由其所在的目錄的w權(quán)限決定(當(dāng)然還要有x權(quán)),而不是文件本身的w權(quán)限決定的。在這一點上,Linux系統(tǒng)是不同于Windows系統(tǒng)的。訪問權(quán)限對普通文件的作用容易理解,需要注意的是權(quán)限對目錄訪問權(quán)限對普通文件的作用容易理解,需要注意的是權(quán)限對目錄的限制作用。目錄其實也是一個文件,只不過它的內(nèi)容不是記錄普通數(shù)據(jù),而是其下的文件的列表數(shù)據(jù)。因此,顯示目錄中的文件列表就是對目錄文件的讀操作,改變目錄下的文件列表(新建、刪除、改名等)就是對目錄文件的寫操作,進(jìn)入目錄或其下級子目錄就是對目錄文件的執(zhí)行操作。因此,對文件的刪除權(quán)由其所在的目錄的w權(quán)限決定(當(dāng)然還要有x權(quán)),而不是文件本身的w權(quán)限決定的。在這一點上,Linux系統(tǒng)是不同于Windows系統(tǒng)的。訪問權(quán)限對普通文件的作用容易理解,需要注意的是權(quán)限對目錄另外,Linux系統(tǒng)規(guī)定非空目錄不能刪除。而空目錄等同于文件,它的刪除權(quán)取決于它的上一級目錄的w權(quán)。
下面的例2.8說明了目錄的訪問權(quán)限對刪除文件的限制作用。
例2.8設(shè)有如下3個目錄及其各自下屬的3個文件,這些文件的刪除權(quán)如下:
目錄1:drwxr-x--x
文件1:-rwxr-xr-x目錄的屬主可刪除
目錄2:drwxrwxrwx
文件2:-rwx任何人可刪除
目錄3:dr-x
文件3:-rwxr-xr-x只有目錄屬主可看到,任何人不可刪另外,Linux系統(tǒng)規(guī)定非空目錄不能刪除。而空目錄等同于目錄1的權(quán)限為rwxr-xr-x,則目錄的屬主可以完全控制這個目錄,其他人只能進(jìn)入目錄和顯示文件列表,只有目錄屬主有權(quán)刪除文件1。
目錄2的權(quán)限為rwxrwxrwx,即所有人可完全控制該目錄。即使它下面的文件2的權(quán)限為rwx,阻止了除屬主之外的人訪問這個文件,但他們卻可以刪除它。他們還有權(quán)在此目錄中建立新文件、刪除目錄下的任意文件(包括空目錄)和更改目錄下的任意文件的文件名。所以在Linux中存放文件小心謹(jǐn)慎,不要把重要文件放在所有人可完全控制的目錄里,即使這個文件的權(quán)限是0。目錄1的權(quán)限為rwxr-xr-x,則目錄的屬主可以完全控目錄3的權(quán)限為r-x,則只有目錄屬主可以進(jìn)入目錄和看到目錄中的文件列表,所有人(包括屬主)都不能在目錄中建立、刪除文件或改文件名。即使它下面的文件3賦予其他人讀和執(zhí)行的權(quán)限,他們因為無法進(jìn)入和使用這個目錄,也就無法讀和執(zhí)行這個文件。這是用于保管重要文件的高安全度限制。目錄3的權(quán)限為r-x,則只有目錄屬主可以進(jìn)入6.新建文件的默認(rèn)權(quán)限
當(dāng)新建一個文件或目錄時,系統(tǒng)會為其設(shè)置最初的權(quán)限。文件的初始權(quán)限由文件創(chuàng)建掩碼(creationmask)決定。掩碼是一個9位二進(jìn)制數(shù)字,通常用八進(jìn)制數(shù)字表示,如022。掩碼中的位與權(quán)限字符串相對應(yīng),掩碼中為1的位限制對應(yīng)的權(quán)限位的權(quán)限。例如:掩碼022表示組用戶和其他人沒有w權(quán)限,對其他權(quán)限不做限制。
文件創(chuàng)建時的默認(rèn)權(quán)限有以下幾種情況:6.新建文件的默認(rèn)權(quán)限
當(dāng)新建一個文件或目錄時,系1)可執(zhí)行文件
通過編譯程序生成的可執(zhí)行文件,它的默認(rèn)權(quán)限是777-掩碼。例如:若掩碼為022,則新文件的權(quán)限就是755。
2)非可執(zhí)行文件
對于非可執(zhí)行文件(如文本文件、數(shù)據(jù)文件等),在創(chuàng)建時默認(rèn)是沒有x權(quán)限的,對這類文件的x權(quán)限需要顯式地賦予,即通過chmod命令將其改為可執(zhí)行文件。因此新建文件的權(quán)限是(777-掩碼)&666。這里的&是“按位與”運算,即先用777-掩碼求出權(quán)限,再濾掉所有x位。例如:若掩碼為022,則新文件的權(quán)限就是(777-022)&666=644;若掩碼為003,則新文件的權(quán)限就是(777-003)&666=664。1)可執(zhí)行文件
通過編譯程序生成的可執(zhí)行文件,它的3)目錄
同可執(zhí)行文件一樣,新建目錄的默認(rèn)權(quán)限是777-掩碼。若掩碼為022,則新目錄的權(quán)限就是755。
用戶登錄時,系統(tǒng)自動地為其設(shè)置了掩碼,通常是022。用戶可以用命令修改掩碼,從而改變新建文件的默認(rèn)權(quán)限,使之具有合適的安全性限制。3)目錄
同可執(zhí)行文件一樣,新建目錄的默認(rèn)權(quán)限是7
7.文件的其他屬性
除了文件名、文件類型、歸屬關(guān)系和存取權(quán)限外,文件還有其他一些屬性,包括:
(1)文件的時間標(biāo)簽,用于記錄文件的時間屬性,分為:
●修改時間(modifytime):文件內(nèi)容被修改的最后時間。
●訪問時間(accesstime):文件最近一次被訪問的時間。
●變更時間(changetime):文件屬性變更的最近時間。
(2)文件的大小,即文件所占用的字節(jié)數(shù)。
(3)文件的鏈接數(shù),即此文件硬鏈接的數(shù)目。7.文件的其他屬性
除了文件名、文件類型、歸屬關(guān)系2.3.2Linux系統(tǒng)的目錄
計算機系統(tǒng)中存有大量的文件,為了有效地組織和管理這些文件,系統(tǒng)將文件分門別類地納入目錄中保存。目錄好比是一個文件夾,用來容納文件。目錄中也可以包含子目錄,形成層層嵌套的樹型結(jié)構(gòu)。
在Linux系統(tǒng)中,目錄是一種特殊的文件,其內(nèi)容是目錄中所包含的文件和子目錄的列表。在訪問一個文件時,需要先找到它所在的目錄,再通過目錄中記錄的文件信息找到
文件。2.3.2Linux系統(tǒng)的目錄
計算機系統(tǒng)中存有大量1.目錄結(jié)構(gòu)
Linux的文件系統(tǒng)采用了樹形目錄結(jié)構(gòu),如圖2-2所示。文件系統(tǒng)的根目錄稱為root目錄。根目錄下建有多個子目錄,每個子目錄下可以存放文件或下一級子目錄,這樣延伸下去,形成一個分層分枝的樹形結(jié)構(gòu)。root為樹的“根”節(jié)點,目錄是樹中的“分枝”節(jié)點(圖中用矩形表示),而文件則是樹中的“葉子”節(jié)點(圖中用橢圓表示)。
系統(tǒng)安裝完成后,文件系統(tǒng)的初始目錄結(jié)構(gòu)已經(jīng)建立起來。用戶也可以按需要創(chuàng)建自己的目錄,實現(xiàn)有組織地、分層分類地存放文件。1.目錄結(jié)構(gòu)
Linux的文件系統(tǒng)采用了樹形目錄結(jié)圖2?2Linux文件系統(tǒng)目錄結(jié)構(gòu)示意圖圖2?2Linux文件系統(tǒng)目錄結(jié)構(gòu)示意圖2.根目錄與當(dāng)前目錄
根目錄是一個特殊目錄,用“/”表示。它是整個文件系統(tǒng)的唯一的根,系統(tǒng)中的所有文件都在它及其下屬的子目錄中。
用戶在系統(tǒng)中工作時,始終處在某個目錄之中,此目錄稱作當(dāng)前目錄。用戶可以通過改變當(dāng)前目錄來變換其在文件系統(tǒng)中的位置。當(dāng)前目錄用“.”表示。當(dāng)前目錄的父目錄用“..”表示。每個目錄(包括空目錄)中都至少有“..”和“.”這兩個隱含文件。但根目錄中的“..”和“.”都是指其自身。2.根目錄與當(dāng)前目錄
根目錄是一個特殊目錄,用“/3.路徑
路徑是文件在目錄樹中所處的位置。在對文件進(jìn)行操作時,除需指明文件名外,還須指明該文件的路徑。路徑的表達(dá)方法是將若干個目錄名連結(jié)起來,中間用斜杠“/”分開。
根據(jù)起點的不同,路經(jīng)分為絕對路經(jīng)和相對路經(jīng)兩種。絕對路徑是從根目錄沿目錄樹到文件所在目錄的路徑。絕對路徑都是以“/”開頭的,并且是唯一的。例如:/home/zherry/project。相對路徑是從當(dāng)前目錄沿目錄樹到文件所在目錄的路徑。例如:若當(dāng)前目錄的絕對路徑是/home/cherry/project,則../book是一個相對路徑,它的絕對路徑是/home/cherry/book。在訪問當(dāng)前目錄附近的文件時,使用相對路徑可以簡化路徑的描述,尤其是當(dāng)目錄的層次較深的情況下。3.路徑
路徑是文件在目錄樹中所處的位置。在對文件在Linux命令中,用“路徑/”+“文件名”來唯一地指定一個文件。這里說的文件也包括目錄文件。如:/home/cherry/memo、/home/zhao、../cherry/project/hello等。當(dāng)使用相對路徑時,可以在路徑前加“./”前綴,也可以省略。例如:若當(dāng)前目錄是cherry,則./book/doc1.c與book/doc1.c都是指當(dāng)前目錄下book子目錄下的doc1.c文件;若當(dāng)前目錄是book,則./doc1.c與doc1.c也都是指當(dāng)前目錄下的doc1.c文件。在Linux命令中,用“路徑/”+“文件名”來唯一地指定4.用戶主目錄
用戶剛登錄到系統(tǒng)中時所處的目錄稱為主目錄(homedirectory),系統(tǒng)默認(rèn)的用戶主目錄是/home/user-id。其中,user-id是用戶的登錄名。例如:用戶cherry的主目錄是/home/cherry(root例外,它的主目錄是/root)。主目錄就是用戶登錄后的初始工作目錄,用“~”表示。用戶對自己的主目錄擁有全部權(quán)限,可以在其下任意組織自己的文件。4.用戶主目錄
用戶剛登錄到系統(tǒng)中時所處的目錄稱為2.3.3常用的目錄操作命令
Linux系統(tǒng)提供了一些專門針對目錄進(jìn)行操作的命令,常用的是建立、刪除、查看和改變目錄,如表2-6所示。此外,由于目錄也是文件,所以許多文件操作命令,如復(fù)制、移動、刪除、更改屬性等,也適用于對目錄進(jìn)行操作。這些命令在2.3.4小節(jié)介紹。2.3.3常用的目錄操作命令
Linux系統(tǒng)提供了一1.顯示與改變當(dāng)前目錄
訪問當(dāng)前目錄中的文件時是不需要加路徑名的,因此,當(dāng)需要集中對某個目錄中的文件進(jìn)行操作時,先進(jìn)入這個目錄,使其成為當(dāng)前目錄,就可大大簡化命令的輸入。要了解自己當(dāng)前處在哪個目錄下,可用pwd(presentworkingdirectory)命令;要改變當(dāng)前目錄,可用cd(changedirectory)命令。
pwd命令
【功能】顯示當(dāng)前目錄的絕對路徑。
【格式】pwd1.顯示與改變當(dāng)前目錄
訪問當(dāng)前目錄中的文件時是不1.顯示與改變當(dāng)前目錄
訪問當(dāng)前目錄中的文件時是不需要加路徑名的,因此,當(dāng)需要集中對某個目錄中的文件進(jìn)行操作時,先進(jìn)入這個目錄,使其成為當(dāng)前目錄,就可大大簡化命令的輸入。要了解自己當(dāng)前處在哪個目錄下,可用pwd(presentworkingdirectory)命令;要改變當(dāng)前目錄,可用cd(changedirectory)命令。
pwd命令
【功能】顯示當(dāng)前目錄的絕對路徑。
【格式】pwd1.顯示與改變當(dāng)前目錄
訪問當(dāng)前目錄中的文件時是不
例2.9pwd命令用法示例:
$pwd
/home/cherry
$
cd命令
【功能】改變當(dāng)前目錄為指定的目錄。
【格式】cd[目錄]
【說明】不指定目錄參數(shù)時,進(jìn)入用戶的主目錄。例2.9pwd命令用法示例:
$pwd
/例2.10cd命令用法示例:
$cd/usr/bin
$pwd
/usr/bin
$cd
$pwd
/home/cherry
$cd./project/hello
$pwd
/home/cherry/project/hello
$cd../../book
$pwd
/home/cherry/book
$例2.10cd命令用法示例:
$cd/usr2.顯示目錄內(nèi)容
顯示目錄內(nèi)容就是列出目錄中所包含的文件以及文件的各種相關(guān)信息,子目錄也作為一個文件列出,用于顯示目錄中的文件列表的命令是ls(list)命令。通常在進(jìn)行文件操作前,應(yīng)先用ls命令了解現(xiàn)有文件的狀況。
ls命令
【功能】顯示指定文件或指定目錄中的所有文件的信息。
【格式】ls[選項][文件或目錄]…
【選項】
-a顯示所有文件及目錄,包括隱藏文件、“.”及“..”目錄。2.顯示目錄內(nèi)容
顯示目錄內(nèi)容就是列出目錄中所包含
-R 遞歸顯示下層子目錄。
-F 顯示文件類型描述符(*為可執(zhí)行的普通文件,
/為目錄文件,…)。
-d 顯示目錄的信息而非其內(nèi)容。
-u 顯示文件的最近訪問時間,與-l連用。
-c 顯示文件的最近變更時間,與-l連用。
-t 按文件修改時間排序顯示。
-l 按長格式顯示文件詳細(xì)信息。-R 遞歸顯示下層子目錄。
-F 顯示文件【說明】
(1)參數(shù)為普通文件時,顯示指定的文件的信息;參數(shù)是目錄時,顯示指定目錄下的文件列表信息(除非有-d選項);未指定文件或目錄時,顯示當(dāng)前目錄中的文件列表信息。
(2)不帶選項時,按字母順序列出目錄中所有非隱藏文件的文件名。
(3)長格式顯示時,每個文件的信息占一行,格式如下:
文件類型與權(quán)限鏈接數(shù)屬主名屬組名文件大小最近修改時間文件名【說明】
(1)參數(shù)為普通文件時,顯示指定的文件的
例2.11ls命令用法示例:
$cd~
$ls #顯示當(dāng)前目錄下的文件名
bookmemoproject
$ls/home #顯示目錄/home下的文件名
cherrymaryzhao
$ls-a #顯示當(dāng)前目錄下的所有文件名
. .bash_profile .emacs memo
.. .bashrc .gtkrc project
.bash_logout book .kde
$ls
-F #顯示當(dāng)前目錄下的文件名及類型
book/memoproject/
$ls-l #顯示當(dāng)前目錄下的文件的詳細(xì)信息例2.11ls命令用法示例:
$cd~
drwxrwxr-x 2cherryfaculty4096 Oct14 12:50book
-rwxr-x 1cherryfaculty522 Oct12 14:21memo
drwxr-x 2cherryfaculty4096 May3 10:09project
$ls-lmemo #顯示文件memo的詳細(xì)信息
-rwxr-x 1cherryfaculty522 Oct12 14:21memo
$lsbook #顯示目錄book下的文件名
doc1doc2
$ls-dlbook #顯示目錄book文件的信息
drwxrwxr-x 2cherryfaculty4096 Oct14 12:50book
$lsmemobook #顯示文件memo,目錄book下的文件名
memo
book:
doc1doc2drwxrwxr-x 2cherryfacult$ls* #等價于lsbookmemoproject
memo
book:
doc1doc2
project:
hellohoc
$ls-RF #遞歸顯示當(dāng)前目錄,顯示各個文件名與類型
.:
book/memoproject/
./book:
doc1doc2
./project:
hello/hoc/
./project/hello:
hello*hello.chello.omakefile
./project/hoc:
hoc* hoc.c hoc.h init.c math.c
$
$ls* #等價于lsbookmemopro注意:第10個ls命令使用了通配符“*”作為參數(shù),在命令執(zhí)行前先進(jìn)行參數(shù)匹配置換,“*”被置換為當(dāng)前目錄下的所有文件名,因此,該命令的實際運行參數(shù)為bookmemoproject。注意:第10個ls命令使用了通配符“*”作為參數(shù),在命令
3.創(chuàng)建與刪除目錄
為了分類保存文件,用戶可以建立自己的目錄。建立目錄用mkdir(makedirectory)命令,刪除目錄用rmdir(removedirectory)命令。
mkdir命令
【功能】建立目錄。
【格式】mkdir[選項]目錄…
【選項】
-m權(quán)限 按指定的權(quán)限建立目錄。
-p 遞歸建立目錄。即,若目錄的父目錄不存在,則一并建立其父目錄。
【說明】未指定目錄權(quán)限時,默認(rèn)權(quán)限為777-創(chuàng)建掩碼。3.創(chuàng)建與刪除目錄
為了分類保存文件,用戶可以建立
例2.12mkdir命令用法示例:
$ls
bookmemoproject
$mkdir-m744temp #建立temp目錄,權(quán)限744
$ls
bookmemoprojecttemp
$ls-ldtemp
drwxr--r-- 2cherryfaculty4096May2520:07temp
$mkdir-p./backup/version1 #遞歸建立./backup/version1目錄
$ls.backup
.:
backupbookmemoprojecttemp
backup:
version1
$例2.12mkdir命令用法示例:
$ls
第2個mkdir命令在當(dāng)前目錄下的backup目錄下建立version1目錄,此時,若backup目錄已存在就直接建立version1目錄,否則就先建立backup目錄,然后再建立version1目錄。最后的ls命令顯示了當(dāng)前目錄的變化和backup目錄的內(nèi)容。
rmdir命令
【功能】刪除目錄。
【格式】rmdir[選項]目錄…
【選項】
-p遞歸刪除目錄,即當(dāng)子目錄刪除后其父目錄為空時,也一同被刪除。
【說明】若目錄不空,則刪除操作不能成功。第2個mkdir命令在當(dāng)前目錄下的backup目錄下建立
例2.13rmdir命令用法示例:
$ls
backupbookmemoprojecttemp
$rmdirtemp #刪除空目錄temp
$ls
backupbookmemoproject
$rmdirproject #刪除非空目錄project
rmdir:‘project’:Directorynotempty
$ls
backupbookmemoproject
$rmdir-p./backup/version1 #遞歸刪除目錄./backup/version1
$ls
bookmemoproject
$例2.13rmdir命令用法示例:
$ls
第2個rmdir命令刪除當(dāng)前目錄下的非空目錄project,操作失敗。第3個rmdir命令刪除backup目錄下的空目錄version1,然后再刪除變空的目錄backup。第2個rmdir命令刪除當(dāng)前目錄下的非空目錄projec2.3.4常用的文件操作命令
Linux系統(tǒng)提供了豐富的文件操作命令,可以完成各種各樣的文件操作。而且,大部分文件操作命令也適用于目錄文件。本小節(jié)介紹幾個常用的文件操作命令,見表2-7。2.3.4常用的文件操作命令
Linux系統(tǒng)提供了豐
1.文件的顯示
閱讀一個文本文件的最簡單的方法就是用文件顯示命令將文件內(nèi)容顯示在屏幕上。顯示文本文件的常用命令是cat(concatenate)、more和less命令。
cat命令
【功能】顯示文件內(nèi)容。
【格式】cat[選項][文件]…
【選項】
-A?顯示所有字符,包括換行符、制表符及其他非打印字符。
-n對輸出的所有行進(jìn)行編號并顯示行號。
-b和-n相似,但對于空白行不編號。
-s將連續(xù)的空白行壓縮為一個空白行。
【說明】指定多個文件時,依次顯示各個文件;未指定文件時,讀標(biāo)準(zhǔn)輸入(默認(rèn)為鍵盤)并顯示。1.文件的顯示
閱讀一個文本文件的最簡單的方法就是
1.文件的顯示
閱讀一個文本文件的最簡單的方法就是用文件顯示命令將文件內(nèi)容顯示在屏幕上。顯示文本文件的常用命令是cat(concatenate)、more和less命令。
cat命令
【功能】顯示文件內(nèi)容。
【格式】cat[選項][文件]…
【選項】
-A?顯示所有字符,包括換行符、制表符及其他非打印字符。
-n對輸出的所有行進(jìn)行編號并顯示行號。
-b和-n相似,但對于空白行不編號。
-s將連續(xù)的空白行壓縮為一個空白行。
【說明】指定多個文件時,依次顯示各個文件;未指定文件時,讀標(biāo)準(zhǔn)輸入(默認(rèn)為鍵盤)并顯示。1.文件的顯示
閱讀一個文本文件的最簡單的方法就是
例2.14cat命令用法示例:
$catdoc1 #顯示一個文件
Toseeaworldinagrainofsand,
Andaheaveninawildflower,
Holdinfinityinthepalmofyourhand,
Andeternityinanhour.
$cat-ndoc1 #顯示一個文件,加行號
1Toseeaworldinagrainofsand,
2Andaheaveninawildflower,
3Holdinfinityinthepalmofyourhand,
4Andeternityinanhour.例2.14cat命令用法示例:
$catdo$cat #顯示標(biāo)準(zhǔn)輸入內(nèi)容
Thisisthe1stline.
Thisisthe1stline.
Thisisthe2ndline.
Thisisthe2ndline.
Thisisthe3rdline.
Thisisthe3rdline.
<Ctrl+d>$cat #顯示標(biāo)準(zhǔn)輸入內(nèi)容
Thisis$catdoc1doc2 #顯示多個文件
Toseeaworldinagrainofsand,
Andaheaveninawildflower,
Holdinfinityinthepalmofyourhand,
Andeternityinanhour.
Arobinredbreastinacage,
Putsallheaveninarage.
$$catdoc1doc2 #顯示多個文件
第3個cat命令后沒帶文件參數(shù),所以在開始執(zhí)行時,光標(biāo)停留在下一行,等待鍵盤輸入。用戶每輸入一行,cat就顯示一行,直到按Ctrl+d鍵結(jié)束輸入。第4個cat命令依次讀取并顯示了兩個文件的內(nèi)容。
cat在顯示輸出時不會停下來,因此對長文件不好用。要瀏覽長文件的內(nèi)容,可以使用more或less命令。它們可根據(jù)顯示屏幕的大小形態(tài)將文件內(nèi)容劃分為一頁頁的顯示,用戶可以以交互方式控制翻頁或卷行。第3個cat命令后沒帶文件參數(shù),所以在開始執(zhí)行時,光標(biāo)停more命令
【功能】分屏顯示文件內(nèi)容。
【格式】more[選項][文件]…
【選項】
-p 不滾屏,清屏。
-s 將連續(xù)的空白行壓縮為一個空白行。
+n
由第n行開始顯示。
+/str
由含有str字符串的地方開始顯示。
【說明】瀏覽時可使用如下鍵進(jìn)行控制,瀏覽到末頁后自動退出。未指定文件參數(shù)時,默認(rèn)為讀標(biāo)準(zhǔn)輸入。
Enter 向下翻一行。more命令
【功能】分屏顯示文件內(nèi)容。
【格式
Space 向下翻頁。
b 向上翻頁。
/string
查找字符串string。
n 查找下一個字符串。
q 退出。
例2.15more一個長文件(見圖2-3):
在瀏覽過程中,屏幕左下角會顯示“more”,命令因此得名。當(dāng)瀏覽到末頁時命令會自動退出。與more命令相比,less命令具有更好的交互性。用戶可以完全控制瀏覽的過程,上下翻頁和滾行,到末頁時也不會自動退出。less的名字借用于英文短語“moreorless”,在這里表示它是more命令的一個替代品。man命令就是采用less控制瀏覽手冊頁的。Space 向下翻頁。
b 向上翻頁。
/st圖2?3用more命令顯示文件圖2?3用more命令顯示文件less命令
【功能】交互式瀏覽文件內(nèi)容。
【格式】less[選項]文件…
【選項】與more相似。
【說明】瀏覽時可以用PageUp、PageDown上下翻頁,用↑、↓上下滾行。其他按鍵與more相同。less命令
【功能】交互式瀏覽文件內(nèi)容。
【格
2.文件的復(fù)制、移動與刪除
復(fù)制文件用cp(copy)命令,刪除文件用rm(remove)命令,移動文件和重命名文件用mv(move)命令。
cp命令
【功能】復(fù)制文件。
【格式】cp[選項]源文件目標(biāo)文件
cp[選項]源文件…目標(biāo)目錄
【選項】
-i 交互模式,當(dāng)目標(biāo)文件存在時,提示是否覆蓋。
鍵入y或Y覆蓋,鍵入其他字符不覆蓋。
-r遞歸復(fù)制目錄。2.文件的復(fù)制、移動與刪除
復(fù)制文件用cp(cop
-b 為被覆蓋的文件建立備份。備份文件的名稱是原文件名后加“~”。
-f 強制復(fù)制。即如果目標(biāo)文件存在且打不開,則先刪除它,然后再復(fù)制。
-p 保持文件原有屬性。
-v 顯示操作結(jié)果。
【說明】若只有兩個參數(shù),且參數(shù)2不是已存在的目錄,則將參數(shù)1指定的文件復(fù)制到參數(shù)2指定的文件;若參數(shù)2是已存在的目錄,則將參數(shù)1指定的文件復(fù)制到該目錄下,文件名不變。若多于兩個參數(shù),且最后一個參數(shù)是已存在的目錄,則將前面參數(shù)指定的文件復(fù)制到該目錄下,文件名不變;若多于兩個參數(shù),且最后一個參數(shù)不是已存在的目錄則報錯。-b 為被覆蓋的文件建立備份。備份文件的名稱是原文件
例2.16復(fù)制一個文件:
$ls
hellohello.chello.omakefile
$cphellohello.save #在當(dāng)前目錄下復(fù)制一個文件
$ls
hellohello.chello.ohello.savemakefile
$cp-ihello.chello.save #交互式復(fù)制一個文件
cp:overwrite‘hello
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年金屬表面油漆行業(yè)深度研究分析報告
- 2025年乙酰乙酰芳胺類行業(yè)深度研究分析報告
- 農(nóng)行理財合同范例
- 農(nóng)村建筑材料租賃合同范例
- 農(nóng)村宗祠建筑合同范例
- 公司土地入股合同范本
- 2025年度酒店客房用品租賃與售后服務(wù)合同范本
- 農(nóng)村地基賣合同范例
- 公益贈與合同范本
- 創(chuàng)建三甲醫(yī)院宣傳合同范本
- 島津氣相色譜培訓(xùn)
- 2024年03月四川農(nóng)村商業(yè)聯(lián)合銀行信息科技部2024年校園招考300名工作人員筆試歷年參考題庫附帶答案詳解
- 睡眠專業(yè)知識培訓(xùn)課件
- 臨床思維能力培養(yǎng)
- 人教版高中物理必修第三冊第十章靜電場中的能量10-1電勢能和電勢練習(xí)含答案
- 《工程勘察設(shè)計收費標(biāo)準(zhǔn)》(2002年修訂本)
- 中國宗教文化 中國古代宗教文化的特點及現(xiàn)代意義
- 2024年四川省巴中市級事業(yè)單位選聘15人歷年高頻難、易錯點練習(xí)500題附帶答案詳解
- 演出經(jīng)紀(jì)人培訓(xùn)
- 蓋房四鄰簽字協(xié)議書范文
- 2024年新人教版七年級上冊數(shù)學(xué)教學(xué)課件 第六章 幾何圖形初步 數(shù)學(xué)活動
評論
0/150
提交評論