linux\mac 日常入门命令行使用——搜索文件\文件夹
搜索文件或者文件夹,是一个常见的需求。我们可以用多种命令来实现我们的需求。
find 命令实现搜索
find 是英文,寻找的意思。这个命令可以很方面的来搜索我们需要的内容。
标准命令如下:
find ./ -iname "*.txt"
- 1
命令 搜索的目录 参数 关键词
-iname 是不区分大小写。如果要区分大小写的话 -name 即可。一般情况下,我们搜索内容都是不区分大小写的。
关键词可以用 * 号进行通配。事实上,也支持正则表达式。不过我估计你可能不熟悉正则表达式,所以不强求了。
这是标准用法。但是我下面再推荐一个我喜欢的组合命令的用法
find + grep 搜索
默认的 find 命令,功能及其强大,并且最基础的也需要知道一个 * 这样的通配符。但是通过这个组合命令,可以让你啥都不懂的进行任意的搜索。
我们知道 find ./ 命令,可以把当前文件夹下的所有内容全部列出来。同时 grep 命令可以根据关键词进行过滤。然后我们就可以组合这个命令了。
find ./ | grep txt
- 1
这个命令就可以将当前目录里面的所有文件名中包含 txt 的全部列出来。
另外,我们还可以组合多个关键词进行进一步的过滤,只要在后面接着输入 | grep 关键词即可。
最重要的是,还可以取反,就是 grep 加上 -v 这个参数。
举例如下:
find ./ | grep txt | grep Site
find ./ | grep txt | grep Site | grep -v linux
- 1
- 2
看,重要我们就可以不用管什么正则,什么通配符,用我们简单的组合命令,就可以进行我们想要的任意搜索了。
|是管道的意思。作用是把前面的命令的结果传给后面的命令继续去执行。这是命令行中非常重要并且非常好用的概念。我们可以用这些来进行很多的组合操作。
对了,写完了才想起来,我们用不着用 find ./ 作为第一个命令,还可以用 find . 作为命令。效果是一样的。嘿嘿。
本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。
linux\mac 日常入门命令行使用——搜索文件\文件夹的更多相关文章
- LINUX系统日常使用命令
一.开关机命令1.shutdown -h now 关闭系统2.init 0 关闭系统3.telinit 0 关闭系统4.shutdown -h hours:minutes 按预定时 ...
- 【Linux工具】svn命令行使用实例
引言 网上有这么多介绍 svn 使用的文章,为什么还要写?因为它们深入不浅出,平铺不分类,理论不实际,看完也记不住. 本文先介绍基本用法,后进行实例演练.不求大而全,只求熟练常用,自行用 svn he ...
- for /r命令实现全盘搜索指定文件
@echo off Rem :全盘搜索指定文件并输出到文本 set "fileName=Normal.dotm" set "outPutPath=C:\result.tx ...
- Linux/Mac/Shell常用命令
常用命令 · ls 查看当前目录下的文件 · cd 进入某目录 · cd - 跳转回前一目录 · cd ~ 进入当前用户个人目录 · pwd 输出当前所在路径 · mkdir 新建文件夹 · touc ...
- 都能看懂的嵌入式linux/android alsa_aplay alsa_amixer命令行使用方法
前几天在嵌入式linux上用到alsa command,网上查的资料多不给力,仅仅有动手一点点查,最终能够用了,将这个用法告诉大家,以免大家少走弯路. 0.先查看系统支持哪几个alsa cmd: ll ...
- linux下使用find命令根据系统时间查找文件用法
这篇文章主要为大家介绍了find 命令有几个用于根据您系统的时间戳搜索文件的选项. 这些时间戳包括 mtime 文件内容上次修改时间 atime 文件被读取或访问的时间ctime 文件状态变化时间 m ...
- Linux 和Windows之间命令行实现目录或文件互传
在linux中,我们常用scp命令传输文件: 如以下实例,我们想把当前服务器文件abc.sql传输到192.168.1.1服务器上 我们可以执行以下命令: scp /home/person/hww/a ...
- C#远程执行Linux系统中Shell命令和SFTP上传文件
一.工具:SSH.Net 网址:https://github.com/sshnet/SSH.NET 二.调用命令代码: Renci.SshNet.SshClient ssh = "); ss ...
- Linux基础教程 linux下使用find命令根据系统时间查找文件用法
LinuxFind 兄弟连Linux培训 总结这些时间戳包括 复制代码代码如下: mtime 文件内容上次修改时间 atime 文件被读取或访问的时间 ctime 文件状态变化时间 mtime 和 ...
随机推荐
- Android 演示 DownloadManager——Android 下载 apk 包并安装
本文内容 环境 项目结构 演示下载 参考资料 本文是 github 上 Trinea-Android-common 和 Trinea-Android-Demo 项目的一部分,将下载部分分离出来,看看如 ...
- 在CentOS 7上安装Kafka
简介 Kafka 是一种高吞吐的分布式发布订阅消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区.多副本.冗余,因此被广泛用于大规模消息数据处理应用. ...
- Java开发 - 异常 - 抛出异常
问题: 如何抛出一个系统异常并且捕获它 代码如下: public class ThrowDemo { static void demoproc() { try { throw new NullPoin ...
- C#学习记录二:高级数据存储方式
1,结构 结构和类的区别主要在于存储和访问方式,结构是一种值 数据类型,而类是一一种引用数据类型.所谓值数据类型存储个人理解是存在堆里面的,所谓引用数据类型存储在了栈里面,相当于存储了一个指针. 结构 ...
- Linq中的连接(join)
http://www.cnblogs.com/scottckt/archive/2010/08/11/1797716.html Linq中连接主要有组连接.内连接.左外连接.交叉连接四种.各个用法如下 ...
- Iterator接口用法
1.所有实现Collection接口的容器类都有一个iteractor方法,用于返回一个实现了Iteractor接口的对象, 2.Iteractor对象成为迭代器,用以实现对容器内元素的遍历操作 3. ...
- Android学习笔记八:用Broadcast Receiver跨进程(跨app)通信
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7515194.html 在前面介绍四大组件的时候提到了可以对外部事件进行过滤的Broadcast Receive ...
- 【转发】Linq To EF添加记录后获取添加的自增ID和叫“ID”的列不是自增列不让插入的问题
1:添加记录后,如何获取新添加的ID的值 比如,一个实体 TestEntity 对应一个表TestEntity(ID主键自增,Name,age),使用linq to ef 添加一条记录后,如何 ...
- java LimitedThreadPool
此线程池一直增长,直到上限,增长后不收缩(因为池子里面的线程是永生的).这个keepAliveTime参数设置的为Long.MAX_VALUE,所以池子里面的线程几乎不会因为idle而被termina ...
- 使用Dlib来运行基于CNN的人脸检测
检测结果如下 这个示例程序需要使用较大的内存,请保证内存足够.本程序运行速度比较慢,远不及OpenCV中的人脸检测. 注释中提到的几个文件下载地址如下 http://dlib.net/face_det ...