先来一张查看命令的类型图
type is a shell builtin 这个是内建命令。
pwd is /bin/pwd 这个是外部命令。
ls is aliased to `_ls' 别名。
for is a shell keyword Shell关键字。
有的命令 像 pwd 既是 外部命令 又是 内建命令。因为 Bash为了更高效率的执行命令和脚本,把很多外部命令以内建命令的方式实现了。
df -h / df -Th
1.df -h 查看系统中文件的使用情况
Size 分割区总容量
Used 已使用的大小
Avail 剩下的大小
Use% 使用的百分比
Mounted on 路径地址
※
df 统计
磁盘实际占用的数量
du -sh /app (目录)
du(show disk usage)命令是Linux下命令,统计目录(或文件)所占磁盘空间的大小。
du -sh /app 统计 app文件及其所有子文件 占磁盘的大小。
大小 文件名
74G /app
※ du
是根据文件名进行的空间统计,使用rm后的文件对系统来说已经不可见,所以不会统计这些文件。
du -sh *
du -sh * 统计当前文件下(demo中是 elasticsearch目录下),所有文件各自 占磁盘的大小,一一列出。
du -sh *|sort -nr
排序,这个是在别人的博客看到的,然而,排序出来的结果并不尽人意。
这是WHAT 规则?
查了一下,原来是 -h 这个参数的原因
-h 以K,M,G为单位,提高信息的可读性。
再查一次并进行排序,正常如下:
df -h
和du -sh 有时候
显示的磁盘大小不一致原因及解决办法
问题原因
使用
rm
命令删除文件时,只有当该文件不存在任何link才会被删除
当有进程访问这个文件时,这个文件的实际占用空间就不会释放du
是根据文件名进行的空间统计,使用rm时该文件对系统来说已经不可见,所以不会统计这个文件。df
则是磁盘实际占用的数量
解决方法
使用
lsof|grep delete
命令查看正在使用的已删除的文件,发现存在多个这样的文件,kill
掉进程,文件删除成功
参考文章:https://blog.csdn.net/qq_29798135/article/details/80307553