初學Linux之熟悉文件系統

每一個具有存儲數據功能的設備,都是有文件系統的,文件系統,規定了數據的儲存的策略,以便數據有條不紊的記錄保存。為了深入的學習Linux,我們必定要了解其文件系統,其中包括:文件系統結構元素;文件的創建和查看;文件刪除、復制、移動等操作;管理文件的方式;軟鏈接和硬鏈接。

為了大家能夠理解文件系統,我們可以將計算機的文件系統類比成一個圖書館,文件本身可以成圖書館的各種繁多的書籍。圖書館的數,都是有類別和編號的,也有書架和區域。我們找一本數,先確認這個數是哪個類別的,通過類別,找到在圖書館的區域位置,找到書架,在通過編號查找書籍所在的位置。同樣的,Linux系統里的文件也是這樣的,在唯一的根目錄下,會有不同的目錄文件,目錄文件中又包含不同的目錄和文件,這種倒置的數狀結構,就是我們要了解的文件系統。

一、文件系統結構元素

Linux文件系統是從唯一的根目錄開始的,在沒有任何的更改的情況下,系統默認創建好以下一級目錄:

捕獲11

1、/boot:是存放系統引導啟動時,要加載的靜態文件、內核和ramdisk及grub等;

2、/bin:存放系統自身啟動和運行時會用到的核心二進制程序,不能獨立關聯分區;

3、/sbin:管理類基本命令,不能獨立關聯分區,系統啟動會用到的程序;

4、/lib:存放系統啟動時程序依賴的基本共享庫文件以及內核模塊文件;

5、/lib64:專用于×86_64系統上的輔助共享庫文件的存放位置;

6、/etc:存放系統配置文件的目錄;

7、/home:存放各個普通用戶家目錄的目錄文件;

8、/root:管理員的家目錄;

9、/media:系統便攜式移動設備的(掛載)目錄;

10、/mnt:臨時文件系統(掛載)目錄;

11、/dev:所有設備文件和特殊文件存儲位置;

12、/opt:第三方應用程序的安裝目錄;

13、/srv:系統上運行的服務用到的數據;

14、/tmp:臨時文件存儲位置;

15、/usr:UNIX操作系統軟件資源存放位置

(bin,sbin,lib,lib64,etc,share)

捕獲12

16、/var:經常發生變化的文件存放的位置

(cache,lib,local,lock,log,opt,run,spool,tmp);

捕獲13

17、/proc:用于輸出內核與進程信息相關的虛擬文件系統;

18、/sys:用于輸出當前系統上硬件設備相關信息虛擬文件系統;

19、selinux:相關的安全策略等信息的存儲位置;

以上目錄都是系統默認建立的,正常情況下,不可刪除,防止系統啟動和運行的故障。這些目錄中,普通用戶訪問時用到的是/home 目錄,/root目錄是系統管理員的家目錄。知道了基本的文件目錄后,那我們使用的系統應用程序都用到哪些目錄呢?下面的文件路徑就是了。

二進制程序:/bin? ,/sbin,/usr/bin ,/usr/sbin,/usr/local/bin,/usr/local/sbin;

庫文件:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib;

配置文件:/etc,/etc…. ,/usr/local/etc;

幫助文件:/usr/share/man ,/usr/share/doc,/usr/local/share/man, /usr/local/share/doc;

“圖書館”的區域和書架都已經劃分好了,如何區分不同類別的書籍呢?Linux系統中的純文字是無法直接凸顯的,所用到的方法是,在文件名上,顯示不同的顏色,可以做到一目了然。文件類型和顏色對應如下:

列表顯示的開頭第一個字母是文件的類型。

-(f):普通文件–白色

d ? ?? :目錄文件–藍色

b ? ?? :塊設備 –黃色

c ? ?? :字符設備–黃色

l ? ? ? :符號鏈接文件–淺藍色(失效后會紅色閃爍)

p ? ?? :管道文件–暗黃色

s ? ? ? :socket–粉紅色

捕獲14

現在我們已經知道了文件系統的基本結構和文件的類型,我們接著可以嘗試進入不同的目錄,查看目錄下的文件和文件信息。登陸進入系統,用戶的初始位置是在自己的家目錄(~),會在字符輸入界面的命令提示符的最右顯示。也可以通過 pwd 命令,在屏幕中輸出自己的目錄路徑。?捕獲15 ? ? ? ? ? ? ? 捕獲15.2

若是我們需要移動到其他的目錄,只要通過 cd 命令即可,可以先嘗試改變到根目錄下,到了更根目錄下,我們可以通過 ls 命令查看根目錄下存在的目錄和文件,若是目錄,還可以通過cd 命令進行轉移。若是已經知道了目錄的順序,直接輸入目錄的絕對路徑,可以一個 cd命令到指定的目錄下。當然也可以使用相對當前目錄的路徑(相對路徑),將上級目錄之前的目錄路徑省略,轉移到指定目錄。

