如何進(jìn)行l(wèi)inux系統(tǒng)文件和目錄的操作
如何進(jìn)行l(wèi)inux系統(tǒng)文件和目錄的操作
用戶的數(shù)據(jù)和程序大多以文件的形式保存。用戶使用Linux系統(tǒng)的過程中,需要經(jīng)常對文件和目錄進(jìn)行操作。本章講述了文件與目錄的基本概念,有關(guān)文件和目錄操作的命令以及如何在Linux環(huán)境下運行DOS命令。接下來是小編為大家收集的如何進(jìn)行l(wèi)inux系統(tǒng)文件和目錄的操作,歡迎大家閱讀:
如何進(jìn)行l(wèi)inux系統(tǒng)文件和目錄的操作
文件與目錄的基本概念
文件與文件名
在多數(shù)操作系統(tǒng)中都有文件的概念。文件是Linux用來存儲信息的基本結(jié)構(gòu),它是被命名(稱為文件名)的存儲在某種介質(zhì)(如磁盤、光盤和磁帶等)上的一組信息的集合。Linux文件均為無結(jié)構(gòu)的字符流形式。文件名是文件的標(biāo)識,它由字母、數(shù)字、下劃線和圓點組成的字符串來構(gòu)成。用戶應(yīng)該選擇有意義的文件名。Linux要求文件名的長度限制在255個字符以內(nèi)。
為了便于管理和識別,用戶可以把擴(kuò)展名作為文件名的一部分。圓點用于區(qū)分文件名和擴(kuò)展名。擴(kuò)展名對于將文件分類是十分有用的。用戶可能對某些大眾已接納的標(biāo)準(zhǔn)擴(kuò)展名比較熟悉,例如,C語言編寫的源代碼文件總是具有C的擴(kuò)展名。用戶可以根據(jù)自己的需要,隨意加入自己的文件擴(kuò)展名。
以下例子都是有效的Linux文件名。
preface
chapter1.txt
xu.c
xu.bak
文件的類型
Linux系統(tǒng)中有三種基本的文件類型:普通文件、目錄文件和設(shè)備文件。
1. 普通文件 普通文件是用戶最經(jīng)常面對的文件。它又分為文本文件和二進(jìn)制文件。
1)文本文件:這類文件以文本的ASCII碼形式存儲在計算機(jī)中。它是以"行"為基本結(jié)構(gòu)的一種信息組織和存儲方式。
2)二進(jìn)制文件:這類文件以文本的二進(jìn)制形式存儲在計算機(jī)中,用戶一般不能直接讀懂它們,只有通過相應(yīng)的軟件才能將其顯示出來。二進(jìn)制文件一般是可執(zhí)行程序、圖形、圖像、聲音等等。
2. 目錄文件 設(shè)計目錄文件的主要目的是用于管理和組織系統(tǒng)中的大量文件。它存儲一組相關(guān)文件的位置、大小等與文件有關(guān)的信息。目錄文件往往簡稱為目錄。
3. 設(shè)備文件 設(shè)備文件是Linux系統(tǒng)很重要的一個特色。Linux系統(tǒng)把每一個I/O設(shè)備都看成一個文件,與普通文件一樣處理,這樣可以使文件與設(shè)備的操作盡可能統(tǒng)一。從用戶的角度來看,對I/O設(shè)備的使用和一般文件的使用一樣,不必了解I/O設(shè)備的細(xì)節(jié)。設(shè)備文件可以細(xì)分為塊設(shè)備文件和字符設(shè)備文件。前者的存取是以一個個字符塊為單位的,后者則是以單個字符為單位的。
目錄
樹型目錄結(jié)構(gòu)
在計算機(jī)系統(tǒng)中存有大量的文件,如何有效的組織與管理它們,并為用戶提供一個使用方便的接口是文件系統(tǒng)的一大任務(wù)。Linux系統(tǒng)以文件目錄的方式來組織和管理系統(tǒng)中的所有文件。所謂文件目錄就是將所有文件的說明信息采用樹型結(jié)構(gòu)組織起來--即我們常說的目錄。也就是說,整個文件系統(tǒng)有一個"根"(root),然后在根上分"杈"(directory),任何一個分杈上都可以再分杈,杈上也可以長出"葉子"。"根"和"杈"在Linux中被稱為是"目錄"或"文件夾"。而"葉子"則是一個個的文件。實踐證明,此種結(jié)構(gòu)的文件系統(tǒng)效率比較高。
如前所述,目錄也是一種類型的文件。Linux系統(tǒng)通過目錄將系統(tǒng)中所有的文件分級、分層組織在一起,形成了Linux文件系統(tǒng)的樹型層次結(jié)構(gòu)。以根目錄為起點,所有其他的目錄都由根目錄派生而來。一個典型的Linux系統(tǒng)的樹型目錄結(jié)構(gòu)如圖3.1所示。用戶可以瀏覽整個系統(tǒng),可以進(jìn)入任何一個已授權(quán)進(jìn)入的目錄,訪問那里的文件。
上圖中,我們只給出了目錄結(jié)點名稱,而沒有給出各個目錄"之下"的每一個文件。實際上,各個目錄結(jié)點"之下"都會有一些文件和子目錄。并且,系統(tǒng)在建立每一個目錄時,都會自動為它設(shè)定兩個目錄文件,一個是".",代表該目錄自己,另一個是"..",代表該目錄的父目錄,對于根目錄,"."和".."都代表其自己。
Linux目錄提供了管理文件的一個方便途徑。每個目錄里面都包含文件。用戶可以為自己的文件創(chuàng)建自己的目錄,也可以把一個目錄下的文件移動或復(fù)制到另一目錄下,而且能移動整個目錄,并且和系統(tǒng)中的其他用戶共享目錄和文件。也就是說。我們能夠方便地從一個目錄切換到另一個目錄,而且可以設(shè)置目錄和文件的管理權(quán)限,以便允許或拒絕其他人對其進(jìn)行訪問。同時文件目錄結(jié)構(gòu)的相互關(guān)聯(lián)性使分享數(shù)據(jù)變得十分容易,幾個用戶可以訪問同一個文件。因此允許用戶設(shè)置文件的共享程度。
需要說明的是,根目錄是Linux系統(tǒng)中的特殊目錄。Linux是一個多用戶系統(tǒng),操作系統(tǒng)本身的駐留程序存放在以根目錄開始的專用目錄中,有時被指定為系統(tǒng)目錄。在圖3.1中那些根目錄下的目錄就是系統(tǒng)目錄。
工作目錄、用戶主目錄與路徑
如前所述,目錄是Linux系統(tǒng)組織文件的一種特殊文件。為使用戶更好地使用目錄,我們介紹有關(guān)目錄的一些基本概念。
I. 工作目錄與用戶主目錄
從邏輯上講,用戶在登錄到Linux系統(tǒng)中之后,每時每刻都"處在"某個目錄之中,此目錄被稱作工作目錄或當(dāng)前目錄(Working Directory)。工作目錄是可以隨時改變的。用戶初始登錄到系統(tǒng)中時,其主目錄(Home Directory)就成為其工作目錄。工作目錄用"."表示,其父目錄用".."表示。
用戶主目錄是系統(tǒng)管理員增加用戶時建立起來的(以后也可以改變),每個用戶都有自己的主目錄,不同用戶的主目錄一般互不相同。
用戶剛登錄到系統(tǒng)中時,其工作目錄便是該用戶主目錄,通常與用戶的登錄名相同。
用戶可以通過一個"~"字符來引用自己的主目錄。
例如命令
/home/WANG$ cat ~/class/software_1
和下面的命令
/home/WANG$ cat /home/WANG/class/software_1 意義相同。shell將用用戶主目錄名來替換"~"字符。 目錄層次建立好之后,用戶就可以把有關(guān)的文件放到相應(yīng)的目錄中,從而實現(xiàn)對文件的組織。
對文件進(jìn)行訪問時,需要用到 "路徑"(Path)的概念。
II. 路徑
顧名思義,路徑是指從樹型目錄中的某個目錄層次到某個文件的一條道路。此路徑的主要構(gòu)成是目錄名稱,中間用"/"分開。任一文件在文件系統(tǒng)中的位置都是由相應(yīng)的路徑?jīng)Q定的。
用戶在對文件進(jìn)行訪問時,要給出文件所在的路徑。 路徑又分相對路徑和絕對路徑。 絕對路徑是指從"根"開始的路徑,也稱為完全路徑;相對路徑是從用戶工作目錄開始的路徑。
應(yīng)該注意到,在樹型目錄結(jié)構(gòu)中到某一確定文件的絕對路徑和相對路徑均只有一條。絕對路徑是確定不變的,而相對路徑則隨著用戶工作目錄的變化而不斷變化。這一點對于我們以后使用某些命令如cp和tar等大有好處。
用戶要訪問一個文件時,可以通過路徑名來引用。并且可以根據(jù)要訪問的文件與用戶工作目錄的相對位置來引用它,而不需要列出這個文件的完整的路徑名。例如,用戶WANG有一個名為class的目錄,該目錄中有兩個文件:software_1和hardware_1。若用戶WANG想顯示出其class目錄中的名為software_1的文件,可以使用下列命令:
/home/WANG$ cat /home/WANG/class/software_1
用戶也可以根據(jù)文件software_1與當(dāng)前工作目錄的相對位置來引用該文件。這時命令為:
/home/WANG$ cat class/software_1
看了“如何進(jìn)行l(wèi)inux系統(tǒng)文件和目錄的操作”還想看: