热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词专为Linux系统管理员和开发人员设计,提供专业的磁盘使用情况分析和优化建议。通过精确的命令执行和深度分析,帮助用户快速定位磁盘空间占用问题,识别大文件和目录,并提供针对性的清理建议。支持多种分析维度和输出格式,满足日常监控、故障排查和容量规划等不同场景需求。
以下报告基于“目标目录=/、分析深度=detailed、排序方式=size、输出格式=both(人类可读+机器可读)”的要求编制。由于无法直接访问您的系统,报告提供了可直接复制执行的命令清单、输出解析方法与可复用的结果模板。执行后将输出粘贴回来,我可据此生成最终有数据的排名与结论。
命令执行摘要
磁盘使用统计表格 以下为结果模板。请将对应命令的输出粘贴回我,我会归整为下表并给出准确判读。
根分区概况(df -hT / 与 df -i /) | 指标 | 值 | | ---- | -- | | 文件系统/类型 | 待粘贴 | | 总容量 | 待粘贴 | | 已用 | 待粘贴 | | 可用 | 待粘贴 | | 使用率 | 待粘贴 | | inode总数 | 待粘贴 | | inode已用/使用率 | 待粘贴 |
顶层目录体积(du -x -B1 -d1 / 排序后前20) | 排名 | 目录 | 大小 | | ---- | ---- | ---- | | 1 | 待粘贴 | 待粘贴 | | ... | ... | ... |
关键子目录细分(示例:/var、/usr,按体积前10) | 上级目录 | 子目录 | 大小 | | -------- | ------ | ---- | | /var | 待粘贴 | 待粘贴 | | /usr | 待粘贴 | 待粘贴 |
机器可读摘要
大文件/目录排名列表
问题识别与分析 结合常见模式,依据您执行的结果对照如下判断逻辑进行定位:
优化建议和操作步骤 以下操作均为安全方案,先查看体积再按需执行。涉及服务重启/生产环境更改前请评估维护时窗。
预防措施和监控建议
下一步
分析深度:standard(重点在一级与二级目录)
排序方式:time(按最近修改时间优先)
输出格式:human
说明:我无法直接访问你的系统执行命令。以下为一套经过验证的分析命令与结果解析框架。请按“命令执行摘要”运行并将输出粘贴回来,我可据此生成带数据的最终报告。当前报告包含方法、字段解释、常见问题定位与优化建议,确保操作安全、可复制与符合最佳实践。
请以 root 或具备读取 /var/log 权限的用户执行。为避免跨分区和提升一致性,固定环境变量并限制在当前挂载点。
LC_ALL=C TZ=UTC df -hT /var/log
LC_ALL=C TZ=UTC sudo du -xhd0 /var/log; echo; sudo du -xhd1 /var/log | sort -h
for d in $(sudo du -xhd1 /var/log | sort -hr | head -n5 | awk '{print $2}'); do
echo "=== $d ==="; sudo du -xhd1 "$d" | sort -h; echo; done
LC_ALL=C TZ=UTC sudo find /var/log -xdev -type f -size +50M \
-printf '%T@|%TY-%Tm-%Td %TH:%TM|%s|%p\n' \
| sort -t'|' -k1,1nr | head -n 30 \
| awk -F'|' '{cmd="numfmt --to=iec --suffix=B " $3; cmd | getline h; close(cmd); printf "%-16s %-8s %s\n", $2, h, $4}'
LC_ALL=C TZ=UTC sudo find /var/log -xdev -type f \
-printf '%T@|%TY-%Tm-%Td %TH:%TM|%s|%p\n' \
| sort -t'|' -k1,1nr | head -n 50 \
| awk -F'|' '{cmd="numfmt --to=iec --suffix=B " $3; cmd | getline h; close(cmd); printf "%-16s %-8s %s\n", $2, h, $4}'
journalctl --disk-usage
sudo du -xsh /var/log/journal 2>/dev/null || true
sudo grep -E '^(SystemMaxUse|RuntimeMaxUse|SystemMaxFileSize|RuntimeMaxFileSize|MaxFileSec|MaxRetentionSec)' \
/etc/systemd/journald.conf /etc/systemd/journald.conf.d/*.conf 2>/dev/null || true
sudo grep -RInE '^\s*(size|rotate|daily|weekly|monthly|dateext|compress|delaycompress|maxage|maxsize|minsize|missingok)' \
/etc/logrotate.conf /etc/logrotate.d 2>/dev/null
sudo logrotate -d /etc/logrotate.conf 2>&1 | sed -n '1,200p'
sudo du -xsh /var/log/audit 2>/dev/null || true
sudo grep -E '^\s*max_log_file|^\s*max_log_file_action|^\s*space_left_action' /etc/audit/auditd.conf 2>/dev/null || true
sudo du -xsh /var/log/nginx /var/log/httpd /var/log/containers /var/log/pods 2>/dev/null || true
sudo ncdu -x /var/log
说明:以下为标准字段与其含义。请运行上述命令后,用实际输出填充数值,我可帮你生成最终数据表格。
| 指标 | 值 | 说明/来源 |
|---|---|---|
| /var/log 所在文件系统 | 例如 ext4/xfs | df -hT /var/log |
| 分区容量/已用/可用 | 例如 50G / 42G / 8G | df -hT /var/log |
| /var/log 总大小 | 例如 8.2G | du -xhd0 /var/log |
| 一级目录Top5(按大小) | 目录 -> 大小 | du -xhd1 /var/log |
| 二级目录展开(Top5目录各自Top5子项) | 子目录 -> 大小 | du -xhd1 <目录> |
建议在一级目录表中关注常见大户:/var/log/journal、/var/log/audit、/var/log/nginx 或 httpd、/var/log/containers、/var/log/messages 或 syslog 及其轮转文件(.1、.gz)。
说明:满足“排序方式:time”。列表优先展示“最近写入的大文件”,有助于识别当前持续增长的来源。
最近修改的大文件(≥50M,Top 30,按最近时间)
字段:修改时间(UTC) | 大小 | 路径
运行命令:见“命令执行摘要”2) 第一个 find 命令
示例行(字段格式展示示例,非你系统真实值):
2025-12-13 11:42 | 1.2GiB | /var/log/journal/…/system.journal
2025-12-13 11:39 | 650MiB | /var/log/nginx/access.log.1
最近修改的文件(Top 50,含尺寸,按时间) 运行命令:见“命令执行摘要”2) 第二个 find 命令
目录关注点(按容量排序以把握总体占用)
运行命令:du -xhd1 /var/log | sort -h
将结果中的Top5目录展开并记录各自Top5子项
在你粘贴输出前,以下为基于行业经验的判定逻辑。执行结果将据此给出明确结论。
根据你粘贴的具体输出,我会给出定制数值。这里先给出通用、可安全执行的步骤选项:
[Journal]
SystemMaxUse=2G
SystemMaxFileSize=200M
MaxRetentionSec=30day
应用配置并清理历史(择一或组合):
sudo systemctl restart systemd-journald
sudo journalctl --vacuum-size=2G
sudo journalctl --vacuum-time=30d
/var/log/app/*.log {
daily
rotate 14
dateext
compress
delaycompress
missingok
notifempty
size 50M
create 0640 root adm
postrotate
# systemctl kill -s HUP app 或 nginx -s reopen 等按需
endscript
}
max_log_file = 200
max_log_file_action = ROTATE
space_left_action = SYSLOG
{
"log-driver": "json-file",
"log-opts": {"max-size": "100m", "max-file": "5"}
}
然后:sudo systemctl reload dockersudo truncate -s 0 /var/log/your.log
确认进程已 reopen 后再处理旧文件如需我生成带“实测数据”的最终报告,请执行“命令执行摘要”中的命令并粘贴输出。我将:
目标目录:/home/projects
分析深度:basic
输出格式:machine
排序方式:name
重要说明
一键采集脚本(可直接复制执行)
#!/usr/bin/env bash
set -euo pipefail
DIR="/home/projects"
TS="$(date -u +%Y%m%dT%H%M%SZ)"
OUT_DIR="/tmp/disk_audit_${TS}"
mkdir -p "$OUT_DIR"
# 0) 基础信息
echo -e "param.dir\t${DIR}\nparam.depth\tbasic\nparam.sort\tname\nparam.ts\t${TS}" > "${OUT_DIR}/meta.tsv"
# 1) 目标挂载分区使用情况(字节)
# 字段: fs<TAB>fstype<TAB>size_B<TAB>used_B<TAB>avail_B<TAB>used_pct<TAB>mountpoint
df -B1 --output=source,fstype,size,used,avail,pcent,target "$DIR" \
| awk 'NR==1{next} {gsub(/%/,"",$5); OFS="\t"; print $1,$2,$3,$4,$5,$6,$7}' \
> "${OUT_DIR}/fs_summary.tsv"
# 2) 目标目录总占用(apparent size, 字节)
# 单值:total_B
du -x -B1 --apparent-size -s "$DIR" | awk '{print $1}' > "${OUT_DIR}/total_bytes.txt"
TOTAL="$(cat "${OUT_DIR}/total_bytes.txt")"
# 3) 按名称排序:一级子目录体积(depth=1)
# 字段: path<TAB>bytes
du -x -B1 --apparent-size -d 1 "$DIR" \
| tail -n +2 \
| awk 'BEGIN{OFS="\t"} {print $2,$1}' \
| LC_ALL=C sort -t $'\t' -k1,1 \
> "${OUT_DIR}/dir_d1_by_name.tsv"
# 4) 同一批数据,按体积降序排名(Top 20)
# 字段: path<TAB>bytes
du -x -B1 --apparent-size -d 1 "$DIR" \
| tail -n +2 \
| awk 'BEGIN{OFS="\t"} {print $2,$1}' \
| sort -t $'\t' -k2,2nr \
| head -n 20 \
> "${OUT_DIR}/dir_d1_top_by_size.tsv"
# 5) 目录占比(基于 3))
# 字段: path<TAB>bytes<TAB>percent
awk -v total="$TOTAL" 'BEGIN{OFS="\t"} {pct = (total>0? ($2/total*100):0); printf "%s\t%d\t%.6f\n",$1,$2,pct}' \
"${OUT_DIR}/dir_d1_by_name.tsv" > "${OUT_DIR}/dir_d1_with_pct.tsv"
# 6) 按名称排序:一级层级文件体积(同级文件,不递归)
# 字段: path<TAB>bytes
find "$DIR" -xdev -maxdepth 1 -mindepth 1 -type f -printf "%p\t%s\n" \
| LC_ALL=C sort -t $'\t' -k1,1 \
> "${OUT_DIR}/files_d1_by_name.tsv"
# 7) 全树范围:最大文件(按体积降序,Top 50)
# 产物 A(NUL 分隔,严格机器可读):(size_B \t path)\0
find "$DIR" -xdev -type f -printf "%s\t%p\0" \
| sort -z -t $'\t' -k1,1nr \
| head -z -n 50 \
> "${OUT_DIR}/top_files_by_size.tsv0"
# 产物 B(人读 TSV,路径可能做 JSON 转义;若无 python3 可忽略)
if command -v python3 >/dev/null 2>&1; then
python3 - "$OUT_DIR/top_files_by_size.tsv0" "$OUT_DIR/top_files_by_size.tsv" <<'PY'
import sys,json
src,dst=sys.argv[1],sys.argv[2]
with open(src,'rb') as f, open(dst,'w',encoding='utf-8') as out:
for rec in f.read().split(b'\0'):
if not rec: continue
size,path = rec.split(b'\t',1)
out.write(f"{int(size)}\t{json.dumps(path.decode('utf-8','surrogateescape'))}\n")
PY
fi
# 8) 大旧文件候选(>2GiB 且 mtime 超过 180 天)
# 字段: size_B<TAB>mtime(YYYY-MM-DD)<TAB>path
find "$DIR" -xdev -type f -size +2G -mtime +180 -printf "%s\t%TY-%Tm-%Td\t%p\n" \
| sort -t $'\t' -k1,1nr \
> "${OUT_DIR}/big_old_files.tsv"
# 9) 结果清单
echo "Artifacts in ${OUT_DIR}:"
ls -1 "${OUT_DIR}"
执行后请将 /tmp/disk_audit_YYYYmmddTHHMMSSZ 下的 TSV 产物文件发回,我将基于真实数据给出定制结论。
以下为生成产物与字段定义(机器可读),均为制表符分隔(TSV)。NUL 分隔文件以 .tsv0 标识。
快速预览命令示例(非必须)
# 预览分区使用
column -t -s $'\t' /tmp/disk_audit_*/fs_summary.tsv
# 预览目录占比 Top 10
sort -t $'\t' -k3,3nr /tmp/disk_audit_*/dir_d1_with_pct.tsv | head -n 10 | column -t -s $'\t'
本次“基本分析”在生成以下两类排名结果:
注意
在拿到真实数据后,将按以下规则判定并标注问题点:
我会基于你的 TSV 结果,用上述规则出具逐项结论与建议。
说明:以下仅为“安全候选动作”的生成与核查命令,默认不删除、不覆盖。请先确认清单,再执行实际处置。
快速定位可清理候选
find /home/projects -xdev -type f -size +1G \
\( -iname "*.tar" -o -iname "*.tar.*" -o -iname "*.zip" -o -iname "*.7z" \) \
-printf "%s\t%TY-%Tm-%Td\t%p\n" | sort -nr -k1,1 | head -n 50
find /home/projects -xdev -type f -name "*.log" -size +200M -mtime +30 \
-printf "%s\t%TY-%Tm-%Td\t%p\n" | sort -nr -k1,1
while IFS= read -r d; do du -x -B1 --apparent-size -s "$d"; done < <(
find /home/projects -xdev -type d -regextype posix-extended \
-regex '.*/(build|dist|target|out|node_modules|\.venv|\.mypy_cache|\.pytest_cache)$'
) | awk '{print $2 "\t" $1}' | sort -t $'\t' -k2,2nr | head -n 50
压缩与归档(安全方式:生成新文件,不覆盖现有)
# 仅列出即将压缩的目标
find /home/projects -xdev -type f -name "*.log" -size +200M -mtime +30 -print
# 确认后再压缩(保留原文件仅演示:去掉 --keep 可回收空间)
# gzip --keep <file>
# 只生成命令,不执行
du -x -B1 --apparent-size -d 1 /home/projects \
| tail -n +2 \
| awk '$1>5*1024*1024*1024 {print $2}' \
| while read -r d; do
echo "tar -I 'zstd -19' -cf /backup/$(basename "$d").tar.zst -C $(dirname "$d") $(basename "$d")"
done
代码仓库优化(逐仓库检查,谨慎执行)
# 查看 .git 体积
du -x -B1 --apparent-size -s /home/projects/*/.git 2>/dev/null | sort -nr
# 仓库内对象统计(只读)
(cd /path/to/repo && git count-objects -vH)
建议:对特大二进制文件采用 Git LFS;定期清理不再需要的大型分支;必要时由负责人执行仓库瘦身方案(需评估影响)。
重复文件排查(只读清单)
# 若已安装 fdupes
fdupes -rS /home/projects > /tmp/disk_audit_duplicates.txt
Docker/容器镜像不在本目录范围,一般不计入本次目录分析;如项目自带镜像/缓存,请在项目 cache 目录内单独评估。
# 每周一 02:00 执行
0 2 * * 1 /bin/bash /path/to/script.sh >/var/log/disk_audit_projects.log 2>&1
# 可增加清理旧报告(>60天)
find /tmp -maxdepth 1 -type d -name 'disk_audit_*' -mtime +60 -exec rm -rf {} +
如需我基于真实结果给出“问题清单 + 具体操作清单”,请执行脚本并将生成的 TSV 文件返回。我将据此出具定制化结论与步骤。
打造一套“开箱即用”的磁盘空间分析与优化提示词,帮助运维与研发在数分钟内定位空间异常、识别大文件与高占用目录,并给出可直接执行的清理与预防方案。它将零散命令、排障经验和最佳实践整合为标准化流程,自动生成结构化报告,覆盖日常巡检、应急排查与容量规划三大核心场景,显著降低故障恢复时间与误操作风险,推动团队建立统一的磁盘治理方法论与可复用模板,最终提升稳定性与协作效率。
在磁盘告警时快速找出占用根因,生成可执行清理清单与回退方案,并沉淀周报与复盘材料
建立定期巡检与趋势对比,提前预警容量瓶颈,减少夜间告警与临时扩容,稳定交付SLA
定位日志与缓存异常增长目录,明确责任归属与影响范围,获得针对性优化与压缩策略建议
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
半价获取高级提示词-优惠即将到期