捕獲16

這里查看到的都是非隱藏的文件,Linux文件系統對文件命令有如下的規則:1、文件命令最長255個字節;2、包括路徑在內文件名稱最長4095個字節;3、除了斜杠(/)和NUL,所有的字符都是可以作為文件名的。(不推薦);4、文件名大小寫敏感;5、所有 文件名是“.”開頭的文件都是隱藏文件。

二、文件的創建和查看

2、ls 命令也可以使用絕對路徑和相對路徑作為參數,直接查看指定目錄下的文件信息。其中 ls? -a? [目錄路徑]? 列出所有文件(包括隱藏文件)。-l 可以列表顯示更多額外信息,-R可以查看當前目錄下所有層級目錄的文件。具體更多的用法,我們可以查看幫助文檔。

捕獲17

另外,文件名可以使用文件通配符(glob)目錄查詢顯示。man 7 glob? 可以查詢通配符的使用方法,這邊不多做描述。

捕獲18 ? ? ? ? ? ? 捕獲19

2、創建文件,可以使用touch 命令,若是創建時,只有文件名,沒有指定之前的目錄,這個命令默認是在當前目錄下創建,若是指定的目錄不存在,則無法創建。若是文件存在,會刷新文件的時間信息。文件的時間信息可以使用 stat 命令顯示。

access time? 訪問時間,讀取文件內容會改變 ? (atime)

modify time? 修改時間,改名文件中存儲的數據(mtime)

change time? 改變時間,文件大小,類型等信息發生改變(ctime)

捕獲20

3、創建目錄可以使用mkdir 這個命令,其中 mkdir -p 在創建不存在的目錄時,可以省略系統的提醒,直接生成對應的目錄文件。

捕獲21

三、文件刪除、復制、移動等操作

1、文件刪除:rm

rm命令會將文件直接刪除,這是個很危險的操作,刪除的文件時無法恢復的,所以系統已經通過別名的方法,將這個命令,更改為 rm -i ,使rm 命令成為交互的,在刪除文件前,系統會詢問用戶是否刪除。確認后會刪除。

常用的選項: -f? 強制刪除 ,不提醒;? -r :遞歸性 ; 可以使用文件通配符

2、文件復制:cp

cp可以實現文件的復制,可以作為文件備份的一種方法,具體的用法如下:

cp [OPTION]… [-T] SOURCE(源) DEST (目標文件)?

cp [OPTION]… SOURCE… DIRECTORY (目錄)?

cp [OPTION]… -t DIRECTORY SOURCE… ?(省略號代表多個)

cp SRC(源) DEST

捕獲22

cp 命令常用的選項: -av選項一般比較常用。

-i:覆蓋前提示

-n:不覆蓋,注意兩者順序 ?

-r, -R: 遞歸復制目錄及內部的所有內容 ?

-a: 歸檔,相當于-dR –preserv=all ?

-p: 等同–preserv=mode,ownership,timestamp ?

-v: –verbose ?

-f: –force ?

-u:–update 只復制源比目標更新文件或目標不存在的文件 ?

–backup=numbered 目標存在,覆蓋前先備份加數字后綴

-d:–no-dereference –preserv=links 不復制原文件, 只復制鏈接名 ?

–preserv[=ATTR_LIST] mode: 權限

ownership: ?? 屬主屬組

timestamp: links ,xattr, context, all

3、移動mv(改名)

mv [OPTION]… [-T] SOURCE DEST ?

mv [OPTION]… SOURCE… DIRECTORY ?

mv [OPTION]… -t DIRECTORY SOURCE…

常用選項 -i:交換式,文件名出現重復時,移動或者改名,會進行提示。

-f:強制,不進行提示。

rm和mv 系統已經自動進行別名,通過 alias 命令可以查看。

 

四、其他文件系統的操作命令

tree? 命令 可以用樹狀圖的形式顯示當前目錄下的文件和目錄的結構,可以對當前目錄的情況做到一目了然。

rmdir 命令是刪除目錄的命令,也可以配合 -p選項進行刪除,但是刪除的是空目錄,若是有一個文件,則無法刪除。

以上命令的具體使用方法,我們都可以通過幫助文檔查詢到詳細的信息,這里不再贅述。

 

五、軟鏈接和硬鏈接

