linux文件系統

一、linux主要的文件系統類型

①ext(2/3/4) xfs ffs ufs jfs vfat ntfs

②交換文件系統swap

③網絡文件系統nfs smbfs

④分佈式文件系統ceph

⑤光盤文件系統 isso9660

linux最傳統的文件系統是使用的EXT,所以要了解linux的文件系統,首先從ext開始。ext有ext2、ext3、ext4等ext2不支持日誌功能。

二、創建分區

查看分區

fdisk -l [DEVICE]..

創建分區

fdisk [DEVICE]

交互式界面的命令

p 顯示磁盤分區表

n new 新建分區

d delete 刪除分區

t 修改分區系統的id

L 列出系統已經有的id

w 保存退出

q 不保存退出

腳本中怎麼進行交互式?以下爲創建一個20G的邏輯分區

echo '

n

+20G

w'|fdisk /dev/sda

 

對於已經有分區在使用的磁盤來說,新建的分區需要內核重新讀取其分區

centos6 kpart -af [DEVICE]

         part -a [DEVICE] 

三、創建文件系統(格式化)

mkfs -t FSTYPE [DEVICE]

例:mkfs -t ext3 sda3=mkfs.ext3 sda3

將磁盤sda3格式化成ext3文件系統。

不過一般對於ext系統文件系統我們通過mke2fs的命令,其功能將更強大

mke2fs 

  -t {ext2|ext3|ext4}:指定文件系統
  -b {1024|2048|4096}:指定塊大小
  -L LABEL: 打標   mke2fs -L LABEL=e2label DEVICE LABEL
  -j: 相當於 -t ext3
  -i #: 每多少字節給創建一個inode,此字節數不應該少小塊大小
  -N #: 直接指定可用的inode數;
  -m #: 指定預留空間佔整個分區空間的百分比;默認爲5;

  -O:指定分區特性

blkid: 查看指定塊設備的信息

 e2label:查看或設定卷標
  e2label DEVICE [LABEL]

 查看超級塊信息:
  # tune2fs -l DEVICE
  # dumpe2fs -h DEVICE

 修改分區屬性:tune2fs
  塊大小無法調整;

  -j: ext2 --> ext3
  -L LABEL:修改卷標
  -m #: 修改預留空間百分比;
  -O [^]FEATURE: 啓用指定特性,特性前加^,表示關閉此種特性

  -o [^]mount-options: 開啓或關閉指定的掛載選項

 因進程意外中止或系統崩潰等情況導入寫入操作非正常中止時,可能會導致文件損壞;此時,應該修復文件系統:
  注意:離線修復

  fsck
   -t fstype
   -a: 自動修復錯誤
   -r: 交互式修復錯誤

  e2fsck: 專用於修改ext系列文件系統
   -y: 對問題自動回答爲yes
   -f: 強制進行檢測

四、掛載

 

默認只有管理員纔有權限
  將額外的分區與根文件系統上的某目錄建立關聯關係的過程;
   目錄中的原有文件會被隱藏

  掛載點:另一個文件系統的訪問入口

  掛載: mount DEVICE MOUNT_POINT

   固定掛載點:/mnt, /media

   mount [option]... [-t fstype] [-o option]  設備  掛載點
    掛載點:
     1、事先存在;
     2、使用空閒目錄;

    常用的掛載選項:
     -t fstype:指定文件系統類型
     -r: readonly, 只讀掛載
     -w: read and write, 讀寫掛載
     -L LABEL:以卷標方式指定設備, mount -L MYDATA 掛載點
     -U UUID: 以UUID的方式指定設備,mount UUID='uuid' 掛載點, mount -U uuid 掛載點
     -a: 自動掛載所有(/etc/fstab文件中定義的)的支持自動掛載設備
     -n: 掛載時,不更新/etc/mtab文件

    -o option:
     async:異步I/O,數據寫操作先於內存完成,而後再根據某種策略同步至持久設備中
     sync: 同步I/O,
     atime/noatime: 文件和目錄被訪問時是更新最近一次的訪問時間戳
     auto/noauto:設備是否支持mount的-a選項自動掛載
     diratime/nodiratime: 目錄被訪問時是更新最近一次的訪問時間戳
     dev/nodev: 是否支持在此設備上使用設備;
     exec/noexec: 是否允許執行此設備上的二進制程序文件
     suid/nosuid: 是否支持在此設備的文件上使用suid
     remount: 重新掛載,通常用於不卸載的情況下重新指定掛載選項
     ro: 只讀
     rw: 讀寫
     user/nouser: 是否允許普通掛載此文件設備
     acl: 在此設備是支持使用facl,默認不支持;

    例如:以指定掛載後支持acl爲例:
     方法1:
      mount -o acl DEVICE MOUNT_POINT

     方法2:
      tune2fs -o acl DEVICE
       爲設備設定默認掛載選項

      mount DEVICE MOUNT_POINT


   查看所有已經掛載的設備:
    # mount
    # cat /proc/mounts
    # cat /etc/mtab

    卸載:掛載點沒有被進程訪問時方可以卸載 ;


  卸載:umount DEVICE
     umount MOUNT_POINT

    查看哪些進程正在訪問掛載的設備:
     fuser -v 掛載點

    中止正在此掛載點的進程:
     fuser -km 掛載點

  df: disk free
   -h: human-readable
   -i: 顯示inode的使用信息而非默認的磁盤空間使用信息

  du: disk usage  每個大小
   -s:  總大小(summary)
   -h:  顯示可識別的單位

五、swap分區

mkswap

  free: 查看內存及交換分區的使用信息

  啓用某交換分區設備
   swapon [DEVICE]
    -a: all, 啓用所有交換分區
    -p #: 指定此交換設備的優先級

  禁用某交換分區設備
   swapoff [DEVICE]
    -a: 禁用所有

 自動掛載的設備的配置文件:/etc/fstab
  6字段:
   掛載的設備:
    設備文件
    LABEL
    UUID
   掛載點:
   文件系統類型
   掛載選項:
    掛載選項可以有多個,彼此間使用逗號分隔;
   轉儲頻率:
    0:從不轉儲
    1: 每天轉儲
    2: 每隔一天
   自檢次序:
    0:不自檢,額外創建的文件系統都無須自動自檢
    1:首先自檢,通常只有根文件系統需要首先自檢
    2:次級自檢,不同的設備可以使用同一個自檢次序
    3
    ...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章