哈喽!
大家平时用 Linux 的时候,是不是总觉得系统里莫名其妙多出好多空文件夹?可能是删软件没删干净,也可能是某个程序跑一半挂了留下的坑。虽然空文件夹不占硬盘空间,但看着心里膈应,还影响咱们找东西。
今天教大家一招,用一行代码把这些空文件夹全揪出来。
find命令检索空目录
在 Linux 里,想找东西,find 命令就是你的“扫描仪”。
有时候你的文件夹层级像“套娃”一样,如果你只想看当前这层,不想钻得太深,可以加个 -maxdepth。这样它就不会去翻那些深的目录,搜起来速度极快,这样当需要删除文件夹时,也不会误伤深层的系统结构。
find . -maxdepth 2 -type d -empty参数解析
咱们把这个命令拆开了看,其实就是给find传入2个参数:
-type d:d 代表 directory。告诉系统:“我只要文件夹,别把那些空文件(0字节的文档)也给我搜出来。”-empty:这是最关键的,在上一个参数的基础上只关注空文件夹。
既然寻找空文件夹,更多时候当然是为了删除它呀,有下面两种删除方法
find . -type d -empty -deletefind . -type d -empty | xargs rmdir瞬间清爽!省去了手动 rmdir 的麻烦。但切记:先不带 -delete 跑一遍确认结果,再加这个后缀,否则删错了可没后悔药!
如果你害怕 -delete 太暴力,可以换成这个:
find . -type d -empty -ok rm -rf {} \;这里的 -ok 会在删每一个文件夹前都问你一句:“嘿,这个删不删?”你输入 y 才删。这对于小白来说是最高级别的安全保障。