Linux df du mknod

df–显示磁盘空间使用情况

df命令的英文全称即“DiskFree”,顾名思义功能是用于显示系统上可使用的磁盘空间。默认显示单位为KB,建议使用“df -h”的参数组合,根据磁盘容量自动变换合适的单位,更利于阅读。
日常普遍用该命令可以查看磁盘被占用了多少空间、还剩多少空间等信息。
语法格式:df [参数] [指定文件]
常用参数:

-a 显示所有系统文件
-B <块大小> 指定显示时的块大小
-t <文件系统类型> 只显示指定类型的文件系统
— -sync 在取得磁盘使用信息前,先执行sync命令

image.png

1、检查文件系统磁盘空间使用情况

这 df 命令显示文件系统上的设备名称、总块数、总磁盘空间、已用磁盘空间、可用磁盘空间和挂载点信息。

  1. [root@local ~]# df
  2. Filesystem 1K-blocks Used Available Use% Mounted on
  3. /dev/cciss/c0d0p2 78361192 23185840 51130588 32% /
  4. /dev/cciss/c0d0p5 24797380 22273432 1243972 95% /home
  5. /dev/cciss/c0d0p3 29753588 25503792 2713984 91% /data
  6. /dev/cciss/c0d0p1 295561 21531 258770 8% /boot
  7. tmpfs 257476 0 257476 0% /dev/shm

2、显示所有文件系统磁盘空间使用信息

与上面相同,但它还显示虚拟文件系统的信息以及所有文件系统磁盘使用情况及其内存使用情况。

  1. [root@local ~]# df -a
  2. Filesystem 1K-blocks Used Available Use% Mounted on
  3. /dev/cciss/c0d0p2 78361192 23186116 51130312 32% /
  4. proc 0 0 0 - /proc
  5. sysfs 0 0 0 - /sys
  6. devpts 0 0 0 - /dev/pts
  7. /dev/cciss/c0d0p5 24797380 22273432 1243972 95% /home
  8. /dev/cciss/c0d0p3 29753588 25503792 2713984 91% /data
  9. /dev/cciss/c0d0p1 295561 21531 258770 8% /boot
  10. tmpfs 257476 0 257476 0% /dev/shm
  11. none 0 0 0 - /proc/sys/fs/binfmt_misc
  12. sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs

3、以人类可读的格式显示磁盘空间使用情况

有没有注意到,上面的命令以字节为单位显示信息,根本不可读,因为习惯于以兆字节、千兆字节等形式读取大小,这样很容易理解和记忆。
这df命令提供了一个选项来显示尺寸Human Readable格式通过使用’-h’(以人类可读的格式打印结果(例如,1K 2M 3G))。

  1. [root@local ~]# df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/cciss/c0d0p2 75G 23G 49G 32% /
  4. /dev/cciss/c0d0p5 24G 22G 1.2G 95% /home
  5. /dev/cciss/c0d0p3 29G 25G 2.6G 91% /data
  6. /dev/cciss/c0d0p1 289M 22M 253M 8% /boot
  7. tmpfs 252M 0 252M 0% /dev/shm

4、显示 / home 文件系统信息

查看唯一设备的信息/home人类可读格式的文件系统使用以下命令。

  1. [root@local ~]# df -hT /home
  2. Filesystem Type Size Used Avail Use% Mounted on
  3. /dev/cciss/c0d0p5 ext3 24G 22G 1.2G 95% /home

5、以字节为单位显示文件系统信息

显示所有文件系统信息和使用情况1024-byte块,使用选项’-k‘(例如--block-size=1K)如下。

  1. [root@local ~]# df -k
  2. Filesystem 1K-blocks Used Available Use% Mounted on
  3. /dev/cciss/c0d0p2 78361192 23187212 51129216 32% /
  4. /dev/cciss/c0d0p5 24797380 22273432 1243972 95% /home
  5. /dev/cciss/c0d0p3 29753588 25503792 2713984 91% /data
  6. /dev/cciss/c0d0p1 295561 21531 258770 8% /boot
  7. tmpfs 257476 0 257476 0% /dev/shm

