初學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
下一篇 2017-11-26

相關推薦

  • 22期+第一周課堂練習

    一.計算機的組成及其功能 計算機的組成及其功能結構圖      各部件的關系圖          二.按系列羅列Linux的發行版,并描述不同版本之間的聯系與區別 1.各版本邏輯結構圖 2.各版本的介紹   Redhat,應該稱為Redhat系列,包括RHEL(Redh…

    Linux干貨 2016-08-15
  • yum更多用法及源碼編譯安裝apache和當天作業

    一、yum的更多用法 上篇文章介紹了yum的基礎用法及yum源的基本配置,除此之外yum還有更多的用法,以下將繼續介紹yum的使用方法。 1、yum-config-manager工具,該工具可以自動生成yum的repo文件,而不需要手動創建編寫,使用方法如下: 用法:yum-config-manager [options] [section] -add-re…

    Linux干貨 2016-08-24
  • ?LVS

    LVS 概述 LVS工作類型 LVS NAT LVS DR(默認) Direct Routing帶來的問題 限制響應模型的內核參數 LVS TUN LVS FULLNAT scheduling-method 靜態調度算法 動態調度算法 CentOS 7 中的ipvs組件 安裝ipvsadm程序 主要文件 ipvsadm命令 配置集群服務 NAT方法示例 DR…

    Linux干貨 2016-10-26
  • rpm包及rmp命令詳解

    一、軟件運行環境          ? API: Application Programming Interface              國際標準&nbs…

    Linux干貨 2016-08-22
  • KeepAlived高可用集群詳解及拓撲實驗搭建配置

    Linux Cluster:KeepAlive 1.集群類型:LB(負載均衡集群),HA(高可用集群),HP(高性能集群)     LB:均衡負載的實現LVS     HA:高可用的實現KeepAlived 2.RS:健康狀態檢測方式: (1)網絡層:icmp ping (2)傳…

    Linux干貨 2016-11-01
  • old notes

    yum update: update software guest edition ***: how to install guest edition: 1) need to root: su – 2) yum install kernel-devel 3)yum install gcc* ( when don't remember n…

    Linux干貨 2016-09-19
欧美性久久久久