linux磁盤管理及文件系統

linux磁盤管理及文件系統

硬盤存儲術語
?    head:磁頭 ?

        track:磁道 ?

        cylinder: 柱面 ?

        secotr: 扇區,512bytes

分區
?   兩種分區方式:MBR,GPT ?

       MBR:

               Master Boot Record,1982年,使用32位表示扇區 數,分區不超過2T ?

       如何分區:

               按柱面 ?

       0磁道0扇區:

              512bytes 446bytes: boot loader

              64bytes:分區表

             16bytes: 標識一個分區

             2bytes: 55AA ?

            4個主分區;3主分區+1擴展(N個邏輯分區)

        GPT:

                GUID patition table 支持128個分區,使用64位,支 持8Z( 512Byte/block )64Z ( 4096Byte/block) ?

                使用128位UUID 表示磁盤和分區 GPT分區表自動備份在頭 和尾兩份,并有CRC校驗位 ?

                UEFI (統一擴展固件接口)硬件支持GPT

Linux磁盤管理常用三個命令為df、du和fdisk。

         df:列出文件系統的整體磁盤使用量 

         du:檢查磁盤空間使用量

         fdisk:用于磁盤分區

df命令

      df命令參數功能:檢查文件系統的磁盤空間占用情況??梢岳迷撁顏慝@取硬盤被占用了多少空間,目前還剩下多少空間等信息。

語法:

        df +選項+文件

選項與參數:

  • -a :列出所有的文件系統,包括系統特有的 /proc 等文件系統;

  • -k :以 KBytes 的容量顯示各文件系統;

  • -m :以 MBytes 的容量顯示各文件系統;

  • -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;

  • -H :以 M=1000K 取代 M=1024K 的進位方式;

  • -T :顯示文件系統類型, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出;

  • -i :不用硬盤容量,而以 inode 的數量來顯示

列出所有文件系統   df -a

image.png

將容量結果以易讀的容量格式顯示出來    df -h

image.png

將系統內的所有特殊文件格式及名稱都列出來   df -aT

image.png

將 /etc 底下的可用的磁盤容量以易讀的容量格式顯示   df -h /etc

image.png

du命令

linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對文件和目錄磁盤使用的空間的查看,還是和df命令有一些區別的,這里介紹Linux du命令

語法  du + 選項+文件或者目錄名稱

選項與參數:

  • -a :列出所有的文件與目錄容量,因為默認僅統計目錄底下的文件量而已。

  • -h :以人們較易讀的容量格式 (G/M) 顯示;

  • -s :列出總量而已,而不列出每個各別的目錄占用容量;

  • -S :不包括子目錄下的總計,與 -s 有點差別。

  • -k :以 KBytes 列出容量顯示;

  • -m :以 MBytes 列出容量顯示;

實例:

列出/etc所有的文件目錄容量    du -a

image.png

與 df 不一樣的是,du 這個命令其實會直接到文件系統內去搜尋所有的文件數據。


分區工具fdisk和gdisk

語法:

     fdisk +選項+裝置名

     gaisk+選項+裝置名

          -l :輸出后面接的裝置所有的分區內容。若僅有 fdisk -l 時, 則系統將會把整個系統內能夠搜尋到的裝置的分區均列出來

image.png


創建分區

image.png

子命令: ?

       p 分區列表 ?

       t 更改分區類型 ?

       n 創建新分區 ?

       d 刪除分區 ?

       w 保存并退出 ?

       q 不保存并退出

 查看內核是否已經識別新的分區:

           # cat /proc/partitions

image.png

       通知內核重新讀取硬盤分區表

        新增分區用

               partx -a -n M:N /dev/DEVICE

               kpartx -a /dev/DEVICE -f: force

       刪除分區用

               partx -d -n M:N /dev/DEVICE centos6: –nr N-M ?

    CentOS 5,7: 使用partprobe ?

     partprobe [/dev/DEVICE]


parted命令 ?

        parted的操作都是實時生效的,小心使用 ?

            用法:

                   parted [選項]… [設備 [命令 [參數]…]…]

                   parted /dev/sdb mklabel gpt|msdos

                   parted /dev/sdb print parted /dev/sdb mkpart primary 1 200 (默認M)

                   parted /dev/sdb rm 1

                   parted -l

文件系統
?    文件系統是操作系統用于明確存儲設備或分區上的文件的方 法和數據結構;即在存儲設備上組織文件的方法。操作系統 中負責管理和存儲文件信息的軟件結構稱為文件管理系統, 簡稱文件系統。 ?

        從系統角度來看,文件系統是對文件存儲設備的空間進行組 織和分配,負責文件存儲并對存入的文件進行保護和檢索的 系統。具體地說,它負責為用戶建立文件,存入、讀出、修 改、轉儲文件,控制文件的存取,安全控制,日志,壓縮, 加密等。

