1. 程式人生 > >兄弟連Linux(七)--檔案系統管理

兄弟連Linux(七)--檔案系統管理

1、回顧分割槽和檔案系統

1.1 分割槽型別

主分割槽:總共最多隻能分4個

擴充套件分割槽:只能有一個,也算作主分割槽的一種,也就是說主分割槽加擴充套件分割槽最多有4個。但是擴充套件分割槽不能儲存資料和格式化,必須再劃分成邏輯分割槽才能使用

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

1.2 分割槽表示法

分割槽的裝置檔名

              主分割槽1        /dev/sda1

              主分割槽2        /dev/sda2

              主分割槽3        /dev/sda3

              擴充套件分割槽       /dev/sda4

              邏輯分割槽1     /dev/sda5

              邏輯分割槽2     /dev/sda6

              邏輯分割槽3     /dev/sda7

分割槽的裝置檔名

              主分割槽1        /dev/sda1

              擴充套件分割槽       /dev/sda2

              邏輯分割槽1     /dev/sda5

              邏輯分割槽2     /dev/sda6

              邏輯分割槽3     /dev/sda7

1.3 檔案系統

       ext2是ext檔案系統的升級版本,RedHatLinux7.2版本以前的系統預設都是ext2檔案系統。1993年釋出,最大支援16TB的分割槽和最大2TB的檔案(1TB=1024GB=1024*1024KB)。

       ext3是ext2檔案系統的升級版本,最大的區別就是帶日誌功能,以在系統突然停止時提高檔案系統的可靠性。支援最大16TB的分割槽和最大2TB的檔案。

       ext4是ext3檔案系統的升級版本。ext4在效能、伸縮性和可靠性方面進行了大量改造。ext4的變化可以說是翻天覆地的,比如向下相容ext3、最大1EB的分割槽和16TB的檔案、無線數量子目錄,Extents連續資料塊概念,多塊分配、延遲分配、持久預分配、快速FSCK、日誌校驗、無日誌模式、線上碎片整理、inode增強、預設啟用barrier等。是CentOS6.3的預設檔案系統(1EB=1024PB=1024*1024TB)。

2、檔案系統常用命令

2.1 df命令、du命令、fsck命令和dump2fs命令

2.1.1 檔案系統檢視命令df

       $ df -ahTmk 掛載點

              -a    顯示所有的檔案系統資訊,包括託書檔案系統,如/proc、/sysfs

-h    使用習慣單位顯示容量,如KB,MB或GB等

-T    顯示檔案系統型別

-m   以MB為單位顯示容量

-k    以KB為單位顯示容量。預設就是以KB為單位

2.1.2 統計目錄和檔案大小

       $ du -ahs 目錄或檔名

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

-h    使用習慣單位顯示磁碟佔用量,如KB,MB或GB等

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

2.1.3 du命令和df明林的區別

       df命令是從檔案系統考慮的,不光要考慮檔案佔用的空間,還要統計被命令或程式佔用的空間(最常見的就是檔案已經產出,但程式並沒有釋放空間)

       du命令是面向檔案的,只會計算檔案或目錄佔用的空間

2.1.4 檔案系統修復命令fsck  

       $ fsck -ay 分割槽裝置檔名

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

              -y    自動修復。和-a作用抑制,不過有些檔案系統只支援-y

2.1.5 顯示磁碟狀態命令dumpe2fs

       $ dumpe2fs 分割槽裝置檔名

2.2 掛載命令

2.2.1 查詢與自動掛載

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

       $ mount -a             依據配置檔案 /etc/fstab的內容,自動掛載

2.2.2 掛載命令格式

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

              -t 檔案系統          加入檔案系統型別來制定掛載的型別,可以ext3(硬碟)、ext4(硬碟)、iso9660(光碟機)等檔案系統

              -L 卷標名             掛在指定卷標的分割槽,而不是安裝裝置檔名掛載

              -o 特殊選項         可以指定掛載的額外選項

       mount -o 特殊選項下面列出常用mount特殊選項

              atime/noatime        更新訪問時間/不更新訪問時間。訪問分割槽檔案時,是否更新檔案的訪問時間,預設為更新

              async/sync             非同步/同步,預設為非同步

            auto/noauto            自/手動,mount -a命令執行時,是否會自動安裝/etc/fstab檔案內容掛載,預設為自動

              defaults                 定義預設值,相當於rw, suid, dev, exec, auto, nouser, async這七個選項

exec/noexec           執行/不執行,設定是否允許在檔案系統中執行可執行檔案,預設是exec允許

              remount               重新掛載已經掛載的檔案系統,一般用於指定修改特殊許可權

              rw/ro                    讀寫/只讀,檔案系統掛載時,是否具有讀寫許可權,預設是rw

              suid/nosuid            具有/不具有SUID許可權,設定檔案系統是否具有SUIDSGID的許可權,預設是具有

              user/nouser            允許/不允許普通使用者掛載,設定檔案系統是否允許普通使用者掛載,預設是不允許,只有root可以掛載分割槽

              usrquota                寫入代表檔案系統支援使用者磁碟配額,預設不支援

              grpquota                寫入代表檔案系統支援組磁碟配額,預設不支援

       $ mount -o remount,noexec /home                     重新掛載/boot分割槽,並使用noexec許可權

       $ cd /home

       $ vi hello.sh

       $ chmod 755 hello.sh

       $ ./hello.sh

       $ mount -o remount,exec /home                  記得改回來哈,要不然會影響系統啟動的

