linux\mac 日常入门命令行使用——搜索文件\文件夹

搜索文件或者文件夹,是一个常见的需求。我们可以用多种命令来实现我们的需求。

find 命令实现搜索

find 是英文,寻找的意思。这个命令可以很方面的来搜索我们需要的内容。

标准命令如下:

find ./ -iname "*.txt"

命令 搜索的目录 参数 关键词

find

-iname 是不区分大小写。如果要区分大小写的话 -name 即可。一般情况下,我们搜索内容都是不区分大小写的。

关键词可以用 * 号进行通配。事实上,也支持正则表达式。不过我估计你可能不熟悉正则表达式,所以不强求了。

这是标准用法。但是我下面再推荐一个我喜欢的组合命令的用法

find + grep 搜索

默认的 find 命令,功能及其强大,并且最基础的也需要知道一个 * 这样的通配符。但是通过这个组合命令,可以让你啥都不懂的进行任意的搜索。

我们知道 find ./ 命令,可以把当前文件夹下的所有内容全部列出来。同时 grep 命令可以根据关键词进行过滤。然后我们就可以组合这个命令了。

find ./ | grep txt

这个命令就可以将当前目录里面的所有文件名中包含 txt 的全部列出来。

find+grep

另外,我们还可以组合多个关键词进行进一步的过滤,只要在后面接着输入 | grep 关键词即可。

最重要的是,还可以取反,就是 grep 加上 -v 这个参数。

举例如下:

find ./ | grep txt | grep Site
find ./ | grep txt | grep Site | grep -v linux

find+grep2

看,重要我们就可以不用管什么正则,什么通配符,用我们简单的组合命令,就可以进行我们想要的任意搜索了。

| 是管道的意思。作用是把前面的命令的结果传给后面的命令继续去执行。这是命令行中非常重要并且非常好用的概念。我们可以用这些来进行很多的组合操作。

对了,写完了才想起来,我们用不着用 find ./ 作为第一个命令,还可以用 find . 作为命令。效果是一样的。嘿嘿。

本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