Linux檔案系統

2021-08-07 07:15:11 字數 4422 閱讀 3439

linux 使用字母和數字的組合來指代磁碟分割槽。這可能有些使人迷惑不解,特別是如果你以前使用「c 驅動器」這種方法來指代硬碟及它們的分割槽。

在 dos/windows 的世界裡,分割槽是用下列方法命名的:每個分割槽都被檢查過以便判定它是否可被 dos/windows 讀取。如果分割槽型別是相容的,它會被指派給乙個「驅動器字母」。驅動器字母從「c」開始,然後依據要標籤的分割槽數量而按字母順序推移。驅動器字母可以用來指代那個分割槽,也可以用來指帶分割槽所含的檔案系統。

red hat linux 使用一種更靈活的命名方案。它所傳達的資訊比其它作業系統採用的命名方案更多。該命名方案是基於檔案的,檔名的格式為:/dev/xxyn  (例如 /dev/sda2)

下面說明了解析分割槽命名方案的方法:

/dev/  : 這個字串是所有裝置檔案所在的目錄名。因為分割槽在硬碟上,而硬碟是裝置,所以這些檔案代表了在/dev/上所有可能的分割槽。

xx      : 分割槽名的前兩個字母標明分割槽所在裝置的型別。通常是 hd (ide 磁碟)或 sd(scsi 磁碟)。

y        : 這個字母標明分割槽所在的裝置。例如,/dev/hda(第乙個 ide 磁碟)或 /dev/sdb(第二個 scsi 磁碟)

n       : 最後的數字代表分割槽。前四個分割槽(主分割槽或擴充套件分割槽)是用數字從 1 排列到 4。邏輯分割槽從 5 開始。

在linux中,分割槽是這樣表示的 /dev/hda , /dev/hda1 , /dev/hda2 , /dev/hda5 , /dev/sdb1

以 /dev/hda5 為例:

因為在linux中,每乙個裝置都是用 /dev/ 資料夾下的乙個檔案來表示,所以 /dev/hda5 中, /dev/ 表示的是根目錄下的dev目錄,我們來看剩下的部分 hda5 

前兩位的字母 hd 表示這是一塊ide硬碟,如果是 sd ,則代表sata硬碟,或者快閃儲存器等外設。

第三位的字母 a 表示這是該型別介面上的第乙個裝置。同理, b、c、d…… 分別代表該型別介面上的第二三四……個裝置。例如 hdc 表示第二個ide介面上的主硬碟(每個ide介面上允許乙個主裝置和乙個從裝置)。

第四位的數字 5 ,並不表示這是該硬碟中的第5個分割槽,而是第乙個邏輯分割槽。因為在linux中,為了避免不必要的混亂,分割槽的順序是不能改變的,分割槽標識則由它們在硬碟中的位置決定。系統又要為所有可能的主分割槽預留標識,所以 1-4 一定不會是邏輯分割槽, 5 則是第乙個邏輯分割槽,以此類推。

該命名方案中沒有表明分割槽型別的地方;與 dos/windows 不同,所有分割槽都可在 red hat linux 下被識別。當然,這並不是說 red hat linux 能夠訪問每一類分割槽上的資料,但是在許多情況下,訪問專用於另一作業系統的分割槽上的資料是可能的。

red hat linux 安裝時,你應該開始考慮一下你的新作業系統所要使用的分割槽數量及大小,除非另有原因,你至少應該建立以下幾個分割槽:swap、/boot 以及 /(根)分割槽。

令許多 linux 的新使用者感到困惑的乙個地方是各分割槽是如何被 linux 作業系統使用及訪問的。它在 dos/windows 中相對來說較為簡單。每一分區有乙個「驅動器字母」,你用恰當的驅動器字母來指代相應分割槽上的檔案和目錄。

這與 linux 處理分割槽及磁碟貯存問題的方法截然不同。其主要的區別在於,linux 中的每乙個分割槽都是構成支援一組檔案和目錄所必需的貯存區的一部分。它是通過掛載(mounting)來實現的,掛載是將分割槽關聯到某一目錄的過程。 掛載分割槽使 起始於這個指定目錄(通稱為掛載點,mount point)的貯存區能夠被使用。

例如,如果分割槽 /dev/hda5 被 掛載在 /usr 上,這意味著所有在 /usr 之下的檔案和目錄在物理意義上位於 /dev/hda5 上。因此檔案 /usr/share/doc/faq/txt/linux-faq 被儲存在 /dev/hda5上,而檔案 /etc/x11/gdm/sessions/gnome 卻不是。

繼續以上的例子,/usr 之下的乙個或多個目錄還有可能是其它分割槽的掛載點。例如,某個分割槽(假設為,/dev/hda7)可以被掛載到 /usr/local 下,這意味著 /usr/local/man/whatis 將位於 /dev/hda7 上而不是 /dev/hda5 上。

也許您注意到了,windows中,碟符既用於表示硬體(硬碟上的分割槽),又用於表示系統中的路徑。而linux中,硬體就是硬體,路徑就是路徑,不會混淆在一起,簡單直接!

4.linux 下操作

linux下所有裝置都被認為是檔案,而/dev目錄存放所有系統裝置檔案的,而乙個分割槽就是乙個檔案,名字就是分割槽的名字.

