比如:在根目录下查找大于 100M 的文件
find / -size +204800
这里 +n 表示大于,-n 表示小于,n 表示等于
1 数据块 == 512 字节 ==0.5KB,也就是1KB等于2数据块
100MB == 102400KB==204800数据块
- ①、在home目录下查询所属组为 root 的文件
find /home -group root
* ②、在home目录下查询所有者为 root 的文件
find /home -user root
find 【路径】【选项】【时间】
选项有下面三种:
-
-amin 访问时间
-
-cmin 文件属性被更改
-
-mmin 文件内容被修改
时间:+n,-n,n分别表示超过n分钟,n分钟以内和n分钟
范例:在 /etc 目录下查找5 分钟内被修改过属性的文件和目录
find /etc -cmin -5
- -type 根据文件类型查找:f表示文件,d表示目录,l表示软链接
范例:查找 /home 目录下文件类型是目录的
find /home -type d
- -inum 根据i节点查找
范例:查找 /tmp 目录下i节点为400342的文件或目录
find /tmp -inum 400342
这里有两个参数:
-
①、-a 表示两个条件同时满足(and)
-
②、-o 表示两个条件满足任意一个即可(or)
范例:查找/etc目录下大于80MB同时小于100MB的文件
find /etc -size +163840 -a -size -204800
========================================================================
locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
语法:locate/slocate [选项] [参数]
选项:
-
-d<目录>或–database=<目录>:指定数据库所在的目录;
-
-u:更新slocate数据库;
-
–help:显示帮助;
-
–version:显示版本信息
参数:
查找字符串:要查找的文件名中含有的字符串。
范例:搜索etc目录下所有以sh开头的文件
locate /etc/sh
=======================================================================
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
语法:which [选项] [参数]
选项:
-
-n<文件名长度>:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名;
-
-p<文件名长度>:与-n参数相同,但此处的<文件名长度>包含了文件的路径;
-
-w:指定输出时栏位的宽度;
-
-V:显示版本信息。
参数:
指令名:指令名列表。
范例:查找文件、显示命令路径
which pwd
======================================================================
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
最后
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化
png#pic_center)
======================================================================
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
最后
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化
[外链图片转存中…(img-I8yyWOH3-1719201373787)]