2.3 掛載光碟與U盤

2.3.1 掛載光碟

       $ mkdir /mnt/cdrom                                         建立掛載點

       $ mount -t iso9660 /dev/cdrom /mnt/cdrom         掛載光碟

       $ mount /dev/sr0 /mnt/cdrom                             同前一命令

2.3.2 解除安裝命令

       $ umount 裝置檔名或掛載點                       光碟、U盤等介質,需要先解除安裝載拔除

              $ umount /mnt/cdrom

2.3.3 掛載U

       $ fdisk -l                                                  檢視U盤裝置檔名

       $ mount -t vfat /dev/sdb1 /mnt/usb/             掛載U      

              注意:Linux預設是不支援NTFS檔案系統的

2.4 支援NTFS檔案系統

2.4.1 下載NTFS-3G外掛

       http://www.tuxera.com/community/ntfs-3g-download/

2.4.2安裝NTFS-3G

       $ tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz         解壓

       $ cd ntfs-3g_ntfsprogs-2013.1.13                       進入解壓目錄

       $ ./configure                                                    編譯器準備。未指定安裝目錄,安裝到預設位置

       $ make                                                            編譯

       $ make install                                                  編譯安裝

2.4.3 使用

       $ fdisk -l                                                         檢視NTFS格式硬碟檔名

$ mount -t ntfs-3g 分割槽裝置檔名 掛載點      掛載NTFS硬碟

3fdisk分割槽

3.1 fdisk命令分割槽過程

3.1.1 新增新硬碟

      

3.1.2 檢視新硬碟

       $ fdisk -l

3.1.3 使用fdisk命令分割槽

       $ fdisk /dev/sdb/

       fdisk互動指令說明

       a      設定可引導標記

       b     編輯bsd磁碟標籤

       c      設定DOS作業系統相容標記

       d     刪除一個分割槽

       l      顯示已知的檔案系統型別。82為Linux swap分割槽,83為linux分割槽

       m    顯示幫主選單

       n     新建分割槽

       o     建立空白DOS分割槽表

       p     顯示分割槽列表

       q     不儲存退出

       s      新建空白SUN磁碟標籤

       t      改變一個分割槽的系統ID

       u     改變現實記錄單位

       v     驗證分割槽表

       w     儲存退出

       x     附加功能

3.1.4 重新讀取分割槽表資訊

       $ partprobe

3.1.5 格式化分割槽

       $ mkfs -t ext4 /dev/sdb1               只有主分割槽和邏輯分割槽可以被格式化,擴充套件分割槽不行

3.1.6 建立掛載點並掛載

       $ mkdir /disk1

       $ mount /dev/sdb1 /disk1/

3.2 分割槽自動掛載與fstab修復

3.2.1 /etc/fstab 檔案

       第1欄位:分割槽裝置檔案或UUID(硬碟通用唯一識別碼)

       第2欄位:掛載點

       第3欄位:檔案系統名稱

       第4欄位:掛載引數

       第5欄位:指定分割槽是否被dump備份,0代表不備份,1代表每天備份,2代表不定期備份

       第6欄位:制定分割槽是否被fsck檢測,0代表不檢測,其他數字代表檢測的優先順序,那麼當然1的優先順序比2高

3.2.2 分割槽自動掛載

       $ vi /etc/fstab

              /dev/sdb1        /disk1             ext4        defaults          1 2

       $ mount -a             依據配置檔案/etc/fstab的內容,自動掛載

3.2.3 /etc/fstab檔案修復

       $ mount -o remount,rw /

4. 分配swap分割槽

4.1 free命令

       $ free             檢視記憶體與swap分割槽使用情況

       cached(快取)是指把讀取出來的資料儲存在記憶體當中,當再次讀取時,不用讀取硬碟而直接從記憶體當中讀取,加快了資料的讀取過程

       buffer(緩衝)是指在寫入資料是,先把分散的寫入操作儲存到記憶體當中,當達到一定程度再集中寫入硬碟,減少了磁碟碎片核心硬碟的反覆尋到,加速了資料的寫入過程

4.2 新建swap分割槽

       $ fdisk /dev/sdb             別忘記把分割槽ID改為82

4.3 格式化

       $ mkswap /dev/sdb6

4.4 加入swap分割槽

       $ swapon /dev/sdb6       加入swap分割槽

       $ swapoff /dev/sdb6       取消swap分割槽

4.5 swap分割槽開機自動掛載

       $ vi /etc/fstab

       /dev/sdb6        swap       swap      defaults          0 0