2023年7月26日发(作者:)
Linux的⽂件搜索命令(locate,find,grep,find命令和)刚开始学Linux,这是关于Linux⽂件搜索命令,就⽬前,尽我所能把他写全⼀点,后期随时补充⽂件搜索命令⼀、locate命令⼆、find命令三、grep命令四、find命令和grep命令的区别
1、locate命令语法: locate ⽂件名例:locate user(搜索user的⽂件名)优点:搜索速度快缺点:只能搜索指定⽂件名,⽐⽅搜索user ⽂件的时候只会搜索到user,搜索不到users注意:locate并不是在数据库⾥⾯搜索的,⽽是在/var/lib/mlocate⾥⾯进⾏搜索的,但是mlocate不是实时更新的,是⼀天更新⼀次,所以当你新建⼀个⽂件夹,locate命令是搜不到的,这个时候就需要⽤⼀个更新数据库的命令更新命令:updatedb (强制更新)
2、find命令语法:find [搜索范围] [搜索条件]例 :find /root -name User(在root⽬录下搜索⽂件名为User⽂件)注意:find命令查询出来的⽂件同样只能和搜索出来的⽂件名要⼀模⼀样,如果要进⾏模糊查询,就要⽤到通配符linux的通配符 * 匹配任意内容例:find /root -name *d (查询root⽬录下⽂件名以d结尾的⽂件名) 匹配⼀个内容例: find /root -name us?r (查询root⽬录下⽂件⽂件名是us什么r的⽂件) [] 匹配任意⼀个中括号内的字符例:find /root -name user[sd] (查询root⽬录下⽂件名是users和userd的⽂件)
补充:除此之外find还有其他的命令1. -i 不区分⼤⼩写 find /root -iname User2. 搜索有所有者的⽂件 find /root -user root3. 搜索没有所有者的⽂件(如果有则是垃圾⽂件,可删除) find /root -nouser root4. 查询指定时间内的⽂件 -atime ⽂件询问时间 -ctime 改变⽂件属性 -mtime 修改⽂件内容例: find /var/log -mtime +10 (查询/var/log下10天前修改的⽂件)+10 查询10天前的⽂件10 查询10天当天的⽂件-10 查询10天内修改的⽂件5. 查找指定⼤⼩的⽂件 find -size 25k find -size 20M注意: k为⼩写、M为⼤写(⼀定要这么写,不然会报错)6. 查找⽂件名和 i 节点 find /home -inum 262242 (查找/home⽬录下i节点为262242的⽂件名)7. 并且、或者 -a and 并且 ,两个⽂件都满⾜ -o or 或者 ,两个条件有⼀个满⾜即可例: find /home -size +20k -a -size -50k (查询在home⽬录下⽂件在⼤于20k并且⼩于50k的⽂件)8. -exec 命令 {} 命令2处理命令1搜索出来的结果 find /home -size +20k -a -size -50k -exec rm {} ; (查询在home⽬录下⽂件在⼤于20k并且⼩于50k的⽂件之后删掉他)3、grep命令语法: grep [选项] 字符串 ⽂件名 -i 忽略⼤⼩写 -v 排除指定字符串(取反)例:grep "size" User (查找User⽂件⾥⾯有size的字符串)注意:指定字符串⼀定要⽤" "4、find命令和grep命令的区别find命令:在系统中搜索⽂件名,如需模糊查询,则需要通配符(*,[],? 上⽂有讲)grep命令:在⽂件中搜索指定字符串,⼊去匹配,则要⽤正则表达式
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690363674a338278.html
评论列表(0条)