Liunx學習筆記 05 檔案系統管理

2021-10-01 16:04:25 字數 4485 閱讀 2540

分割槽型別

對於一塊硬碟而言,需要分割槽才能使用,有三種分割槽型別:主分割槽、擴充套件分割槽和邏輯分割槽。

主分割槽:一塊硬碟最多只能分4個主分割槽;

擴充套件分割槽:一塊硬碟最多只能有1個擴充套件分割槽,且擴充套件分割槽也屬於主分割槽的一種,即主分割槽加擴充套件分割槽最多只能有4個;然而擴充套件分割槽既不能儲存資料也不能格式化,其唯一的作用是做邏輯分割槽處理(相當於中間商)。

邏輯分割槽:邏輯分割槽是在擴充套件分割槽中劃分的,如果是ide硬碟,linux最多支援59個邏輯分割槽,如果是scsi硬碟,linux最多支援11個邏輯分割槽。

所以,一般都是分1-3個主分割槽,外加1個擴充套件分割槽,然後在擴充套件分割槽裡面再劃分很多個的邏輯分割槽。

在windows中,分割槽之後,他們的目錄名稱就按照分割槽的先後自動命名成了c、d、e、f、g……等。然而linux中並無此說法。

linux將分割槽命名為裝置名,對於sata硬碟,即主分割槽1為/dev/sda1,主分割槽2為/dev/sda2,主分割槽3為/dev/sda3,擴充套件分割槽為/dev/sda4,邏輯分割槽1、2、3……分別為/dev/sda5、/dev/sda6、/dev/sda7……注意,即便沒有主分割槽2和主分割槽3,那麼邏輯分割槽依舊是從5開始編號的,只是此時擴充套件分割槽是緊接著上個主分割槽編號而已。即/dev/sda1-4始終是留給主分割槽的,而/dev/sda5-n則是給邏輯分割槽的!

比如,只分了乙個主分割槽+乙個擴充套件分割槽,在擴充套件分割槽裡面則又分了3個邏輯分割槽,那麼他們的裝置名分別為:

分割槽裝置名

主分割槽1

/dev/sda1

擴充套件分割槽

/dev/sda2

邏輯分割槽1

/dev/sda5

邏輯分割槽2

/dev/sda6

邏輯分割槽3

/dev/sda7

更有意思的是,linux中自己架構了一套目錄樹結構,所有的目錄都是從根目錄/開始的,而使用者的檔案則一般放到家目錄/home/使用者名稱中,管理員自己的目錄為/root,跟啟動相關的都在/boot中,還有其他很多目錄,而這些目錄是要跟硬碟的分割槽相掛載的,也就是要指定他們放到哪個分割槽裡面去。

一般單獨給/boot分個200m~1g空間,作為啟動盤,有點像win7前面多出來那100m哈;

給根目錄/分個10-100g的分割槽,類似於windows的c盤系統了;

給/home分個上百g,類似於windows中我的文件;

還有個特殊的/swap交換分割槽,它和windows的虛擬記憶體比較類似,給它單獨分個2-4g就好了,當然,如果你記憶體非常大,這個/swap不分也沒問題的;

對於其它沒有指定掛載點的目錄,他們就跟著根目錄/掛載到對應分割槽上了;

如果你還有特別重要的資料做備份,可以單獨做個備份的分割槽來玩。

檔案系統

windows裡面分割槽也是要對應檔案系統的,比如fat32、ntfs等,硬碟一般都用ntfs,因為fat32的話,大於4g的檔案就無法支援,比如整個高畫質電影十幾個g,就放不進去了。

同樣,linux也有自己的一套檔案系統,叫ext2、ext3、ext4,現在都是ext4系統了。ext4系統最大系統容量達到1eb(1eb=1024pb=1024*1024tb),而單個檔案的最大容量則達到16tb,這是非常非常大的數字了!

語法:df [選項] [掛載點]

選項:-a 顯示所有檔案資訊,包括特殊檔案系統,如/proc、/sysfs

-h 使用習慣單位顯示容量,如kb、mb、gb等

-t 顯示檔案系統型別,如ext2、ext3、ext4等

-m 以mb為單位顯示容量

-k 以kb為單位顯示容量

示例

df -h /	#檢視根分割槽的檔案系統,顯示

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

/dev/sda5 92g 4.5g 83g 6% /

df -h /home	#檢視家目錄所在分割槽的檔案系統,顯示

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

/dev/sda7 132g 238m 125g 1% /home

也可以寫掛載點,比如df -h同時檢視所有分割槽的掛載資訊。

語法:du [選項] [目錄或檔名]

選項-a 顯示每個檔案的磁碟佔用量,預設只統計 子目錄的磁碟佔用量

-h 使用習慣單位顯示磁碟佔用量,如kb、mb、gb等

-s 統計總佔用量,而不列出子目錄和子檔案的佔用量

示例:

du -sh /home	#顯示家目錄的檔案大小,顯示如下

177m /home

如果對比df的顯示結果就會發現,df出來的家目錄為238m,而這裡du的家目錄才177m,這是由於df除了統計檔案大小,還統計了系統、程序等臨時檔案所佔資源,所以其統計出來的空間較大!而du只統計了檔案大小,所以較小,du也是比較真實的大小反映。

語法:fsck [選項] 分割槽裝置檔名

