网站首页 > 技术文章 正文
一.locate(搜索文件)
1.命令格式
locate 文件名
说明:locate命令不在系统中搜索文件(即不遍历整个系统),而是在/var/lib/mlocate(centos7中为此目录,可使用locate locate命令查看此目录路径)数据库中搜索,/var/lib/mlocate数据库默认每天更新一次,要查找新创建的文件就要去更新(通过updatedb命令)此数据库后再进行搜索
2.优点
在后台数据库中按文件名进行搜索,所以搜索速度快
3.缺点
只能按文件名搜索
4.注意
locate按照配置文件/etc/updatedb.conf进行搜索,配置文件的内容如下图
PRUNE_BIND_MOUNTS = "yes" 表示开启搜索限制
PRUNE_BIND_MOUNTS = "no" 表示关闭搜索限制
PRUNEFS 表示搜索时不搜索的文件系统
PRUNENAMES 表示搜索时不搜索的文件类型
PRUNEPATHS 表示搜索时不搜索的路径
二.whereis(搜索命令)
1.命令格式
whereis 命令名
说明:搜索外部命令所在路径及帮助文档所在位置(Linux的shell内置命令不能通过whereis找到命令路径,只能看到帮助文档的路径,如pwd、cd)
-b 只查看命令所在位置(即命令的可执行文件)
-m 只查找帮助文档所在位置
三.which(搜索命令)
1.命令格式
which 命令名
说明:搜索外部命令所在路径及别名(不是所有命令都有别名,Linux的shell内置命令无法用此命令)
注意:
在Linux中要想执行一个命令需要用绝对路径,由于系统定义了环境变量PATH(即系统搜索命令的路径),当执行一个命令时,会在PATH指定的路径中搜索是否有这样一个执行文件或者脚本存在(因为环境变量的存在,所以系统命令可以不打绝对路径),若自己定义了一个执行文件需要执行时就要打上绝对路径,或者把执行文件的路径放在PATH环境变量下。linux下查看环境变量:
四.find(搜索*文件*)
1.命令格式
find [搜索范围] [搜索条件]
说明:find命令对文件进行搜索的时候完全匹配文件名,若想进行模糊搜索则使用通配符匹配
Linux中通配符有 :* 匹配任意内容
? 匹配一个任意字符
[] 匹配中括号内任一字符
2.示例
在根目录下搜索名为initial-setup-ks.cfg的文件,注根目录下搜索相当于遍历根目录,会耗费资源
在/root目录下利用通配符分别搜索文件名为以a、b开头以任意字符结尾的文件
-name 按照文件名完全匹配搜索
-iname 按照文件名不区分大小写搜索
-user 按照所有者进行搜索,后面为Linux的登录账户名
-nouser 查找没有所有者的文件(不是所有的没有所有者的文件都是垃圾文件,内核产生的根目录proc、sys路径下的,或者外来文件即外接盘内的文件会没有所有者,但不是垃圾文件)
-mtime 按照修改的时间范围搜索文件
-atime 根据文件的访问时间搜索
-ctime 根据文件属性改变的时间搜索
-size 根据文件大小搜索
-inum 根据文件的i节点搜索
查找root目录下大于10k小于30k的文件(-a 表示与and,-o表示或or)
查找root目录下大于10k小于30k的文件并显示文件详细信息(-exec 命令 {} ; 对搜索结果进行操作)
五.grep(搜索字符串)
1.命令格式
grep [选项] 字符串 文件名
说明:grep命令是在文件中搜索符合条件的字符串,如需匹配使用正则表达式进行包含匹配
2.选项
-i 忽略大小写
-v 排除指定的字符串
作者:码农先锋
来源:掘金
猜你喜欢
- 2025-08-06 聊天讨论 5 个终端技巧!加速你的代码开发效率
- 2025-08-06 Linux文本三剑客:grep/sed/awk组合技,文本处理难题轻松解决
- 2025-08-06 Linux面试最高频的5个基本问题
- 2025-08-06 Linux/unix中 grep 正则使用示例
- 2025-08-06 Linux如何自动释放缓存
- 2025-08-06 pdfgrep:PDF 文本搜索的强大工具
- 2025-08-06 java开发常用的Linux命令,高频的没你想象的多
- 2025-08-06 Linux系统中有关mount与umount命令的使用指引
- 2025-08-06 Linux进程管理
- 2025-08-06 Linux三剑客之sed命令详解,小白也能看得懂!
- 08-06中等生如何学好初二数学函数篇
- 08-06C#构造函数
- 08-06初中数学:一次函数学习要点和方法
- 08-06仓颉编程语言基础-数据类型—结构类型
- 08-06C++实现委托机制
- 08-06初中VS高中三角函数:从"固定镜头"到"360°全景",数学视野升级
- 08-06一文讲透PLC中Static和Temp变量的区别
- 08-06类三剑客:一招修改所有对象!类方法与静态方法的核心区别!
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (70)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)