通過mount掛載檔案 來掛載磁碟分割槽(或儲存裝置)

mount掛載檔案  [-t  檔案系統 ]  [-o  選項]  裝置  目錄

-t 通過這個引數,我們來指定檔案系統的型別,一般的情況下不必指定有時也能識別

-o 這個選項,主要選項有許可權、使用者、磁碟限額、語言編碼等

裝置 指儲存裝置,比如/dev/hda1, /dev/sda1 ,cdrom 等...至於您的系統中有哪些儲存裝置,主要通過 fdisk -l 或者檢視 /etc/fstab 或 dmesg ;一般的情況下光碟機裝置是/dev/cdrom ;軟碟機裝置是/dev/fd0 ;硬碟及行動硬碟以 fdisk -l 的輸出為準;

1)對光碟機和軟碟機的掛載;

我們先建乙個目錄,然後執行linux mount掛載檔案 命令,這樣cdrom 就掛在 /mnt/cdrom 中了;我們就可以在/mnt/cdrom 中檢視光碟中資料和檔案;這個目錄您想怎麼建就怎麼建。用什麼目錄不是最重要的。重要的是您知道自己在做什麼就行了。比如我們也可以把這個目錄建成 ***rom ;然後用 linux mount掛載檔案 /dev/cdrom /mnt/***rom 來掛載;

2)掛載硬碟和行動硬碟的檔案系統;

乙個分割槽只有建立了檔案系統後才能使用,前面我們說過了,我們在linux大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;

[1]掛載linux檔案系統;

首先我們得建乙個檔案系統掛載的目錄;我們前面已經提到了;乙個有檔案系統的分割槽要掛到系統中,必須要有乙個掛載點;這個掛載點就是乙個目錄;比如我們通過fdisk -l 得知hda5 是linux分割槽,並且建立了檔案系統,比如是reiserfs 檔案系統吧;

步驟:先建立乙個掛載目錄;比如/mnt/hda5

設定/mnt/hda5的許可權為任何使用者可寫可讀可執行;這樣所有的使用者都能在寫入; 

通過-t reiserfs 來指定/dev/hda5是reiserfs 檔案系統, 並且掛載到/mnt/hda5目錄; 

假如我們不知道hda5上reiserfs 檔案系統,我們可以用 -t auto 讓系統定奪,然後掛載到/mnt/hda5  

不加任何引數,直接 linux mount掛載檔案   /dev/hda5 到/mnt/hda5;系統自動判斷分割槽檔案系統; 

通過df -lh 來檢視是不是被掛載了;

最後如果使用磁碟內容結束,要解除安裝分割槽  使用umount

譬如 /dev/hda5 已經掛載在/mnt/hda5上,用一下三條命令均可解除安裝掛載的檔案系統

code:

# umount /dev/hda5

# umount /mnt/hda5

# umount /dev/hda5 /mnt/hda5

為什麼umount的時候老顯示 device busy?

這是因為有程式正在訪問這個裝置,最簡單的辦法就是讓訪問該裝置的程式退出以後再umount。可能有時候使用者搞不清除究竟是什麼程式在訪問裝置,如果使用者不急著umount,則可以用:

code:

# umount -l /mnt/hda5

來解除安裝裝置。選項 –l 並不是馬上umount,而是在該目錄空閒後再umount。還可以先用命令ps aux 來檢視占用裝置的程式pid,然後用命令kill來殺死占用裝置的程序,這樣就umount的非常放心了。

通常,您還可以使用 

eject 《掛載點|裝置》

命令彈出碟片。所以,如果 

eject

命令失效而您又不想重新啟動,請使用 lazy umount。

eject /dev/cdrom

指令1 df -lht 檢視磁碟型別

:~$ df -lht

檔案系統 型別 容量 已用 可用 已用% 掛載點

/dev/sda1 ext4 19g 11g 7.8g 57% /

none devtmpfs 498m 248k 497m 1% /dev

none tmpfs 502m 252k 501m 1% /dev/shm

指令2 fdisk -l 檢視磁碟型別

linux 檔案系統 Linux 檔案系統結構介紹

ubuntu 像所有類unix系統一樣 在分層樹中組織檔案,其中的關係就像父母和孩子一樣。目錄可以包含其他目錄以及常規檔案,它們是樹的 葉子 樹的任何元素都可以通過路徑名引用 絕對路徑以字元 標識根目錄,其中包含所有其他目錄和檔案 開頭,然後列出必須遍歷以到達該元素的每個子目錄,每個子目錄用 符號分...

Linux檔案系統

linux目錄結構 根目錄 bin 可執行檔案目錄 boot 核心引導檔案 vmlinuz,initrd.img等 dev 裝置檔案儲存目錄,應用程式對這些檔案讀寫和控制可訪問實際裝置 etc 系統配置和一些伺服器配置檔案的位置,如帳號及密碼配置檔案。home 普通使用者目錄 lib 庫檔案目錄 l...

Linux檔案系統

之前對磁碟分割槽已經有了詳細的描述,這篇主要介紹檔案系統 linux的檔案系統是出了名的 下面就 大概介紹下 可以把檔案系統大概分成 superblock inodeblock datablock 三部分 superblock superblock記錄檔案系統的基本資訊比如每塊資料塊的大小,空閒磁碟...