文件系統類型
?    Linux文件系統: ext2, ext3, ext4, xfs(SGI), btrfs( Oracle), reiserfs, jfs(AIX), swap swap: 交換分區 光盤:iso9660 ?

       Windows:fat32, ntfs ?

       Unix: FFS(fast), UFS(unix), JFS2 ?

       網絡文件系統:NFS, CIFS ?

       集群文件系統:GFS2, OCFS2(oracle) ?

       分布式文件系統:ceph, moosefs, mogilefs, glusterfs, Lustre ?

       RAW:未經處理或者未經格式化產生的文件系統

文件系統分類
?   根據其是否支持"journal"功能:

             日志型文件系統: ext3, ext4, xfs, …

             非日志型文件系統: ext2, vfat ?

      文件系統的組成部分:

             內核中的模塊:ext4, xfs, vfat

             用戶空間的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat ?

       Linux的虛擬文件系統:VFS ?

       查前支持的文件系統:cat /proc/filesystems

磁盤格式化(創建文件系統)

       磁盤分割完畢后自然就是要進行文件系統的格式化,格式化的命令非常的簡單,使用 mkfs(make filesystem) 命令。

       語法:mkfs [-t 文件系統格式] 裝置文件名

mkfs命令:

      (1) # mkfs.FS_TYPE /dev/DEVICE ext4 xfs btrfs vfat

image.png

      (2) # mkfs -t FS_TYPE /dev/DEVICE -L 'LABEL': 設定卷標

image.png

創建ext文件系統

    ?mke2fs:ext系列文件系統專用管理工具

                   -t {ext2|ext3|ext4}

                   -b {1024|2048|4096}

                   -L 'LABEL'

                   -j: 相當于 -t ext3 mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

                   -i #: 為數據空間中每多少個字節創建一個inode;此大 小不應該小于block的大小

                   -N #:為數據空間創建個多少個inode

                   -I 一個inode記錄大小128—4096

                   -m #: 默認5%,為管理人員預留空間占總空間的百分比

                   -O FEATURE[,…]:啟用指定特性

                   -O ^FEATURE:關閉指定特性

        blkid:塊設備屬性信息查看

                blkid [OPTION]… [DEVICE]

                       -U UUID: 根據指定的UUID來查找對應的設備

image.png

                       -L LABEL:根據指定的LABEL來查找對應的設備 ?

                       e2label:管理ext系列文件系統的LABEL # e2label DEVICE [LABEL]

           ?findfs :查找分區

                       findfs [options] LABEL=<label>

                       findfs [options] UUID=<uuid>

tune2fs
?    tune2fs:重新設定ext系列文件系統可調整參數的值

                    -l:查看指定文件系統超級塊信息;super block

                    -L 'LABEL':修改卷標

                    -m #:修預留給管理員的空間百分比

                    -j: 將ext2升級為ext3

                    -O: 文件系統屬性啟用或禁用,

                    –O ^has_journal

                   -o: 調整文件系統的默認掛載選項,–o ^acl

                    -U UUID: 修改UUID號 ?

          dumpe2fs:

                    -h:查看超級塊信息(分組信息),分區用分組管理

磁盤檢驗

       fsck(file system check)用來檢查和維護不一致的文件系統。
      若系統掉電或磁盤發生問題,可利用fsck命令對文件系統進行檢查。

語法:fsck [-t 文件系統] [-ACay] 裝置名稱

選項與參數:

  • -t : 給定檔案系統的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此參數

  • -s : 依序一個一個地執行 fsck 的指令來檢查

  • -A : 對/etc/fstab 中所有列出來的 分區(partition)做檢查

  • -C : 顯示完整的檢查進度

  • -d : 打印出 e2fsck 的 debug 結果

  • -p : 同時有 -A 條件時,同時有多個 fsck 的檢查一起執行

  • -R : 同時有 -A 條件時,省略 / 不檢查

  • -V : 詳細顯示模式

  • -a : 如果檢查有錯則自動修復

  • -r : 如果檢查有錯則由使用者回答是否修復

  • -y : 選項指定檢測每個文件是自動輸入yes,在不確定那些是不正常的時候,可以執行 # fsck -y 全部檢查修復。

查看系統有多少文件系統支持的 fsck 命令

image.png

檢查分區/dev/sdc2

image.png

掛載mount ?

      掛載:    將額外文件系統與根文件系統某現存的目錄建立起關聯 關系,進而使得此目錄做為其它文件訪問入口的行為

      卸載:   為解除此關聯關系的過程 ?

      把設備關聯掛載點:mount Point mount ?

      卸載時:可使用設備,也可以使用掛載點 umount ?

      掛載點下原有文件在掛載完成后會被臨時隱藏 ?

      掛載點目錄一般為空

Linux 的磁盤掛載使用 mount 命令,卸載使用 umount 命令

語法:mount [-t 文件系統] [-L Label名] [-o 額外選項] [-n]  裝置文件名  掛載點

image.png

image.png

