【Linux学习笔记】8. Linux查找命令:find和grep详解

article/2025/7/22 10:00:05

Linux查找命令

  • find查找文件
  • grep查找字符串

1. find命令

有多种使用方式:

  • 根据文件名搜索
  • 根据文件大小搜索
  • 根据文件类型搜索
  • 根据修改时间搜索
  • 根据文件权限搜索
  • 根据文件所有者搜索

上面的各种方式可以利用逻辑与或非组合起来使用。

功能一:按文件名搜索

常用用法

find path -option content 

参数说明

参数说明
path搜索路径,可以为多个目录,默认为当前目录“.
-option搜索选项,用来指定搜索的依据,比如指定文件名"-name"
content搜索内容,一般是文件名

关于第二个参数-option的选项非常多,按文件名搜索常用的有:

  • -name: 按照文件名搜索
  • -iname:按照文件名搜索,不区分大小写
  • -inum: 按照inode号搜索

举个例子

在根目录下査找文件名是yum.conf的文件:

find / -name yum.conf
find / -iname YUM.CONF	#可以不区分大小写,这样也可以搜出来

在当前目录根据inode号搜索文件:

find . -inum 262147

这是区分硬链接文件的重要手段,硬链接文件的 inode 号是一致的。

功能二:按文件大小搜索

find path -option content 
参数说明
path搜索路径,可以为多个目录,默认为当前目录“.
-option搜索选项,按照文件大小搜索需指定为"-size"
content搜索内容,指定文件大小,用“+,-”指定范围

关于第二个参数-option搜文件大小要指定为-size

关于第三个参数content的选项在按照文件大小搜索时可以指定文件的大小

  • +:表示大于
  • -:表示小于
  • c:表示单位为字节
  • k:表示单位为KB
  • M:表示单位为MB
  • G:表示单位为GB

举个例子

査找当前目录下大小刚好是25KB的文件

find . -size 25k

查找当前目录下小于25MB的文件

find . -size -25M

查找当前目录下大于25Byte的文件

find . -size +25c

功能三:按文件类型搜索

-option的选项:

  • -type d:查找目录
  • -type f:查找普通文件
  • -type l:查找软链接文件

举个例子

查找/etc目录下有哪些子目录:

find /etc -type d

功能四:按修改时间搜索

-option的选项:

  • -atime [±]时间: 按照文件中的数据最后被访问的时间搜索
  • -mtime [±]时间: 按照文件内容被修改的最后时间搜索
  • -ctime [±]时间: 按照文件的权限、拥有者、所属的组、链接数发生改变的时间搜索

举个例子

查找当前目录5天内修改过的文件

find . -mtime -5

功能五:按文件权限搜索

第二个参数-option要指定为-perm

第三个参数content可以指定权限,如777,

指定权限时可以支持[+/=]:

  • 777表示查找权限等于"777"的文件
  • -777表示包含"777"全部权限的文件
  • +777表示包含“777”任一权限的文件

举个例子

查找当前目录包含200权限的文件:

find . -perm -200

这个命令可以查找出当前目录权限为2xx6xx7xx权限的文件。

功能六:按文件所有者搜索

-option的选项有:

  • -uid 用户 ID:按照用户 ID 査找所有者是指定 ID 的文件
  • -gid 组 ID:按照用户组 ID 査找所属组是指定 ID 的文件
  • -user 用户名:按照用户名査找所有者是指定用户的文件
  • -group 组名:按照组名査找所属组是指定用户组的文件
  • -nouser:査找没有所有者的文件

举个例子

查找文件所有者是root的文件

find . -user root

组合搜索

find path -option1 content1 -logic -option2 content2

-logic的选项有:

  • -a:and逻辑与
  • -o:or逻辑或
  • -not:not逻辑非

默认缺省时是-a逻辑与的关系。

举个例子

在当前目录下搜索大于2KB,并且文件类型是普通文件的文件

find . -size +2k -a -type f
#等价于
find . -size +2k -type f

在当前目录下搜索文件名要么是hello.c的文件,要么是main.c的文件

find . -name hello.c -o -name main.c

2. grep命令

