当然!下面给你详细讲解 Linux 中常用的磁盘查看命令 df -h,帮你全面理解其作用和用法。


Linux 查看磁盘空间命令:df -h详解


1. 什么是 df 命令?

  • df(disk free)命令用于显示文件系统的磁盘空间使用情况。
  • 可以查看磁盘总容量、已用容量、剩余容量和挂载点等信息。

2. 命令格式

df [选项] [文件或目录]
  • 如果不带任何参数,默认显示所有挂载的文件系统使用情况。
  • 也可以指定目录,只查看该目录所在分区的磁盘情况。

3. 常用选项

选项含义
-h以人类可读的格式显示,单位自动转换为 KB、MB、GB 等
-T显示文件系统类型
-a显示所有文件系统(包括0块的)
-i显示inode使用情况
--total显示所有文件系统的总计

4. 使用示例及解析

4.1 基本用法

df -h

示例输出:

文件系统        容量  已用  可用 已用% 挂载点
/dev/sda1       50G   20G   28G   42% /
tmpfs          3.9G  2.0M  3.9G    1% /dev/shm
/dev/sdb1      100G   75G   20G   80% /data

解释:

  • 文件系统:磁盘分区设备名或挂载点
  • 容量:总容量
  • 已用:已使用的空间
  • 可用:剩余空间
  • 已用%:已用空间占总容量的百分比
  • 挂载点:该分区挂载到的路径

4.2 查看指定目录的磁盘信息

df -h /home

输出只显示 /home 目录所在的分区信息。


4.3 显示文件系统类型

df -Th

示例输出:

文件系统     类型    容量  已用  可用 已用% 挂载点
/dev/sda1   ext4     50G   20G   28G   42% /
tmpfs       tmpfs   3.9G  2.0M  3.9G    1% /dev/shm
/dev/sdb1   xfs     100G   75G   20G   80% /data
  • 类型:显示文件系统格式,如 ext4、xfs、tmpfs 等。

4.4 显示inode信息

df -i

输出示例:

文件系统       Inodes   IUsed    IFree IUse% 挂载点
/dev/sda1    3276800  200000   3076800    7% /
tmpfs        1000000      10    999990    1% /dev/shm
  • inode 是文件系统中用于存储文件元信息的数据结构。
  • 该命令显示 inode 总数、已用和剩余情况。

5. 总结

作用示例命令说明
查看所有分区空间df默认以块数显示
人类可读格式df -h以KB/MB/GB等更友好的单位显示
查看文件系统类型df -Th显示文件系统类型和挂载点
查看inode使用情况df -i查看inode总数和使用情况
查看指定目录分区df -h /home显示指定目录所在磁盘空间信息

好的,下面给你详细介绍 Linux 下的 du 命令,并对比它和 df 的不同用途,同时还附带磁盘分区、挂载的实战示范,以及磁盘故障诊断与空间清理技巧。


一、du命令详解及用法对比


1. 什么是 du

  • du(disk usage)用于显示指定文件或目录所占用的磁盘空间大小。
  • 常用于查找哪些文件或目录占用了大量空间。

2. 常用选项

选项说明
-h以人类可读的格式显示(KB、MB、GB)
-s只显示总结(不显示子目录)
-a显示所有文件和目录的大小
-c统计总大小
--max-depth=N只显示指定深度的目录大小
-x限制在同一文件系统内

3. 使用示例

3.1 查看当前目录每个子目录大小(人类可读)

du -h --max-depth=1

输出示例:

12M ./Documents
50M ./Downloads
5M  ./Pictures
67M .
  • 最后一行 67M . 是当前目录总大小。

3.2 查看某个文件夹总大小

du -sh /var/log

输出示例:

150M /var/log

3.3 显示所有文件和目录大小

du -ah /home/user

4. dudf的区别

命令作用查看对象
df显示磁盘分区使用情况文件系统或磁盘分区
du显示目录或文件占用的空间大小目录和文件

简单说,df是“从磁盘层面看空间”,du是“从文件层面看空间”。


二、Linux磁盘分区与挂载实战


1. 查看磁盘和分区信息

lsblk

示例:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk
├─sda1   8:1    0   50G  0 part /
├─sda2   8:2    0   30G  0 part /data
└─sda3   8:3    0   20G  0 part [SWAP]

2. 创建新分区(使用 parted)

sudo parted /dev/sda

进入 parted 后,示例操作:

(parted) mkpart primary ext4 50GB 100GB
(parted) quit

3. 格式化分区

sudo mkfs.ext4 /dev/sda2

4. 挂载分区

sudo mkdir /data
sudo mount /dev/sda2 /data

5. 设置开机自动挂载

编辑 /etc/fstab,添加:

/dev/sda2   /data   ext4    defaults    0 2

三、磁盘故障诊断与空间清理技巧


1. 检查磁盘错误

sudo smartctl -a /dev/sda

需要安装 smartmontools:

sudo apt install smartmontools

2. 文件系统检查

卸载分区后执行:

sudo umount /dev/sda2
sudo fsck -y /dev/sda2

3. 查找大文件

sudo find / -type f -size +500M -exec ls -lh {} \;

4. 清理无用文件

  • 清理APT缓存:
sudo apt clean
sudo apt autoremove
  • 清理日志文件:
sudo journalctl --vacuum-size=100M
  • 查找并删除临时文件:
sudo rm -rf /tmp/*