mount常用命令選項 ?

          -t vsftype:指定要掛載的設備上的文件系統類型 ?

          -r: readonly,只讀掛載

      ?-w: read and write, 讀寫掛載 ?

          -n: 不更新/etc/mtab,相當于#mount ?

          -a:自動掛載所有支持自動掛載的設備(定義在了/etc/fstab 文件中,且掛載選項中有auto功能)

       ?-L 'LABEL': 以卷標指定掛載設備 ?

          -U 'UUID': 以UUID指定要掛載的設備 ?

          -B, –bind: 綁定目錄到另一個目錄上 ?

      查看內核追蹤到的已掛載的所有設備:

          cat /proc/mounts

image.png

mount常用命令選項
?   -o options:(掛載文件系統的選項),多個選項使用逗號分隔

       async:異步模式

       sync:同步模式,內存更改時,同時寫磁盤

       atime/noatime:包含目錄和文件

       diratime/nodiratime:目錄的訪問時間戳

       auto/noauto:是否支持自動掛載,是否支持-a選項

       exec/noexec:是否支持將文件系統上運行應用程序

       dev/nodev:是否支持在此文件系統上使用設備文件

       suid/nosuid:不否支持suid和sgid權限

       remount:重新掛載

       ro:只讀

       rw:讀寫

       user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載

       acl:啟用此文件系統上的acl功能 ?

       Defaults:相當于rw, suid, dev, exec, auto, nouser, async

卸載命令
?   查看掛載情況: #findmnt MOUNT_POINT ?

       查看正在訪問指定文件系統的進程:

               #lsof MOUNT_POINT #fuser -v MOUNT_POINT ?

       終止所有在正訪問指定的文件系統的進程:

               # fuser -km MOUNT_POINT ?

       卸載:

             # umount DEVICE

             # umount MOUNT_POINT

選項與參數:

  • -f :強制卸除!可用在類似網絡文件系統 (NFS) 無法讀取到的情況下;

  • -n :不升級 /etc/mtab 情況下卸除。

image.png

注:  顯示塊文件的三種方法

  1、lsblk

  2、ll /dev/sd*

  3、cat /proc/partitions


原創文章,作者:xiaoqiang512,如若轉載,請注明出處:http://www.www58058.com/40221

(0)
xiaoqiang512xiaoqiang512
上一篇 2016-08-26
下一篇 2016-08-26

相關推薦

  • sed的詳細用法

    sed(Stream EDitor)是一款流編輯器,用來對文本進行過濾與替換操作。其原理是:通過文件或管道讀取文件內容,但是sed默認并不直接修改源文件,而是一次僅讀取文件的一行至模式空間(pattern space)根據sed指令進行編輯并輸出結果后清除模式空間,即所有的操作都是在模式空間中進行的。 語法格式 sed [option]…&nb…

    Linux干貨 2016-11-14
  • Net-25第5周作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; grep -E "^[[:space:]]+" /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; grep&nbsp…

    Linux干貨 2017-01-03
  • Linux入門之Centos6 和Centos7的安裝

    在安裝Centos6 和Centos7 之前,首先VMware需要安裝完成,所需鏡像CentOS-6.9-x86_64-bin-DVD1和CentOS-7-x86_64-Everything-1611(本次實驗所用的版本)準備好,然后開啟VMware,進行安裝之旅,在安裝過程中,Centos6 和Centos7 在前15步的配置是一樣的步驟,在16步開啟虛擬…

    2017-07-15
  • N22-第24周博客作業——-虛擬化技術

    虛擬化技術—基礎(1) 本文圍繞下面3個問題進行對虛擬化技術展開討論: 1、虛擬化技術實現方式有哪些?虛擬化技術分哪些? 2、請分別通過kvm、xen工具來實現虛擬化系統的部署? 3、請描述openstack、kvmqemu-kv、libvirt及xen之間的關系。 虛擬化誕生和發展     1961年 IBM709…

    Linux干貨 2016-10-17
  • 數據分析≠Hadoop+NoSQL,不妨先看完善現有技術的10條捷徑

    讓業務搭乘大數據技術確實是件非常有吸引力的事情,而Apache Hadoop讓這個誘惑來的更加的猛烈。Hadoop是個大規??蓴U展數據存儲平臺,構成了大多數大數據項目基礎。Hadoop是強大的,然而卻需要公司投入大量的學習精力及其它的資源。 如果得到正確的應用,Hadoop確實能從根本上提升你公司的業務,然而這條Hadoop的應用之路卻充滿了荊棘。另一個方面…

    Linux干貨 2015-02-25
  • 自建repo軟件倉庫

    近期主要使用的aliyun的源,主要會用到centos6、zabbix、epel和xen等,由于網絡質量不佳,考慮到自建軟件倉庫 第一步,刪除系統自導的源,新建ali.repo,將常用的幾個源地址加入 # rm /etc/yum.repos.d/*.repo -fr # vim /etc/yum.repos.…

    Linux干貨 2016-05-19

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-26 11:26

    linux磁盤和文件系統管理是基礎知識,對于分區工具,格式化工具等都需要能熟練運用,文章對這些知識總結的很全面你,建議下來多加練習。

欧美性久久久久