linux下查找大文件和大目录
最近发现测试服务器上的mysql挂掉了,根据mysql返回的错误显示,是存储满了。为了清理一下不使用的日志或者媒体文件,我需要找出系统中的文件。所以就在网上找相关的命令。
【大文件】
潇湘隐者这位博主总结的很详细,可以前往参观。这里我还是想加强下相关linux命令的使用,学习的资料是《鸟哥的linux私房菜》。
find命令的格式:find [PATH] [option] [action]
1、与时间有关的选项
-mtime n:n为数字,意义为在n天之前的一天之内被更改过的文件,比如说【find ./ -mtime 2】表示两天前的那一整天的24小时内,当前目录下内容被更新过的文件。
-mtime +n:列出在n天之前(不包括n天本身)被改动过内容的文件名。比如【find ./ -mtime +2】表示两天之前,更新过的额文件
-mtime -n:列出在n天之内(包括n天本身)改动过的文件。
理解:4,+4,-4。4代表4到5天之间的时间;+4代表大于等于5天前的;-4代表小于等于4天之内的。
【find / -mtime 0】0表示当前时间,所以是从现在这一时刻到24小时之前。
2、与使用者和组名有关的
-uid n:n为数字,就是用户的uid
-gid n:同理,n是gid
-user name:name就是使用者账号
-group name:同理,组名
【find /home -user faddei】在home目录下属于vbird的档案
3、与档案权限及名称相关的
-name filename :搜索文件名为filename的档案【常用】
-size[+-] size:搜索比size大(+)或者小(-)的文件。size的单位有c代表byte,k代表1024byte。【今天用到的】
-type Type:搜索文件的类型,Type 有文件(f)目录(d)链接(l)socket(s)【今天用到】
-perm mode:搜索权限刚好等于 mode的文档。
【今天使用到的】
find / -type f -size +100M
【大目录】
du -h --max-depth=1 【当前目录下 一级目录大小,depth代表目录层级】