1. 程式人生 > >Linux命令(二十三) 磁盤管理命令(一) df,du,tune2fs

Linux命令(二十三) 磁盤管理命令(一) df,du,tune2fs

window recover pre ron 目錄 磁盤空間使用情況 字節 文件夾 number

一、 查看磁盤占用空間情況 df

df 命令用於查看硬盤空間的使用情況,還可以查看硬盤分區的類型或 inode 節點的使用情況等。

df 命令常用參數如下:

-a  顯示所有文件系統的磁盤使用情況,包括0塊(block)的文件系統,如 /proc 文件系統
-k  以 k 字節為單位顯示
-i  顯示 i 節點信息,而不是磁盤塊
-t  顯示各指定類型的文件系統的磁盤空間使用情況
-x  列出不是某一指定類型文件系統的磁盤空間的使用情況(與 t 選項相反)
-T  顯示文件系統類型

df 命令使用實例:

  • 查看當前系統所有分區使用情況,h表示以可讀方式顯示當前磁盤空間,類似參數還有k,m等
[hk@localhost ~]$ df -ah
Filesystem           Size  Used Avail Use% Mounted on
sysfs                   0     0     0    - /sys
proc                    0     0     0    - /proc
devtmpfs             463M     0  463M   0% /dev
securityfs              0     0     0    - /sys/kernel/security
tmpfs                488M     0  488M   0% /dev/shm
devpts                  0     0     0    - /dev/pts
tmpfs                488M   13M  475M   3% /run
tmpfs                488M     0  488M   0% /sys/fs/cgroup
  • 查看每個分區 inode 節點使用情況
   [hk@localhost ~]$ df -i
   Filesystem            Inodes IUsed    IFree IUse% Mounted on
   devtmpfs              118349   358   117991    1% /dev
   tmpfs                 124703     1   124702    1% /dev/shm
   tmpfs                 124703   444   124259    1% /run
   tmpfs                 124703    14   124689    1% /sys/fs/cgroup
   /dev/mapper/cl-root 19394560 40825 19353735    1% /
   /dev/sda1             524288   338   523950    1% /boot
   tmpfs                 124703     1   124702    1% /run/user/1000
   tmpfs                 124703     1   124702    1% /run/user/0
  • 顯示分區類型
[hk@localhost ~]$ df -T
Filesystem          Type     1K-blocks    Used Available Use% Mounted on
devtmpfs            devtmpfs    473396       0    473396   0% /dev
tmpfs               tmpfs       498812       0    498812   0% /dev/shm
tmpfs               tmpfs       498812   12988    485824   3% /run
tmpfs               tmpfs       498812       0    498812   0% /sys/fs/cgroup
/dev/mapper/cl-root xfs       38770180 3704948  35065232  10% /
/dev/sda1           xfs        1038336  251388    786948  25% /boot
tmpfs               tmpfs        99764       0     99764   0% /run/user/1000
tmpfs               tmpfs        99764       0     99764   0% /run/user/0
  • 顯示指定文件類型的磁盤的使用情況
[hk@localhost ~]$ df -t xfs
Filesystem          1K-blocks    Used Available Use% Mounted on
/dev/mapper/cl-root  38770180 3704948  35065232  10% /
/dev/sda1             1038336  251388    786948  25% /boot

二、查看文件或目錄所占用空間 du

du 命令可以查看磁盤或某個目錄占用的磁盤空間,常見應用場景如硬盤滿時需要找到占用空間最多的目錄或文件。

du 命令常用參數如下:

-a 顯示全部目錄呃其次目錄下的每個檔案所占用的磁盤空間
-b 大小用 bytes 來表示(默認為 k bytes)
-c 最後再加上統計(默認加上)
-h 打印出可識別的格式,如 1KB,234M,5GB
--max-depth=N 只打印層級大小等於指定數值的文件夾的大小
-s 顯示各檔案大小的總和
-x 只計算同屬一個檔案系統的檔案
-L 計算所有檔案大小

du 命令使用實例

  • 統計當前文件夾的大小,默認不統計軟鏈接指向的目的文件夾
[hk@localhost ~]$ du -sh .
122M    .
  • 按層級統計文件夾大小,在定位占用磁盤打的文件夾時比較有用
[root@localhost boot]# du --max-depth=1 -h
4.0K    ./grub
8.1M    ./grub2
214M    .
[root@localhost boot]# du --max-depth=2 -h
4.0K    ./grub
0       ./grub2/themes
2.4M    ./grub2/i386-pc
3.3M    ./grub2/locale
2.5M    ./grub2/fonts
8.1M    ./grub2
214M    .

三、調整和查看文件系統參數 tune2fs

tune2fs 用於查看和調整文件系統參數,類似於windows下的異常關機啟動時的自檢,Linux下此命令可設置自檢次數和周期。

tune2fs 常用參數如下所示:

-l 查看詳細信息
-c 設置自檢次數,每掛載一次mount,count就會加1,超過次數就會強制自檢
-e 設置當錯誤發生時內核的處理方式
-i 設置自檢天數,d表示天,m為月,w為周
-m 設置預留空間
-j 用於文件系統格式轉換
-L 修改文件系統的標簽
-r 調整系統保留空間

tune2fs 使用實例:

  • 查看分區信息
 root@ubuntu:/home/hk# tune2fs -l /dev/sda1
  tune2fs 1.42.13 (17-May-2015)
  Filesystem volume name:   <none>
  Last mounted on:          /
  Filesystem UUID:          6120d692-790d-4e20-bd3b-af331e43d54f
  Filesystem magic number:  0xEF53
  Filesystem revision #:    1 (dynamic)
  Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
  Filesystem flags:         signed_directory_hash 
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
  Filesystem OS type:       Linux
  Inode count:              2559088
  Block count:              10235392
  Reserved block count:     511769
  Free blocks:              9163524
  Free inodes:              2359392
  First block:              0
  Block size:               4096
  Fragment size:            4096
  Reserved GDT blocks:      1021
  Blocks per group:         32768
  Fragments per group:      32768
  Inodes per group:         8176
  Inode blocks per group:   511
  Flex block group size:    16
  Filesystem created:       Sun Jun 10 09:39:28 2018
  Last mount time:          Sun Jun 17 14:15:46 2018
  Last write time:          Sun Jun 17 14:15:39 2018
  Mount count:              7
  Maximum mount count:      -1
  Last checked:             Sun Jun 10 09:39:28 2018
  Check interval:           0 (<none>)
  Lifetime writes:          8116 MB
  Reserved blocks uid:      0 (user root)
  Reserved blocks gid:      0 (group root)
  First inode:              11
  Inode size:               256
  Required extra isize:     28
  Desired extra isize:      28
  Journal inode:            8
  Default directory hash:   half_md4
  Directory Hash Seed:      c67d66dc-ddab-475d-be4b-1fefb58c6656
  Journal backup:           inode blocks
  root@ubuntu:/home/hk# 
  • 設置半年後自檢
root@ubuntu:/home/hk# tune2fs -i 1m /dev/sda1
tune2fs 1.42.13 (17-May-2015)
Setting interval between checks to 2592000 seconds
  • 設置當磁盤發生錯誤是重新掛載為只讀方式
root@ubuntu:/home/hk# tune2fs -e remount-ro /dev/sda1
tune2fs 1.42.13 (17-May-2015)
Setting error behavior to 2
  • 設置磁盤永久不自檢
root@ubuntu:/home/hk# tune2fs -c -1 -i 0 /dev/sda1
tune2fs 1.42.13 (17-May-2015)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds

Linux命令(二十三) 磁盤管理命令(一) df,du,tune2fs