Linux磁盤管理

Linux 磁盤管理

Linux磁盤管理好壞關係到整個Linux系統的性能問題。node

Linux磁盤管理經常使用三個命令爲df、du和fdisk。linux

  • df:列出文件系統的總體磁盤使用量
  • du:檢查磁盤空間使用量
  • fdisk:用於磁盤分區

 

df

df命令參數功能:檢查文件系統的磁盤空間佔用狀況。能夠利用該命令來獲取硬盤被佔用了多少空間,目前還剩下多少空間等信息。centos

語法:bash

df [-ahikHTm] [目錄或文件名]

選項與參數:網絡

  • -a :列出全部的文件系統,包括系統特有的 /proc 等文件系統;
  • -k :以 KBytes 的容量顯示各文件系統;
  • -m :以 MBytes 的容量顯示各文件系統;
  • -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;
  • -H :以 M=1000K 取代 M=1024K 的進位方式;
  • -T :顯示文件系統類型, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出;
  • -i :不用硬盤容量,而以 inode 的數量來顯示

實例1:session

[root@bogon ~]# df 文件系統 1K-塊    已用     可用 已用% 掛載點 /dev/mapper/centos-root 33529860 6094388 27435472   19% / devtmpfs 914676       0   914676    0% /dev tmpfs 931624       0   931624    0% /dev/shm tmpfs 931624   10712   920912    2% /run tmpfs 931624       0   931624    0% /sys/fs/cgroup /dev/sda1                1038336  182664   855672   18% /boot tmpfs 186328       4   186324    1% /run/user/42 tmpfs 186328      36   186292    1% /run/user/1000 tmpfs 186328       0   186328    0% /run/user/0

命令 df 將系統內全部的文件系統列出來!app

在 Linux 底下若是 df 沒有加任何選項,那麼默認會將系統內全部的 (不含特殊內存內的文件系統與 swap) 都以 1 Kbytes 的容量來列出來!工具

實例2:性能