選項:-a 不用顯示使用者提示,自動修復檔案系統

-y 自動修復,和-a作用一致,但有些檔案系統只支援-y

不建議使用檔案系統修復命令fsck,搞不好就系統崩潰了,而且系統自己本身就會自動修復的。

語法:dumpe2fs 分割槽裝置檔名

示例:

dumpe2fs /dev/sda5 | more	# 檢視根目錄所在分割槽/dev/sda5的磁碟狀態,由於顯示內容太長了,用管道符「|」給more來檢視
顯示的內容非常多,那麼可以看到有一行是

……

block count: 24413696

……block size: 4096

……

那麼我們就知道每乙個分塊大小是4096kb,即4k,而共有24413696個分塊,大約是192.3gb。

掛載,即將裝置檔名 與 對應裝置(如硬碟分割槽、光碟、u盤、軟盤)等掛載點相連線的過程。

語法:mount [-l]

作用:查詢系統中已經掛載的裝置,-l會顯示卷標名稱

語法:mount -a

作用:依據配置檔案/etc/fstab的內容,自動掛載

mount [-t 檔案系統] [-l 卷標名] [-o 特殊選項] 裝置檔名 掛載點

選項:-t 檔案系統:加入檔案系統型別來指定掛載的型別,可以為ext3、ext4、iso9660等檔案系統,其中iso9660為光碟機的標準。

-l 卷標名(別名):掛載指定卷標的分割槽,而不是安裝裝置檔名掛載

-o 特殊選項:可以指定掛載的額外選項,參考幫助。

掛載光碟的過程:

先mkdir /mnt/cdrom/ 建立乙個空目錄用作掛載點(類似windows中的碟符,linux中為空目錄);

再將光碟放入光碟機;

用mount -t iso9660 /dev/cdrom /mnt/cdrom即可將光碟機的裝置檔名/dev/cdrom與掛載點/mnt/cdrom掛載起來,或者用mount /dev/sr0 /mnt/cdrom,不寫檔案型別也沒關係,系統會用預設的檔案系統,也是ok的,這個/dev/sr0和/dev/cdrom的裝置檔名是等效的,兩者是軟鏈結關係,都是指光碟機;

接下來就可以cd /mnt/cdrom進入到掛載點目錄,直接進入光碟機目錄了。

解除安裝光碟的過程:

先cd …退出光碟目錄;注意在光碟目錄中是無法解除安裝的,因為不能自己在梯子上把梯子抽調啊~

再unmount /mnt/cdrom或unmount /dev/cdrom或unmount /dev/sr0即可解除安裝光碟。相當於windows中的光碟右鍵滑鼠,彈出的操作。

掛載u盤的過程

先fdisk -l檢視u盤的裝置檔名,若僅有一塊硬碟,其為sda,則插入u盤會被分成sdb,若只有乙個分割槽,分割槽號為sdb1,若有兩塊硬碟分別為sda和sdb,則插入的u盤會被分成sdc,若只有乙個分割槽,分割槽號為sdc1;

再mkdir /mnt/usb建立掛載點;

然後mount -t vfat /dev/sdb1 /mnt/usb來掛載u盤,因為liunx不支援windows的ntfs檔案系統,至於fat32和fat64檔案系統,要分別指定型別為vfat和fat才能掛載;

就可以cd /mnt/usb進入u盤目錄操作了。

解除安裝u盤的過程

先cd …退出u盤目錄;

再umount /dev/usb解除安裝u盤,即可。

新增新硬碟;

fdisk -l檢視新硬碟的裝置檔名,若之前只有一塊硬碟,那麼新硬碟會被命名為/dev/sdb;

使用fdisk /dev/sdb命令進行分割槽;

在互動介面的提醒下完成分割槽過程……

用partprobe重新讀取分割槽表資訊;

用mkfs -t ext4 /dev/sdb1格式化各分割槽;

建立掛載點並掛載各分割槽,如mkdir /disk1,mount /dev/sdb1 /disk1。

……

uuid=…… /disk1 ext4 defaults 1 2

……

其中的uuid是硬碟通用的唯一標識碼,用dumpe2fs -h /dev/sdb1可檢視該uuid碼,把它寫進去就好了。

用mount -a先重新掛載一遍,要沒問題,就好了,如果有問題,看**寫錯了,再該對就妥了。

Linux學習筆記四 檔案系統

一 檔案含義 boot 用來存放與linux系統啟動有關的程式,比如啟動引導裝載程式等。linux系統的根目錄,所有的目錄都掛在這個目錄下面。home 存放普通使用者的資料,是普通使用者的宿主目錄。swap 實現虛擬記憶體,建議大小是物理記憶體的1 2倍。etc 系統配置檔案。var 包含經常發生變...

Python學習筆記7 檔案與檔案系統

使用python內建的open 函式開啟檔案 open file,mode r buffering 1,encoding none,errors none,newline none,closefd true,opener none 引數 解釋file 必需,檔案路徑 相對或者絕對路徑 mode 可選...

Linux學習筆記 一 檔案系統

對於每乙個 linux 學習者來說,了解 linux 檔案系統的結構是十分有必要的 因為在 linux 中一切皆檔案,只有深入了解 linux 檔案系統,才會對 linux 有更深刻的認識 linux 檔案系統採用樹狀結構,檔案目錄的命名規範和存放標準遵循 filesystem hierarchy ...