-
文件搜索命令locate
locate aaa.txt
这个命令速度快,但是它只能搜索文件名
因为locate是搜索的/var/lib/mlocate
的数据库下mlocate里面搜索,所以新建的文件不会被刷新到这个库里面来,但是我们可以手动刷新这个库updatedb
刷新数据库指令
但是这里还有一个梗,locate的数据库mlocate并不会记录所有的数据文件的,它有一个配置文件/etc/updatedb.config
updatedb.config 表示文件意义
- PRUNE_BIND_MOUNTS="yes" yes开启限制,no反之
- PRUNEFS= 不搜索的文件系统
- PRUNENAMES= 不搜索的文件类型
- PRUNEPATHS= 不搜索的路径
-
命令搜索命令whereis与which
命令搜索命令 只能用来搜索命令
- whereis搜索命令所在路径和帮组文档位置
whereis -bm ls
-b
只查找可执行文件
-m
只查找帮助文档(可以理解为 man缩写)
whoami查看当前操作用户
想要知道命令是干嘛的用whatis 例如:whatis ls
- which不仅可以搜索命令,还可以查看命令的别名(但是不是所有的文件都有别名)
which ls
- PATH环境变量
打印环境变量命令
echo $PATH
使用的命令都会在这里配置文件夹里面找
-
文件搜索命令find
- find
find [范围路径] [搜索条件] [搜索文件]
应该尽量缩小范围,提高性能
例如:find / -name install.log
find搜索的是完全匹配,所以我们一般需使用通配符
- 通配符(跟正则差不多)
- ? 匹配任意一个字符
- * 匹配任意内容
- [] 匹配任意一个中括号内的字符
- -iname 不区分大小写
find /root -iname install.log
- -user 按照所有者搜索
find /root -user root
- -nouser 查找没有所有者的文件
find /root -nouser
没有所有者的文件一般都是垃圾文件,内核文件、外来数据没有所有者,例如系统生产的文件,护着windows生成的文件U盘
- -mtime 修改文件内容
find /var/log/ -mtime +10
十天前修改的文件
-10
10天内修改的文件10
10天当天修改的文件+10
10天前修改的文件
- -atime 文件访问时间
- -ctime 改变文件属性的时间
- -size 文件大小条件
find . -size 25k
当前目录下大小为25kb的文件
-25k
小于25kb的文件
25k
等于25kb的文件
+25k
大于25kb的文件
(注意单位的大小写 k M 如果不加单位则是表示25个扇区大小)
- -inum 查找磁盘表中i节点
find . -inum 456745
当前目录下找i节点为456745的文件
- 逻辑条件 -a 与 -o或(-and -or)
image
只要写了-exec后面就要加空格{}空格\;
-
字符串搜索命令greg
grep [选项] 字符串 文件名
(在指定的文件中匹配符合条件的字符串,条件字符串可以配合正则一起使用)
grep "你好啊" aaa.txt
- -i 忽略大小写
- -v 排除指定字符串
网友评论