locate

格式

命令

参数

说明

locate

filename

本机查找文件

特点

  • 数据库存储

crontab任务扫描文件,更新到数据库,在数据库中进行查找。

  • 周期

具体周期和时间看crontab任务

  • 更新

updatedb手动更新。

  • 模糊匹配

模糊匹配查找结果,文件名包含或者路径包含也会被返回。

优劣

  • 优势

不扫描磁盘,直接查库,效率高,速度快,资源消耗小。

  • 缺点
  1. 依赖数据库更新,不更新时,新增文件找不到,删除文件还找到
  2. 模糊匹配,文件名或路径包含也会返回,冗余垃圾信息。

find

格式

命令

文件夹

选项

文件名

find

directory

option

filename

特点

  • 实时扫描

执行命令当场扫描,结果实时,找到必然存在。

  • 精确匹配

精确条件匹配,过滤冗杂信息,命中率高。

优劣

  • 优势
  1. 查找条件丰富
  • -name filename:文件名精确查找
  • -iname filename:忽略大小写查找
  • -regex pattern:正则查找
  • -user username:属主查找
  • -group groupname:数组查找
  • -uid uiduid查找
  • -gid gidgid查找
  • -nouser:无主文件
  • -nogroup:无组文件
  • -type:文件类型查找
  • f
  • d
  • c
  • b
  • l
  • p
  • s
  • -size:文件大小查找
  • 范围:+,-,大于或小于,默认等于
  • 单位:k,M,G,可指定单位
  • 条件组合:支持多条件限制
  • -aand
  • -oor
  • -notnot
  • 时间戳限制:根据时间进行查找
  • 时间类型
  • mtime:modify,修改时间
  • ctime:change,改变时间
  • atime,access,访问时间
  • 常用时间
  • mminmtime以分钟为单位
  • cminctime以分钟为单位
  • aminamin以分钟为单位
  • 时间限制:+,-,默认等于,以指定时间为界,+表示范围外,-为范围内
  • -perm:权限查找,permission
  • mode755,权限精确匹配,必须相等
  • -mode-755,权限包含匹配,即最低权限
  • /mode/755,任意权限匹配,权限或|,满足其一权限即可
  • +mode+755,同/mode
  • 动作
  • -print:显示结果,默认
  • -ls:按照ls -lhi格式显示
  • -ok command {}\;:执行command命令,{}为结果引用,\;分号结束,需转义
  • -exec command {}\;:同-ok

命令查找

命令

功能

说明

whereis

查找命令位置

查找命令,满足条件即返回

which

查找命令位置

探知运行命令

whereis查找的是命令文件,自动过滤了其他类型,但是能够发现多个位置的命令地址。

which更像是命令探知,在所有的命令当中探知执行的是哪一个命令

命令文件加上aliaswhich会直接显示运行的是哪一个命令。

如果想知道命令文件都在哪,用whereis

如果想知道运行的是啥命令,用which,即使是alias也能够发现。

脚本

  • 五分钟内被修改的文件
find . -mmin -5
  • 用户文件
find . -user godme
  • 撤销其他用户执行权限
find . -perm -001 -exec chmod o-x {} \;

选项和参数之间注意分隔,一个空格就好了。

{}左右留空。

\;不要和语句连接上。

  • 查看godme命令
alias godme="/bin/ls --color -lhi"
which godme     #能够定位到执行的具体信息
whereis godme   #找不到godme命令