功能:用来搜索文件内容含指定字符串的行。

基本用法:

grep -option "string" pathfile

关于第二个选项-option是grep命令的关键,可以指定搜索的方式:

选项功能
-rrecursive递归查找
-vinvert,反向查找,即不包含"string"的行
-nnum,同时显示行号
-iignore,不区分大小写
-l显示内容包含“string”的文件
-L显示内容不包含“string”的文件
-A1after 1,同时显示查找到的内容的后1行
-B2before 2,同时显示查找到的内容的前2行
-C3相当于after 3 + before 3,同时显示前后3行
-e相当于egrep,扩展正则表达式

举个例子

找出当前目录及子目录中.sh文件内容含有"test"的文件,并显示行号和前后1行

grep -nrC1 "test" *.sh

image-20220421190611256

找出当前目录中的所有txt文件内容中含有first单词的文件

grep -l "first" *.txt

反向操作只需把 -l 变成 -L 即可。

利用管道将find和grep联合使用

从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 “ERROR” 的行:

find / -type f -name "*.log" | xargs grep "ERROR"

从当前目录开始查找所有扩展名为 .in 的文本文件,并找出包含 “thermcontact” 的行:

find . -name "*.in" | xargs grep "thermcontact"

2022.04.21

参考:C语言中文网 菜鸟教程


http://chatgpt.dhexx.cn/article/RosKvuCU.shtml

相关文章

linux查找命令,文件就这些which,whereis,locate,find,grep,|

linux生产中我们经常需要查看某个软件是否安装,某个文件在哪里等,某个命令是否存在等。 1. which 查看可执行文件的位置 which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果…

linux 查找命令

