ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何用 rclone ncdu 的文本界面排查云存储里到底哪些目录占满了空间?

如何用 rclone ncdu 的文本界面排查云存储里到底哪些目录占满了空间? 如何用 rclone ncdu 的文本界面排查云存储里到底哪些目录占满了空间【免费下载链接】rclonersync for cloud storage - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files项目地址: https://gitcode.com/GitHub_Trending/rc/rclone云存储配额快用完、同步任务突然变慢却说不清空间到底被哪个目录吃掉了——这正是 rclone 官方文档给rclone ncdu定位的场景它启动一个文本界面TUI让你逐层浏览远端目录回答 What is using all my disk space? 这个问题。本文基于 rclone 的 ncdu 命令文档 以及配套的 size、tree、about 文档给出从启动界面到核对结果的一条完整操作路径。前提是你已经安装好 rclone 并配置了至少一个远端remote:名称来自rclone config配置。一、先确认要排查的远端名称ncdu 需要remote:path形式的参数其中remote是配置好的远端名path是远端内的目录可省略默认从远端根目录开始。用rclone listremotes查看当前可用远端rclone listremotes如果远端较多加--long可以看到名称、类型和描述方便确认选对了目标rclone listremotes --long命令文档中的示例使用了remote:、remote:path、drive:test这类写法实际执行时替换为你的远端名和要排查的目录即可。二、启动 ncdu 并等待扫描完成基本用法只有一条命令rclone ncdu remote:path界面启动后的行为有几点需要预期ncdu 会先扫描整个给定的远端并在内存中构建目录表示扫描期间界面底部显示 Waiting for root directory...拿到根目录后即可开始浏览扫描没结束时底部状态行会带[listing in progress]标记此时可以继续操作目录结构会随扫描推进逐步补全界面默认按大小从大到小排序并显示一个 10 格的比例条graph每行末尾的[#.......]这类标记表示该条目占当前目录下最大条目的比例屏幕顶部一行会提示 use the arrow keys to navigate, press ? for help底部状态行显示当前目录的总占用与对象数格式为Total usage: size, Objects: count例如 Total usage: 1.2 GiB, Objects: 345 这类文档未给固定数值的动态显示。对于文件数很多的远端两个常用参数见 ncdu 文档的 Listing Options--fast-list如果后端支持递归列举则使用递归列举uses more memory but fewer transactions扫描更快但更耗内存--max-depth限制递归深度例如--max-depth 2只看前两层适合先粗定位再下钻。rclone ncdu remote:large-dir --fast-list三、用键盘把大目录逐层找出来进入界面后按?可以随时开关帮助面板支持的按键引自 ncdu 文档↑,↓ or k,j to Move →,l to enter ←,h to return g toggle graph c toggle counts a toggle average size in directory m toggle modified time u toggle human-readable format n,s,C,A,M sort by name,size,count,asize,mtime d delete file/directory v select file/directory V enter visual select mode D delete selected files/directories y copy current path to clipboard Y display current path ^L refresh screen (fix screen corruption) r recalculate file sizes ? to toggle help on and off ESC to close the menu box q/^c to quit围绕找出占满空间的目录这个目标实际会用到的操作路径是每进入一个目录列表默认按大小降序排列占比条最长的行就是该目录下最大的子目录/文件用→或l进入最大的子目录重复比较直到定位到具体文件想换排序维度时按s按大小、C按文件数、A按目录平均大小、M按修改时间按同一键会反向排序用c打开 counts 列可以同时看到每个条目的对象数——当两个目录大小接近时对象数能帮你判断是少而大还是多而碎用Y显示当前完整路径y复制到剪贴板方便把定位到的目录记下来或交给其他命令处理屏幕显示错乱时按^L重绘看完按q或 CtrlC 退出。注意删除类按键d/D会真实删除远端文件并弹出确认框排查阶段只看不删文档同时提示删除大文件/目录可能耗时较长且删除是同步执行的期间 UI 不会响应。四、判断显示出来的大小是否可信ncdu 列出的每个条目前面可能带一个单字符标记可结合行尾括号里的说明文字文档给出的含义是e空目录不含文件但可能含空的子目录~该目录内部分文件可能在子目录中大小未知目录大小可能被低估平均大小也因此不准因为只平均了已知大小的文件.读取某个子目录时发生过错误目录大小可能被低估!读取该目录本身时发生过错误行尾会显示具体错误信息该行以红色显示。出现~时要知道原因部分后端并不总是提供文件大小文档举的例子是 Google Photos 和 Google Docs见 size 文档。这类文件的目录在 ncdu 里只能算作已知大小文件之和看到~标记的目录不要直接当成很小。五、用非交互命令核对结果在 ncdu 里定位出嫌疑目录后退出界面用下面几条命令做独立核对# 统计该路径的总大小与对象数默认递归人类可读格式 rclone size remote:suspect-dir # 需要机器可读时 rclone size remote:suspect-dir --json # 只看该路径总量、不进界面 rclone about remote:三点核对时的注意事项都来自文档size默认递归加--max-depth 1可以停止递归对不提供文件大小的后端如 Google Photos、Google Docsrclone 会在日志中提示遇到了多少个这样的文件并把它们按空文件计入 size 的输出——所以 size 的总数可能小于真实占用不是所有后端都支持rclone about文档说明some backends does not support therclone aboutcommand at all不支持时该命令拿不到配额信息核对就只能依赖 ncdu 界面与size。另外ncdu 文档明确提示Unlike ncdu it does not show excluded files——被过滤规则排除的文件不会出现在界面里。如果你怀疑空间被大量排除文件占用ncdu 给出的占比会偏小需要结合 size 的日志提示一起判断。想要非交互地列出带大小的目录树可以用配套的 tree 命令rclone tree remote:suspect-dir --sizetree 支持--size按字节显示每个文件大小、--level限制层级、--sort size按大小排序等与 unix tree 兼容的选项适合把 ncdu 里看到的结果固化成一份可保存的清单。六、本路径的边界ncdu 本身只有一个-h命令参数其余控制都来自全局的过滤选项--exclude、--include、--max-depth等见 ncdu 文档的 Filter Options和列举选项--fast-list、--default-time它是交互式的不适合放进脚本定期跑——文档给出的非交互替代就是tree和size界面里的!/.标记意味着扫描时遇到过读取错误此时目录大小同样可能被低估先解决后端可读性问题再谈结论删除操作d/D会同步执行并阻塞 UI且对目录是整目录 purgeALL files in it will be deleted在只排查空间时不要顺手触发。按上面的顺序走完你得到的结果是ncdu 界面逐层对比出的最大目录、size/about的独立数字以及一行行!、~标记告诉你的哪些数字打了折扣——三者一致时空间被谁占满就有答案了数字对不上时优先去查带标记的目录和后端是否提供文件大小。【免费下载链接】rclonersync for cloud storage - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files项目地址: https://gitcode.com/GitHub_Trending/rc/rclone创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表