Linux系列开坑记(四)-文件查找工具

简介: Linux系列开坑记(四)-文件查找工具

日常开发工作中,我们经常会碰到有些配置文件或者日志文件找不到的情况,只记得基本的名字,记不得完整路径。为了更好查找到文件,今天我们就来聊下文件查找工具。

关于文件查找工具,主要两个:

  1. locate 通过名字来进行文件查找,较快
  2. find 在目录搜索文件,较慢

locate

第一个我们要讲的就是locate,locate文件查找比较简单,并且速度很快。

主要是因为它是直接搜索locatedb文件数据库,这个数据库主要是系统文件数据,它是由cron程序进行定期把文件更新的,通常是一天一次。在Linux有些发行版,如果locate不能工作,就是因为刚刚初始化系统导致locatedb没有数据。

如果你要进行全盘搜索locate是比较方便快捷的快的,也是最简洁的。

比如我要找我的 db.sqllite3 这个临时db文件。

locate db.sqlite3

图片

image.png

find

第二个就是我们的find,临时用一下locate还行,但是如果我们有稍微多一些需求就不太方便了。所以更强大的查找工具就是find了。

find工具能够根据文件的各种属性来进行查找,非常有利于我们进行高级查询,功能强大,往往参数指令会多一些。

为了简单,这里面我举几个简单而常用的例子。

find . -name views.py  # 在当前目录查找文件名为为views.py

find ~ -size +5M -name ".jpg" # 在主目录查找大于10M的文件

find . -type d | grep yourdir  # 查找目录下的目录文件并且筛选yourdir

find . -name ".BAK" -delete # 查找以BAK为结尾文件删除 删除前进行测试用 -delete替换为 -print 或者可以在git版本控制测试。

find . -name  "*.py" -exec ls -al  "{}"  \;  # 当前目录查找所有py文件并且打印 -exec唤醒其他命令,-exec 后面跟命令 {}表示当前路径名符号表示,分号是强制要求界定命令结束。

我通常比较喜欢用简单的方式,而不是更为高级的方式,通过cheat工具给一个其他案例,强烈推荐大家去了解一下cheat命令行帮助工具,对比man,info帮助工具,cheat非常方便日常学习使用。


image.pngimage.pngimage.png

image.png

上面其他案例中exec我已经讲了,awk文本处理工具后面我会单独讲也不啰嗦了。

这里简单提一下xargs,它从标准输入接受输入,并把输入转换为特定命令的参数列表。可以说xargs是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。


image.png

通过find命令输入被管道到xargs命令,反过来xargs为ls命令构建参数列表,执行ls命令。

关于文件查找locate,find 你学会了么?

Linux日常命令使用,同Docker容器化一样我会以一个系列进行分享,今天是第四篇,后面我将持续分享更多内容,从Linux日常命令使用到shell脚本编程,欢迎持续进行关注。涛哥将会用最简单使用的方式分享开发技术的各个方面。


相关文章
|
11天前
|
Linux 数据安全/隐私保护 Windows
命令方式:window向linux传文件
【10月更文挑战第6天】本文介绍了如何在Linux系统中通过命令`ip a`获取IP地址,并在Windows系统下使用CMD命令行工具和SCP命令实现文件传输。示例展示了如何将D盘中的`mm.jar`文件上传至IP地址为192.168.163.122的Linux系统的/up/目录下,最后在Linux系统中确认文件传输结果。
167 65
|
1月前
|
Linux
linux中查看某个文件夹下文件的个数和大小
这篇文章介绍了在Linux系统中使用各种命令(如`stat`、`wc`、`du`和`ls`)来查看文件夹下文件的个数和大小的方法。
425 4
linux中查看某个文件夹下文件的个数和大小
|
21天前
|
监控 Unix Linux
Linux系统工具
Linux系统工具
38 6
|
18天前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
34 2
|
2天前
|
JSON JavaScript Linux
Linux系统之安装cook菜谱工具
【10月更文挑战第15天】Linux系统之安装cook菜谱工具
11 2
Linux系统之安装cook菜谱工具
|
10天前
|
Linux 开发工具 数据安全/隐私保护
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。
23 2
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
|
6天前
|
Linux Shell 数据库
Linux文件查找新姿势:总有一种你没见过
文件查找是Linux用户提升工作效率的关键技能。本文介绍了几种不常见的文件查找方法,包括使用`find`结合`column`美化输出、利用`locate`和`mlocate`快速查找、编写Shell脚本自动化任务、使用现代工具`fd`以及结合`grep`和`rg`进行内容搜索。此外,还推荐了几款图形界面搜索工具。掌握这些技巧,让你的文件查找更加高效便捷。
28 2
|
13天前
|
Linux C++
Linux c/c++文件的基本操作
在Linux环境下使用C/C++进行文件的基本操作,包括文件的创建、写入、读取、关闭以及文件描述符的定位。
13 0
Linux c/c++文件的基本操作
|
18天前
|
移动开发 Linux
Linux 文件与目录管理
Linux 文件与目录管理
17 3
|
18天前
|
关系型数据库 MySQL Linux
Linux 文件基本属性
Linux 文件基本属性
15 3