提到軟鏈接和硬鏈接,我們需要了解 inode 這個概念。系統中的文件是存儲在磁盤中的,計算機讀取硬盤的最小單位是一個“塊”(block),大小是4kb。有的文件是不止占用一個“塊”的,無法達到快速訪問數據本身外的信息,所以需要將文件內容本身外的元數據信息以節點(本身會小巧)的方式單獨的存儲在一個專門的區域。這個區域就是inode ,中文名稱為“索引節點”。inode 包含文件的元數據信息,具體內容如下:

(1)文件類型,權限,UID,GID;

(2)鏈接數(指向這個文件名路徑名稱個數);

(3)該文件的大小和不同的時間戳 ;

(4)指向磁盤上文件的數據塊指針 ;

(5)有關文件的其他數據;

inode 使用信息可以使用 df? -i 命令查看(df 本身是查看磁盤空間使用信息的命令),目錄中的文件,就是通過文件名,引用的inode號, 一個目錄是目錄下的文件名和文件inode號之間的映射。一般 inode 表會占用磁盤空間的12.8%,若是inode已經被用光,但是磁盤還有空間,這種情況下,也是無法繼續存儲文件的。需要清理inode表。

1、硬鏈接
? 創建硬鏈接會增加額外的記錄項以引用文件 ,對應于同一文件系統上一個物理文件 , 每個目錄引用相同的inode號 ,在創建時鏈接數遞增 ,而刪除文件時: rm命令遞減計數的鏈接,文件要存在,至少有一個鏈接數 ,當鏈接數為零時,該文件被刪除。注意硬鏈接不能跨越驅動器或分區 。?

語法: ln ?? filename ? [linkname ]

2、軟連接?

一個軟鏈接指向的是另一個文件 ,軟連接的文件類型和原來的是不同的。 ls – l 是顯示鏈接的名稱和引用的文件 ,而一個符號鏈接的內容是它引用文件的名稱 。軟鏈接可以對目錄進行設置,也可以跨分區。?實際上,軟連接指向的是另一個文件的路徑;其大小為指向的路徑字符串的 長度;創建或者刪除一個文件的軟鏈接不增加或減少目標文件inode的引用計數。?

語法: ln -s filename [linkname]

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/88982

(3)
hack王和juhack王和ju
上一篇 2017-11-26 22:32
下一篇 2017-11-26 23:26

相關推薦

  • Linux磁盤管理

     I/O Ports:I/O設備地址   一切皆文件:             poen(),read(),write(),close()   設備類型:     &nb…

    Linux干貨 2016-08-29
  • 一個PHP程序員學習運維的轉型

         我是一位PHP開發工程師,平時負責前端、后端以及服務器端的工作,但是稱不上是個牛逼的程序員。網上熱烈討論一則傳聞,“全棧工程師”(Full Stack Engineer),要求應征者對開發堆棧的每個方面都有所掌握。那究竟何為 “全棧工程師”呢?從字面上來理解,全棧工程師必須熟悉開發堆棧的每一個層次,或者至少熟悉絕大多數…

    Linux干貨 2017-04-02
  • 從Linux小白到大?!c狼共舞的日子12(上)

    馬哥教育網絡班21期+第12周課程練習 1、請描述一次完整的http請求處理過程; 1)建立或處理連接:客戶端發送http請求報文,服務器端接收或拒絕請求; 2)接收請求:服務器端接收來自客戶端對某些資源的請求; 3)處理請求:服務器端解析客戶端請求報文,獲取客戶端請求的資源及請求方法等信息; 4)訪問資源:服務器端獲取客戶端請求的資源; 5)構建響應報文;…

    Linux干貨 2016-12-26
  • Net25-第10周作業

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) Centos系統啟動過程分內核空間啟動和用戶空間啟動: 內核空間啟動流程: POST: post加點自檢,檢測計算機基本5大件是否完好,計算機可被正常點亮。 BootSequence: 位于ROM上的BIOS的BootSequence來選擇啟動順序 Bootloader: 決定啟動順…

    Linux干貨 2017-03-15
  • CentOS6.7 Xen安裝部署和基本測試小結

    目錄:    1. Xen的簡介    1.1  Xen的大體結構    1.2 Xen對VM的稱呼    1.3 Xen對CPU和內存的虛擬化過程    1.4 Xen對IO設備的虛擬化過程    1.5 Linux Kerne…

    Linux干貨 2016-04-19
  • 制作kickstart文件和引導鏡像

    kickstart制作: (1)通過手動編輯,莫個kickstat模板進行修改:如根目錄下的anaconda-ks.cfg (2)通過圖形界面制作kickstart文件,可以安裝system-config-kickstart, 通過kickstart配置程序打開某個模板,如anaconda-ks.cfg,在圖片界面下的修改, 基本配置:默認語音,鍵盤類型,時…

    2017-11-14
欧美性久久久久