- UID
- 308
- 性别
- 保密
- 在线时间
- 小时
- 阅读权限
- 160
|
注册巴中热线论坛,交好友享优惠,衣食住行吃喝玩乐尽在 BZHOT.com
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Linux下查找文件的命令有两个:locate 和 find
locate这个命令是对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进行模糊匹配,在精确度上来说差了点,简单介绍下它的两个选项:
locate
-i //查找文件的时候不区分大小写,比如:locate –i passwd
-n //只显示查找结果的前N行,比如:locate -n 5 passwd
命令格式 :
find [指定查找目录] [查找规则] [查找完后执行的action]
1)根据文件名查找
-name //根据文件名查找(精确查找)
-iname //根据文件名查找,但是不区分大小写
//查找/etc /tmp /root三个目录下的passwd文件
find /etc /tmp /root -name passwd
//查找/etc /tmp目录下passwd开头的文件
find /etc /tmp -name "passwd?"
//查找/etc目录下no开头的文件
find /etc/ -name "no*.conf"
* 表示 通配任意的多个字符
? 表示 通配任意的单个字符
[ ]表示 通配括号里面的任意一个字符
2)根据文件所属用户和组来查找文件
-user //根据属主来查找文件
-group //根据属组来查找文件
3)根据uid 和 gid来查找用户
//查找uid是500 的文件
find /tmp -uid 500
//查找gid是1000的文件
find /tmp -gid 1000
4)-a and -o and –not的使用
//查找/etc目录下所有的conf文件,并用户权限是root
find /etc -name "*.conf" -a -user root
//查找/etc目录下所有的conf文件,并用户权限不是ops
find /etc -name "*.conf" -not -user ops
-a 连接两个不同的条件(两个条件必须同时满足)
-o 连接两个不同的条件(两个条件满足其一即可)
-not 对条件取反的
5)根据文件时间戳的相关属性来查找文件
//查看etc目录下asound.conf文件的创建,访问,修改时间
stat /etc/asound.conf
atime //最近一次访问时间
mtime //最近一次内容修改时间
ctime //最近一次属性修改时间
* atime的单位指的是“天”,amin的单位是分钟
//表示查找在五天内没有访问过的文件(也就是5天前天没访问的文件)
find /tmp –atime +5
//表示查找在五天内访问过的文件
find /tmp -atime -5
//清理日志的时候,一般使用的是最近一次内容修改时间
find -mtime +30 -name "*[0-9]*" -exec rm {} \;
6)根据文件类型来查找文件
-type
f // 普通文件
d //目录文件
l //链接文件
b //块设备文件
c //字符设备文件
p //管道文件
s //socket文件
//查找在/tmp 目录下socket文件
find /tmp -type s
7)根据大小来查找文件
-size
find /tmp -size 2M //查找在/tmp 目录下等于2M的文件
find /tmp -size +2M //查找在/tmp 目录下大于2M的文件
find /tmp -size -2M //查找在/tmp 目录下小于2M的文件
8)根据文件权限查找文件
-perm
find /tmp -perm 755 //查找在/tmp目录下权限是755的文件
find /tmp -perm +222 //表示只要有一类用户(属主,属组,其他)的匹配写权限就行
find /tmp -perm -222 //表示必须所有类别用户都满足有写权限
//删除查找到的超过30天没有访问过文件
find /tmp -atime +30 –exec rm –rf {} \;
删除文件命令:
find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
实例:
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
说明:
将/opt/soft/log/目录下所有30天前带".log"的文件删除。
具体参数说明:
find:linux的查找命令,用户查找指定条件的文件;
/opt/soft/log/:想要进行清理的任意目录;
-mtime:标准语句写法;
+30:查找30天前的文件,这里用数字代表天数;
"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;
-exec:固定写法;
rm -rf:强制删除文件,包括目录;
{} \; :固定写法,一对大括号+空格+\+;
|
上一篇:Linux查看文件和文件夹大小 按条件删除日志下一篇:linux系统如何修改挂载mount共享文件夹的读写权限
|