du -sh * 查询不到隐藏的大文件目录
时间: 2023-07-28 19:31:50 浏览: 64
这是因为 du 命令默认情况下不会递归查询隐藏的目录。如果你想要查询隐藏目录的大小,需要使用如下命令:
```
du -sh .[!.]* * | sort -h
```
这个命令会同时查询当前目录下所有文件和目录的大小,包括隐藏的目录。其中,".[!.]*" 表示匹配所有以点开头的文件或目录,但不包括 "." 和 ".."。最后使用 sort 命令按大小排序。
相关问题
du -sh ./* 和du -sh *和du -sh -- *哪个更高效
在大多数情况下,这三个命令的效率是相同的。
- `du -sh ./*`:这个命令会显示当前目录下所有子目录和文件的大小,但不包括隐藏文件。`.` 表示当前目录,`/*` 表示匹配所有子目录和文件。
- `du -sh *`:这个命令会显示当前目录下所有非隐藏文件和目录的大小,但不包括子目录的大小。`*` 表示匹配所有非隐藏文件和目录。
- `du -sh -- *`:这个命令会显示当前目录下所有非隐藏文件和目录的大小,包括子目录的大小。`--` 表示命令的选项结束,后面的所有参数都被视为要匹配的文件或目录。
在某些情况下,使用 `du -sh *` 可能会出现错误,因为如果当前目录下有太多的文件和目录,会导致 `*` 所匹配的字符串太长。这时,可以使用 `du -sh -- *` 来避免这个问题。
linux使用df -h显示没有空间,但是du -sh *找不到大文件
这可能是由于某些文件被删除但仍然被进程占用,导致磁盘空间无法释放。你可以使用lsof命令查找这些被占用的文件。运行以下命令列出磁盘空间使用情况最高的前10个目录:
```
du -h / | sort -n -r | head -n 10
```
如果你仍然找不到问题所在,你可以尝试使用find命令查找大文件:
```
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null
```
上述命令将查找所有大于100MB的文件。如果这些命令都无法解决问题,你可能需要考虑重新分配磁盘空间或者清理系统日志等无用文件。