6、以MB为单位显示文件系统信息

显示所有文件系统使用信息MB(Mega Byte) 将该选项用作 -m

  1. [root@local ~]# df -m
  2. Filesystem 1M-blocks Used Available Use% Mounted on
  3. /dev/cciss/c0d0p2 76525 22644 49931 32% /
  4. /dev/cciss/c0d0p5 24217 21752 1215 95% /home
  5. /dev/cciss/c0d0p3 29057 24907 2651 91% /data
  6. /dev/cciss/c0d0p1 289 22 253 8% /boot
  7. tmpfs 252 0 252 0% /dev/shm

7、以 GB 为单位显示文件系统信息

显示所有文件系统统计信息GB(Gigabyte) 将该选项用作 ‘df -h‘。

  1. [root@local ~]# df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/cciss/c0d0p2 75G 23G 49G 32% /
  4. /dev/cciss/c0d0p5 24G 22G 1.2G 95% /home
  5. /dev/cciss/c0d0p3 29G 25G 2.6G 91% /data
  6. /dev/cciss/c0d0p1 289M 22M 253M 8% /boot
  7. tmpfs 252M 0 252M 0% /dev/shm

8、显示文件系统 inode

使用 -i 开关将显示文件系统的已使用 inode 数量及其百分比信息。

[root@local ~]# df -i

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/cciss/c0d0p2    20230848  133143 20097705    1% /
/dev/cciss/c0d0p5    6403712  798613 5605099   13% /home
/dev/cciss/c0d0p3    7685440 1388241 6297199   19% /data
/dev/cciss/c0d0p1      76304      40   76264    1% /boot
tmpfs                  64369       1   64368    1% /dev/shm

9、显示文件系统类型

如果注意到上述所有命令输出,将看到结果中没有提到Linux 文件系统类型。要检查系统的文件系统类型,请使用选项 T。它将显示文件系统类型以及其他信息。

[root@local ~]# df -T

Filesystem  Type   1K-blocks  Used      Available Use% Mounted on
/dev/cciss/c0d0p2 ext3    78361192  23188812  51127616  32%   /
/dev/cciss/c0d0p5 ext3    24797380  22273432  1243972   95%   /home
/dev/cciss/c0d0p3 ext3    29753588  25503792  2713984   91%   /data
/dev/cciss/c0d0p1 ext3    295561     21531    258770    8%    /boot
tmpfs   tmpfs   257476         0    257476    0%   /dev/shm

10、包括某些文件系统类型

如果要显示某些文件系统类型,请使用 -t 选项。例如下面的命令只会显示 ext3 文件系统。

[root@local ~]# df -t ext3

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/cciss/c0d0p2     78361192  23190072  51126356  32% /
/dev/cciss/c0d0p5     24797380  22273432   1243972  95% /home
/dev/cciss/c0d0p3     29753588  25503792   2713984  91% /data
/dev/cciss/c0d0p1       295561     21531    258770   8% /boot

11、排除某些文件系统类型

如果要显示不属于的文件系统类型ext3键入使用选项作为 -x。例如,以下命令将只显示除ext3。

[root@local ~]# df -x ext3

Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                   257476         0    257476   0% /dev/shm

12、显示 df 命令的信息。

使用’—help’ 开关将显示与df命令。

[root@local ~]# df --help

Usage: df [OPTION]... [FILE]...
Show information about the file system on which each FILE resides,
or all file systems by default.

Mandatory arguments to long options are mandatory for short options too.
-a, --all             include dummy file systems
-B, --block-size=SIZE use SIZE-byte blocks
-h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)
-H, --si              likewise, but use powers of 1000 not 1024
-i, --inodes          list inode information instead of block usage
-k                    like --block-size=1K
-l, --local           limit listing to local file systems
--no-sync         do not invoke sync before getting usage info (default)
-P, --portability     use the POSIX output format
--sync            invoke sync before getting usage info
-t, --type=TYPE       limit listing to file systems of type TYPE
-T, --print-type      print file system type
-x, --exclude-type=TYPE   limit listing to file systems not of type TYPE
-v                    (ignored)
--help     display this help and exit
--version  output version information and exit

