1. 程式人生 > >Linux下檔案與目錄管理

Linux下檔案與目錄管理

           在許多作業系統中都有檔案的概念,檔案是Linux用來儲存資訊的基本結構,所有的Linux檔案都是無結構的字元流,Linux要求檔名的長度要限制在255 個字元以內,與windows不同,Linux有自己獨特的檔案組織方式,在windows中,目錄的組織是以硬碟分割槽為基本進行構建的,每個磁碟分割槽都有自己的一套目錄的結構,而Linux是以根目錄(/)為基礎進行組織的,所有的目錄均放在根目錄下,但是這些目錄不一定在同一個磁碟分割槽下,甚至不是在同一個磁碟上。Linux下其實並沒有目錄這一概念,所有的目錄都被視為檔案,檔案分為三種,普通檔案,目錄檔案和裝置檔案,但是為了區分,下文所稱目錄是指目錄檔案,而檔案是指普通檔案,而裝置檔案暫時不討論。本文將從三方面介紹Linux下對目錄及檔案的管理,首先將介紹Linux的目錄結構,然後介紹一下Linux下對檔案的許可權管理,最後再介紹一下對目錄和檔案操作的相關命令。 一、Linux下的目錄結構 Linux也是採用樹型的目錄結構,所有的檔案和目錄都是被放到根目錄下的,也就是/目錄下,下面對根目錄下的各個子目錄進行簡單的介紹。 /bin 存放系統必備的工具集 /boot 系統啟動的必須檔案,引導檔案及配置檔案。 /dev 系統裝置檔案, /ect 啟動和正常執行Linux系統所需的配置檔案存放的路徑,幾乎所有的系統配置資訊均存放於此 /home 普通使用者的個人資訊,每個使用者在此目錄都有一個與使用者名稱同名的目錄,需要經常維護 /initrd 系統啟動時目錄,一般為空 /lib存放共享動態連結庫檔案 /lost+find /misc 不能歸類的文件及資料 /mnt 掛載外設目錄 /opt 安裝第三方軟體的目錄 /proc 虛擬檔案系統,反應記憶體中程序的資訊,不佔用硬碟空間 /sbin 超級使用者的工具集 /root 超級使用者的home目錄 /tmp 臨時檔案目錄,全域性可寫。許可權為1777 /usr 所有使用者共用的工具及檔案及標頭檔案等,比較大,大部分資料在此目錄下,一般除了安裝軟體之外都是不變的 /var 目錄是
Linux系統儲存可變資料的地方。可變資料包括鎖檔案、日誌檔案、郵件箱、周邊同作資料和快取記憶體資料。 此外,在Linux下,.代表當前目錄,..代表當前上當的上層目錄。 二、Linux下對檔案的許可權管理 在Linux下,所有的檔案和目錄都是有主的,都屬於一定的使用者和組,所謂的許可權,都是圍繞著檔案所有者和群組來說的。可以用ls –l命令來檢視檔案的屬性。假如檔名為mydoc,則用ls –l 檢視的結果可能如下: -rwxrw---- 1 test root 45 Aug 7 03:43 mydoc 其中-rwxrw----、test、root與許可權管理有關,首先看一下-rwxrw---,第一個-表示mydoc是一個普通檔案,除此之外,還可能為d,b,c,l等,各有不同的含義,表示了檔案的不同型別,如目錄檔案或者連結檔案等,後面九個字元分成三組,每三個一組,分別表示檔案所有者,所屬於的組以及其它人對檔案的許可權。其中,r表示有讀許可權,w表示有寫許可權,x表示有執行許可權(在Linux下,並不是依靠檔案的副檔名來表示檔案是否可以被執行,如在windows下,.exe,.com,.bat表示檔案可以被執行),如果為-,說明對此檔案沒有相應的許可權。若有讀許可權,對應數字4,若有寫許可權,對應數字為2,若有執行許可權,對應數字為1,若沒有相應許可權,則對應數字0,如-rwxrw----轉化成數字形式為760。 相應的,Linux提供了相應的命令來改變相應的許可權。與使用者許可權有關的命令有chown,chgrp和chmod,下面分別給予介紹。chown是改變檔案的所有者,命令格式為chown <使用者名稱稱> <檔名稱>,呵呵,當然你得改變此檔案的許可權,至少應該是檔案所有者或超級使用者。chgrp是改變檔案所屬於的群組,也就改變了相應的許可權,命令格式為chgrp <組名稱> <檔名>。chmod 是改變相應檔案的許可權,有兩種使用方法,一種方法是採用數字形式(演算法上文已有介紹),命令格式為chmod <數字> <檔名>,另外一種方法是用字母法,用u,g,o分別代表所有者,群組和其它人,+表示新增相應許可權,-表示去掉相應許可權,r,w,x仍然表示讀、寫和執行許可權。比如chmod g+x,o-w mydoc表示組群組加上執行許可權,給其它人去掉寫許可權。關於許可權的其它內容,將在別的檔案中介紹。 三、
檔案相關操作命令
簡單總結了一下,對檔案或目錄的操作,大體分為三類,如有不當,讀者可以給予補充。 第一類為基本操作類,命令有mkdir,rmdir,rm,cp,cd,mv等,cd為切換工作目錄指令,mkdir為建立目錄,rmdir為刪除目錄,rm為刪除檔案或目錄,其中-r選項可以刪除子目錄,-f表示強制刪除,慎用。cp為檔案拷貝命令,mv為檔案搬移命令。 第二類命令為檔案顯示命令。常見的有cat(顯示檔案或連線兩個和多個檔案),more(在終端按屏顯示檔案,注意只能向後翻閱檔案),less(與more基本相同,不同之處有在於既可以向後又可以向前翻閱檔案),head(顯示檔案的前幾行,可以指定行數),tail(顯示檔案的最後幾行,可以指定幾行),od(按照進位制顯示檔案)。 第三類為檔案查詢與比較命令。grep(查詢字串工具),find(在目錄結構中搜索檔案並執行指定操作),locate(用於查詢檔案,速度比find要快,但是要搜尋資料庫,這個資料庫由crontab程式來建立),sort(對檔案中的各行進行排序),uniq(檔案經過處理後,輸出檔案可能出現重複的行,可以用uniq命令進行刪除),wc(統計指定檔案中的位元組數、字數、行數並顯示統計結果),comm(對有序的檔案進行比較),diff(逐行比較兩個文字檔案,列出其不同之處)。 此外,檔案的壓縮和打包命令可以歸於檔案操作命令,限於篇幅原因,將在以後專門進行介紹,關於各個命令的詳細選項和使用細則,可以用man和info命令進行學習。也可以從網上搜索各個命令的使用方法。