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脚本编程,欢迎持续进行关注。涛哥将会用最简单使用的方式分享开发技术的各个方面。


相关文章
|
5月前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
3月前
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
317 16
|
3月前
|
存储 数据管理 Linux
区分Linux中.tar文件与.tar.gz文件的不同。
总之,".tar"文件提供了一种方便的文件整理方式,其归档但不压缩的特点适用于快速打包和解压,而".tar.gz"文件通过额外的压缩步骤,尽管处理时间更长,但可以减小文件尺寸,更适合于需要节约存储空间或进行文件传输的场景。用户在选择时应根据具体需求,考虑两种格式各自的优劣。
413 13
|
4月前
|
安全 Linux
Linux赋予文件000权限的恢复技巧
以上这些步骤就像是打开一扇锁住的门,步骤看似简单,但是背后却有着严格的逻辑和规则。切记,在任何时候,变更文件权限都要考虑安全性,不要无谓地放宽权限,那样可能
135 16
|
5月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
285 32
|
4月前
|
存储 Linux 数据处理
深入剖析Linux中一切即文件的哲学和重定向的机制
在计算机的奇妙世界中,Linux的这套哲学和机制减少了不同类型资源的处理方式,简化了抽象的概念,并蕴藏着强大的灵活性。就像变戏法一样,轻轻松松地在文件、程序与设备之间转换数据流,标准输入、输出、错误流就在指尖舞动,程序的交互和数据处理因此变得既高效又富有乐趣。
58 4
|
5月前
|
Linux
【Linux】 Linux文件I/O常见操作技巧
以上就是Linux文件I/O操作的一些技巧,接纳它们,让它们成为你在Linux世界中的得力伙伴,工作会变得轻松许多。不过记住,技巧的运用也需要根据实际情况灵活掌握,毕竟,最适合的才是最好的。
126 28
|
5月前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
612 12
|
6月前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
330 19