一、 查看磁盘占用空间情况 df

df 命令用于查看硬盘空间的使用情况,还可以查看硬盘分区的类型或 inode 节点的使用情况等。

df 命令常用参数如下:

  1. -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如 /proc 文件系统
  2. -k k 字节为单位显示
  3. -i 显示 i 节点信息,而不是磁盘块
  4. -t 显示各指定类型的文件系统的磁盘空间使用情况
  5. -x 列出不是某一指定类型文件系统的磁盘空间的使用情况(与 t 选项相反)
  6. -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 使用实例:

  • 查看分区信息 ```shell

root@ubuntu:/home/hk# tune2fs -l /dev/sda1 tune2fs 1.42.13 (17-May-2015) Filesystem volume name: 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 () 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#



- 
设置半年后自检


```shell
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