[root@bogon ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root   32G  5.9G   27G   19% / devtmpfs 894M 0  894M    0% /dev tmpfs 910M 0  910M    0% /dev/shm tmpfs 910M 11M 900M 2% /run tmpfs 910M 0  910M    0% /sys/fs/cgroup /dev/sda1               1014M  179M  836M   18% /boot tmpfs 182M 4.0K  182M    1% /run/user/42 tmpfs 182M 36K 182M 1% /run/user/1000 tmpfs 182M 0  182M    0% /run/user/0

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

實例3:

[root@bogon ~]# df -aT

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

實例4:

[root@bogon ~]# df -h /etc 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root   32G  5.9G   27G   19% /

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


du

Linux du命令也是查看使用空間的,可是與df命令不一樣的是Linux du命令是對文件和目錄磁盤使用的空間的查看,仍是和df命令有一些區別的,這裏介紹Linux du命令。

語法:

du [-ahskm] 文件或目錄名稱

選項與參數:

  • -a :列出全部的文件與目錄容量,由於默認僅統計目錄底下的文件量而已。
  • -h :以人們較易讀的容量格式 (G/M) 顯示;
  • -s :列出總量而已,而不列出每一個各別的目錄佔用容量;
  • -S :不包括子目錄下的總計,與 -s 有點差異。
  • -k :以 KBytes 列出容量顯示;
  • -m :以 MBytes 列出容量顯示;

實例1:

列出目前目錄下的全部文件容量 du -h 以人們較易讀的容量格式 (G/M) 顯示

[root@bogon ~]# du -h
4.0K ./.cache/dconf
4.0K ./.cache/abrt
8.0K ./.cache
4.0K ./.dbus/session-bus
4.0K ./.dbus
0 ./.config/abrt
0 ./.config/gconf
0 ./.config
12K ./.gnupg
64K .

直接輸入 du 沒有加任何選項時,則 du 會分析當前所在目錄的文件與目錄所佔用的硬盤空間。

實例2:

[root@bogon ~]# du -a 4    ./.bash_logout 4    ./.bash_profile 4    ./.bashrc 4    ./.cshrc ... 0    ./.gnupg/pubring.gpg 4    ./.gnupg/trustdb.gpg 12    ./.gnupg 0    ./test1 4    ./test.txt 64    .

du -a 將文件的容量也列出來

實例3:

檢查根目錄底下每一個目錄所佔用的容量

[root@www ~]# du -sm /*

通配符 * 來表明每一個目錄。

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


 

fdisk

fdisk 是 Linux 的磁盤分區表操做工具。

語法:

fdisk [-l] 裝置名稱

選項與參數:

  • -l :輸出後面接的裝置全部的分區內容。若僅有 fdisk -l 時, 則系統將會把整個系統內可以搜尋到的裝置的分區均列出來。

實例1:

列出全部分區信息

[root@bogon ~]# fdisk -l 磁盤 /dev/sda:37.6 GB, 37580963840 字節,73400320 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標籤類型:dos 磁盤標識符:0x000bf1df 設備 Boot Start End Blocks Id System /dev/sda1   *        2048     2099199     1048576   83 Linux /dev/sda2         2099200    73400319    35650560 8e Linux LVM 磁盤 /dev/mapper/centos-root:34.4 GB, 34351349760 字節,67092480 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤 /dev/mapper/centos-swap:2147 MB, 2147483648 字節,4194304 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節

實例2:

找出你係統中的根目錄所在磁盤,並查閱該硬盤內的相關信息

先使用 df / 命令查看根目錄所在磁盤

[root@bogon ~]# df / 文件系統 1K-塊    已用     可用 已用% 掛載點 /dev/mapper/centos-root 33529860 6097520 27432340   19% /

而後使用 fdisk 查閱該硬盤內的相關信息

[root@bogon ~]# fdisk /dev/mapper/centos-root 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 Device does not contain a recognized partition table 使用磁盤標識符 0xe4fc6b48 建立新的 DOS 磁盤標籤。 命令(輸入 m 獲取幫助): 注意此處輸入命令

輸入 m 後,就會看到命令介紹

命令操做 a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition <==刪除一個partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition <==新增一個partition o create a new empty DOS partition table p print the partition table <==在屏幕上顯示磁盤分割表信息 q quit without saving changes <==不儲存離開fdisk程序 s create a new empty Sun disklabel t change a partition's system id
   u   change display/entry units v verify the partition table w   write table to disk and exit               <==將剛剛的動做寫入分割表 x extra functionality (experts only) 命令(輸入 m 獲取幫助):

離開 fdisk 時按下 q,那麼全部的動做都不會生效!相反的, 按下w就是動做生效的意思。

因此不要輕易按w


 

磁盤格式化

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

語法:

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

選項與參數:

  • -t :能夠接文件系統格式,例如 ext3, ext2, vfat 等(系統有支持纔會生效)

實例 1:

查看 mkfs 支持的文件格式

[root@bogon ~]# mkfs[tab][tab] mkfs mkfs.ext2 mkfs.fat mkfs.vfat mkfs.btrfs mkfs.ext3 mkfs.minix mkfs.xfs mkfs.cramfs mkfs.ext4 mkfs.msdos 

按下兩次[tab],會發現 mkfs 支持的文件格式如上所示。

實例2:

例如將分區 /dev/hdc6(可指定你本身的分區) 格式化爲 ext3 文件系統:

[root@www ~]# mkfs -t ext3 /dev/hdc6

磁盤檢驗

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 所有檢查修復。

實例 1:

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

[root@bogon ~]# fsck[tab][tab] fsck fsck.ext2 fsck.fat fsck.vfat fsck.btrfs fsck.ext3 fsck.minix fsck.xfs fsck.cramfs fsck.ext4 fsck.msdos 

同上也是按兩下[tab]鍵查看


磁盤掛載與卸除

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

磁盤掛載語法:

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

磁盤卸載命令 umount 語法:

umount [-fn] 裝置文件名或掛載點

選項與參數:

  • -f :強制卸除!可用在相似網絡文件系統 (NFS) 沒法讀取到的狀況下;
  • -n :不升級 /etc/mtab 狀況下卸除。
相關文章
相關標籤/搜索