Linux文件搜索命令

文件搜索命令 locate
locate 文件名
在后台数据库按文件名进行搜索,数据库所在位置:/var/lib/mlocate ,数据库默认更新频率:1天1次
数据库更新指令:updatedb
特点:搜索速度快,只能根据文件名搜索(功能单一)
搜索规则在文件:/etc/updatedb.conf
Linux文件搜索命令_第1张图片


命令搜索命令:whereis,which

whereis 命令名
功能:会显示命令的可执行文件和命令的帮助文件的位置
选项:-b 只查找功能文件 -m 只查找帮助文件

whatis 命令: 简述命令的功能

which 命令名
功能:看到命令可执行文件的位置和对应的别名

whereis和which找不到shell自带的命令(比如cd)

环境变量:$PATH,用冒号分割;系统搜索命令的路径!

echo PATH :显示$PATH下的搜索路径

在$PATH下的绝对路径,可以采用相对路径进行替代,简略
当执行命令的时候,在PATH下的目录进行搜索,查找是否在这些目录下有可执行文件,如果所有路径都没有,就会报错;因此对于自己写的脚本,要么用绝对路径,要么加入环境变量(Windows同样,因此,在安装jdk,有很多函数,是Windows没有的,必须要添加路径给Windows)

bluephantom@bluephantom-Vostro-5568:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

都是bin,sbin目录


文件搜索命令 find
特点:功能强大,选项多,速度慢,占资源巨大

find [搜索范围] [搜索条件]
find查找默认为精确查找,如果想进行模糊查找,那么需要使用其他方法(通配符)

bluephantom@bluephantom-Vostro-5568:~$ find / -name cc
find: ‘/home/lost+found’: 权限不够
/home/bluephantom/文档/cc
find: ‘/root’: 权限不够

要么是权限不够,要么是精确查找

选项:
-name:按文件名进行查找
-iname:不区分大小写
-user:按照所有者进行查找
-nouser:查找没有所有者的文件 (有三种情况:1.Linux内核文件,不经过系统管理者 2.外来文件 3.垃圾文件(手动清理))
-mtime +10:查找10天前修改的文件 -10,十天内修改的文件 10,十天当天修改的文件
-atime:文件访问时间
ctime:改变文件属性
-size:按照文件大小搜索 25K:等于25K的文件,-25K:小于25K的文件,+25K:大于25K的文件 find . -size 25K:在当前目录下搜寻25K的文件(.表示当前目录,..表示上层)( k必须小写,M必须大写)
-inum: 查找i-node数目

通配符:
*:匹配任意内容
?:匹配任意一个字符
[]:匹配一个中括号内的字符

格式: find / -name “ab[cd]”
find / -name “ab*”
find / -name “ab?”
外面用“”进行包围,里面注意搭配,比如 find / -name “*[cd]” ,表示搜索以c或者d结尾的文件

你可能感兴趣的:(Linux基础命令)