CentOS Linux学习笔记总结(八十六)-CentOS Linux系统的查找命令find find命令是用于在指定目录下查找文件,并可以对查找到的文件进行指定的操作。它的查找是从指定目录开始,并向下递归搜索它的所有各个子目录,查到后标准输出,并对其进行指定操作。 find语法: find [参…

Linux下4个查找命令which、whereis、locate、find

1.which 作用:从环境变量PATH中,定位、返回与指定名字相匹配的可执行文件所在的路径 原理:执行which命令时,which会在当前环境变量PATH中依次寻找能够匹配所找命令名字的可执行文件 适用场合:一般用于查找命令、可执行文件所在的路径 2.whereis 作用:定位、返回与指定名字…

Linux 查找命令(find、locate 、grep )

学习Linux系统的第五篇博客:学习如何查询文件。 一、find 命令 作用: 在指定范围内迅速查找到文件。 用法: find 路径 参数 文件名 例如: 查找自己账户下文件名为test.txt的文件 命令:find /home/ygt -name test.tx…

景区门票管理系统

1、项目介绍 景区门票管理系统拥有两种角色 管理员:景点管理、留言管理、用户管理、订单管理等 用户:留言、门票购买、修改个人信息等 2、项目技术 后端框架: Servlet、mvc模式 前端技术:Bootstrap、jsp、css、JavaScript、…

景点景区门票购买核销宴会活动报名公众号系统开发

景点景区门票购买核销宴会活动报名公众号系统开发 功能特性 1.活动管理 可以新建一场或多场活动,管理每一场活动;与此同时,可以添加多张收费或免费门票,满足特定的需求;填写举办城市后,客户可通过定位服务&…

条件判断练习:门票价格【Python练习】

if-else语句 在 Python 中,if-else语句用于控制程序执行,基本形式为: if 判断语句1: step1 else:step2当判断语句1为真时,执行step1,否则执行step2。例如: name choose #判断变量name是否…

旅游景区怎么在抖音上卖门票?

抖音日活超8亿,流量巨大,而且是国内最大的短视频平台。 而景区拥有优美自然旅游资源,可以源源不断产出优质视频,非常适合短视频宣传,抖音如今堪称景区必做的营销渠道。 景区也想要在抖音上售卖门票,减少客户…

Java 一个景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段决定能够购买的门票价格并输出说明:11岁到59岁的门票是20,10岁及以下免票,60岁以上10元。

先创建一个类,储存信息。 package sqy; import java.util.Scanner; public class Passager {String name;int age;public void piaojia() {do {Scanner in new Scanner(System.in);System.out.print("请输入姓名(输入n,退出程序): &qu…

送点门票给大家

阅读文本大概需要 2.6 分钟。 先说一句,昨天的文章又被和谐了,搞不懂,其实我感觉也没说啥敏感的吧,说的都是大实话,哎,这年头,实话都不敢随便说了,大号连续被和谐,再乱说…

多平台购买门票,退款中的被消费,导致损失两张门票的屎蛋经历(追回钱的过程深刻展示了中国式踢皮球)

一、事由: 美团买了瓦屋山门票,购买后发现支付宝的更便宜,就退了美团的(退款周期4天),结果第二天把退款中的消费了…………what fck,,,作为程序猿,这屎蛋逻辑…

【论文阅读】LOAM: Lidar Odometry and Mapping in Real-time

一、概述 Loam主要是一种激光匹配slam的方法,也就是一种定位与建图的方法,相比于其他的制图方法,loam主要解决的是雷达快速移动的过程中的畸变问题,如果雷达的扫描速度和雷达的移动速度相差太大,会导致扫描过程中偏差…

使用EKF融合odometry及imu数据

整理资料发现早前学习robot_pose_ekf的笔记,大抵是一些原理基础的东西加一些自己的理解,可能有不太正确的地方。当时做工程遇到的情况为机器人在一些如光滑的地面上打滑的情形,期望使用EKF利用imu对odom数据进行校正。就结果来看,…

【论文阅读】LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain

LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain 文章摘要I. 简介II. 硬件系统III. 轻量级激光雷达里程计和建图A. 系统概况B. 分割C. 特征提取D. 激光里程计E. 激光建图 IV. 实验V. 总结与讨论 本文主要是对LeGO-LOAM论文的一些…

ros移动机器人,激光雷达里程计rf2o_laser_odometry的使用与分析

目录 1.问题分析 2.激光雷达里程计 2.1 代码下载 2.2 使用方法 (1) ERRO:“base_link” passed to lookupTransform argument source_frame does not exist. (2)"Waiting for laser_scans...." (3)无法发布odom->base_footprint的tf信息 2.3 导…

Super odometry:以IMU为核心的激光雷达视觉惯性融合框架(ICRA2021)

Super Odometry: IMU-centric LiDAR-Visual-Inertial Estimator for Challenging Environments 作者:Shibo Zhao,Hengrui Zhang, Peng Wang, Lucas Nogueira,Sebastian Scherer 论文地址:https://arxiv.org/pdf/2104.14938.pdf 视…

svo: semi-direct visual odometry 论文解析

SVO 从名字来看,是半直接视觉里程计,所谓半直接是指通过对图像中的特征点图像块进行直接匹配来获取相机位姿,而不像直接匹配法那样对整个图像使用直接匹配。整幅图像的直接匹配法常见于RGBD传感器,因为RGBD传感器能获取整幅图像的…

LIMO: Lidar-Monocular Visual Odometry

IROS2018的论文 本文提出了LIMO SLAM框架,主要工作是融合了LiDAR和Monocular。 https://github.com/johannes-graeter/limo 前端 特征 本文使用的是viso2特征,它能 non-maimum suppression, outlier rejection 和 subpixel refinement. 30-40ms能提…

Visual Odometry技术 (Of VSLAM)

目录 什么是SLAM 经典视觉SLAM框架 Visual Odometry Lucas–Kanade光流 Acknowledgements and References 什么是SLAM SLAM是Simultaneous localization and mapping缩写,意为“同步定位与建图”1。它是指搭载了特定传感器的主体,如机器人或者无人…

ROS 位置姿态Odometry仿真模拟(gmapping)

使用单纯的雷达数据进行 2D 建立图像的时候,建图的效果和雷达的性能也有关系,雷达的扫描频率会随着小车的移动速度增大而变化,通过更改扫描的频率来更新栅格地图的完整性。 点击DEMO-LINK 所需要的环境 ubuntu 18.04 ROS Melodic desktop fu…