当然!下面给你详细讲解 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. du
与df
的区别
命令 | 作用 | 查看对象 |
---|---|---|
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/*
发表回复