SIZE may be (or may be an integer optionally followed by) one of following:
kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.

Report bugs to <bug-coreutils@gnu.org>.

du–查看空间

du命令的英文全称是“DiskUsage”,即用于查看磁盘占用空间的意思。但是与df命令不同的是du命令是对文件和目录磁盘使用的空间的查看,而不是某个分区。
语法格式:du [参数] [文件]
常用参数:

-a 显示目录中所有文件大小
-k 以KB为单位显示文件大小
-m 以MB为单位显示文件大小
-g 以GB为单位显示文件大小

image.png

mknod–创建字符设备文件和块设备文件

全称为“Make Node”。Linux一切皆文件,系统与设备通信之前,要建立一个存放在/dev目录下的设备文件,默认情况下就已经生成了很多设备文件,有时候自己手动新建一些设备文件,这就会用到mknod。
语法格式:mknod [参数]
常用参数:

-Z 设置安全的上下文
-m 设置权限模式 ,缺省为读写
b 块设备
c 字符设备

lsblk-查看磁盘挂载和使用情况

image.png

findmnt 命令查找已挂载的文件系统

findmnt命令用于列出Linux中已挂载的文件系统。该命令将在/etc/fstab, /etc/mtab或者/proc/self/mountinfo中查找特定的文件系统。
findmnt命令包含在util-linux软件包中,该软件包附带了其他一些工具,例如hwclock。
Centos系统中使用下面命令安装:

[root@localhost ~]# yum -y install util-linux

这个安装包在系统中默认已安装。

Findmnt默认选项

如果未指定设备或者设备的挂载点 ,则默认情况下,此命令将提供所有已安装文件系统的列表。

[root@localhost ~]# findmnt

image.png

Findmnt的实时监视模式

findmnt命令可用于监视/proc/self/mountinfo文件中的更改。下面实例中,挂载光盘,可以看到findmnt捕获到了挂载的动作:

[root@localhost ~]# findmnt -p
ACTION     TARGET SOURCE   FSTYPE  OPTIONS
mount      /mnt   /dev/sr0 iso9660 ro,relatime,nojoliet,check=s,map=n,blocksize=2048

对/proc/self/mountinfo文件所做的任何更改都将在终端上自动更新。上图中挂载或者卸载光盘,都会捕获到动作。

类似于df输出

如果使用df命令,则findmnt命令也可以用来模拟输出。可以通过使用带有--df选项来实现此目的,如以下示例所示:

[root@localhost ~]# findmnt --df

image.png
可以看到findmnt --dfdf -hT输出的信息很相似。

Findmnt列表选项

如果不喜欢默认树状输出,则可以使用--list-l选项。这将以列表格式输出。

[root@localhost ~]# findmnt --list

image.png

从/etc/fstab文件中列出挂载信息

使用--fstab选项,将会从/etc/fstab文件中获取挂载信息。
--evaluate选项会将所有标签(例如LABEL,UUID,PARTUUID或PARTLABEL)转换为实际设备名称。该选项可以与--fstab选项结合使用,以打印文件中的所有文件系统。fstab选项以列表格式输出,因此使用--fstab时无需调用--list选项。

[root@iZuf671hry2744olton71qZ ~]# findmnt --fstab
TARGET SOURCE                                    FSTYPE OPTIONS
/      UUID=1114fe9e-2309-4580-b183-d778e6d97397 ext4   defaults
[root@iZuf671hry2744olton71qZ ~]# findmnt --fstab --evaluate
TARGET SOURCE    FSTYPE OPTIONS
/      /dev/vda1 ext4   defaults

image.png

显示指定类型的文件系统

此选项可以限制打印文件系统的集合。可以指定多个文件系统,并以逗号分隔。在此示例中,该命令将搜索ext4,xfs和vfat文件系统。

[root@localhost ~]# findmnt -t ext4,xfs,vfat

image.png

总结

可以根据需要尝试不同的findmnt选项。findmnt命令用于列出Linux中已挂载的文件系统。该命令将在/etc/fstab, /etc/mtab或者/proc/self/mountinfo中查找特定的文件系统。