1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
文件搜索命令locate locate 文件名 在后台数据库中按文件名搜索,搜索速度更快的,但是只能按照文件名搜索 /var/lib/mlocate #locate命令所搜索的后台数据库,默认一天一更新,所以新文件搜不到~ updatedb 更新数据库 /etc/updatedb.conf配置文件 PRUNE_BIND_MOUNTS = "yes" #开启搜索限制 PRUNEFS = #搜索时,不搜索的文件系统 PRUNENAMES = #搜索时,不搜索的文件类型 PEUNEPATHS = #搜索时,不搜索的路径 命令搜索命令 whereis 与 which whereis(只能查系统命令) #搜索命令所在路径及帮助文档所在位置 -b 只查找可执行文件 -m 只查找帮助文件 which 除了查看到命令位置 还能查看别名 PATH环境变量:定义的是系统搜索命令的路径 echo $PATH 文件搜索命令 find find [搜索范围] [搜索条件] find / -name install.log #避免大范围搜索,会非常耗费系统资源 #find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配 通配符: * 匹配任意内容 ? 匹配任意一个字符 [] 匹配任意一个中括号内的字符 find /root -name "install.log*" (不加双引号不能识别通配符) find /root -iname install.log #不区分大小写 find /root -user root #按照所有者搜索 find /root -nouser #查找没有所有者的文件 find /var/log/ -mtime +10 #查找10天前修改的文件 -10 10天内修改的文件 10 10天当天修改的文件 +10 10天前修改的文件 atime 文件访问时间 ctime 改变文件属性 mtime 修改文件内容 find . -size 25k #查找文件大小是25KB的文件 25M (M要大写) -25k 小于25KB的文件 25k 等于25KB的文件 +25k 大于25KB的文件 find . -inum 262422 #查找i节点是262422的文件 (i节点可以 ls -i 查看到) find /etc -size +20k -a -size -50k #查找etc目录下,大于20k小于50k的文件 -a and 逻辑与 -o or 逻辑或 find /etc -size +20k -a -size -50k -exec ls -lh {} \; #查找 etc 目录下,大于20k并且小于50k的文件,并显示详细信息 # -exec/ -ok 命令 {} \; 对搜索结果执行操作 字符串搜索命令 grep grep [选项] 字符串 文件名 #在文件当中匹配符合条件的字符串 -i 忽略大小写 -v 排除指定字符串 find 命令 与 grep 命令的区别 find :在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配 grep:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,使用正则表达式时包含匹配。 |
转载请注明:怼码人生 » Linux学习笔记————–文件搜索命令