📌  相关文章
📜  磁盘使用 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:56:31.748000             🧑  作者: Mango

磁盘使用 - Shell/Bash

在 Shell/Bash 中,可以使用一些命令来查看和管理磁盘使用情况。以下是常用的磁盘使用命令和操作。

查看磁盘空间使用情况
df

df 命令用于查看文件系统的磁盘空间使用情况。

$ df

输出类似以下内容:

Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1       49108428 13974308  32786268  30% /
udev              10240        0     10240   0% /dev
tmpfs            411484      676    410808   1% /run
none               5120        0      5120   0% /run/lock
none              82856       36     82820   1% /run/shm

其中 Filesystem 是文件系统类型, 1K-blocks 是总块数, Used 是已用块数, Available 是可用块数, Use% 是已用百分比, Mounted on 是挂载点。

du

du 命令用于查看目录或文件的磁盘空间使用情况。

$ du [参数] [目录或文件名]

其中参数可以使用 -h 表示以人类可读的方式显示输出。

ls

ls 命令可以用来查看当前目录下的文件大小。

$ ls -lh

输出类似以下内容:

total 24K
drwxr-xr-x  2 user user 4.0K Sep  3 14:01 Desktop
drwxr-xr-x  2 user user 4.0K Sep  3 14:01 Documents
drwxr-xr-x  2 user user 4.0K Sep  3 14:01 Downloads
drwxr-xr-x  2 user user 4.0K Sep  3 14:01 Music
drwxr-xr-x  2 user user 4.0K Sep  3 14:01 Pictures
drwxr-xr-x  2 user user 4.0K Sep  3 14:01 Public
drwxr-xr-x  2 user user 4.0K Sep  3 14:01 Templates
drwxr-xr-x  2 user user 4.0K Sep  3 14:01 Videos

其中 -h 参数同样表示以人类可读的方式显示输出。

清理磁盘空间
rm

rm 命令可以用来删除文件或目录。

$ rm [参数] [文件或目录名]

其中参数可以使用 -r 表示递归删除目录。

find

find 命令可以用来查找符合条件的文件。

$ find [目录名] [条件表达式]

例如,以下命令将删除 /tmp 文件夹中超过 30 天未访问的文件:

$ find /tmp -atime +30 -delete
磁盘容量不足警报
alert

可以在 crontab 中设置脚本来定期检查磁盘使用情况,达到一定阈值时发送警报邮件。

#!/bin/sh

SPACE=$(df | awk '{print $5}' | tail -n 1 | sed 's/%//')
THRESHOLD=90

if [ "$SPACE" -ge "$THRESHOLD" ]; then
    echo "Warning: Disk space is low!"
    # 发送邮件
fi

以上脚本通过 df 命令获取磁盘使用情况,并通过判断使用百分比是否超过阈值来发送警报邮件。

总结

磁盘使用是系统管理的重要任务之一,对于开发人员而言,也需要有一定的了解和掌握。本文介绍了常用的磁盘使用命令和操作,可以帮助开发人员更好地管理系统和资源。