尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Linux常用文件查找命令

发布时间:2026/9/26 3:19:10

资讯中心
01
ARTICLE

Linux常用文件查找命令

Linux常用文件查找命令
目录一.查找文件——find1.1概述1.2基本语法1.3常用参数1.4示例二.文件过滤命令——grep2.1概述2.2基本语法2.3示例三.逐行处理工具——sed3.1概述3.2基本语法3.3示例四. 文本处理工具——awk4.1概述4.2基本语法4.3示例一.查找文件——find1.1概述find是Linux中最强大的查找命令它实时递归遍历目录树并执行相应的操作。1.2基本语法find [查找路径] [表达式]查找路径在哪个目录下查找合适的文件多个路径间用空格分隔默认目录是当前目录表达式筛选出符合条件的文件1.3常用参数表达式-name匹配与名字相同的文件-size匹配符合大小的文件-user匹配所有者-group匹配所有组-type b/d/c/p/l/f匹配文件类型如块设备、目录、字符设备、管道、链接、普通文件-xdev不跨越文件设备1.4示例1.查找根目录下的大于512M的普通文件不跨越文件设备并丢弃错误信息find / -size 512M -type f -xdev 2/dev/null二.文件过滤命令——grep2.1概述grep是 Linux 中最常用的文本过滤命令全称是Global Regular Expression Print作用是在文件或标准输入中按行搜索匹配指定模式的内容并输出匹配的行。2.2基本语法grep 选项 匹配内容/模式 文件名选项:-i忽略大小写-v反向匹配筛选出不匹配的内容-n显示行号-c只统计匹配行数-l只显示包含匹配内容的文件名-L只显示不包含匹配内容的文件名-E扩展正则匹配-w精确匹配单词-r递归搜索目录-o只输出匹配到的内容-A n显示匹配到的行及其后n行-B n显示匹配到的行及其前n行-C n显示匹配到的行及其前后n行--colorauto高亮匹配内容匹配模式^匹配内容的开头部分$匹配内容的结尾部分^[0]匹配以0开头的行^[0-9]匹配以任意数字开头的行2.3示例1.筛选出系统日志中的所有错误信息grep error /var/log/messages2.筛选出以root开头以bash结尾的内容并显示行号grep -n ^root.*bash /etc/passwd3.筛选出文件第二行到第六行的内容说明先为文件添加行数再去筛选文件指定行grep -n /etc/passwd | grep ^[2-6]:三.逐行处理工具——sed3.1概述sed命令是Linux 中强大的流编辑器Stream Editor用于对文本进行逐行处理可以实现查找、替换、删除、插入、追加、打印等操作。它常和grep、awk一起用于日志分析、配置修改、批量替换。工作流程1.从文件读一行放进模式空间。2.执行你给的脚本命令比如s替换、d删除、p打印等。3.默认情况下sed 会自动把模式空间里的内容输出到屏幕。4.清空模式空间读下一行。3.2基本语法sed [选项] 地址命令 文件名选项-n取消默认输出只输出处理后的行-e指定多个脚本命令-i直接修改源文件-i.bak修改原文件并备份为.bak-r/-E使用扩展正则--debug调试模式地址2:第2行2,62到6行$最后一行2,$2到最后一行/pattern/匹配存在pattern的行/start/,/end/匹配以存在start开始的行到存在end结尾的行!取反如2!p表示除第2行外命令p打印d删除s替换a匹配行后加内容i匹配行前加内容c替换整行q退出n读取下一行N追加下一行到模式空间显示行号3.3示例1.筛选出以o开头以1结尾的内容cat EOF 1.txt #创建文件 hello world 1 hhh EOFsed -n /o/,/1/p 1.txt #筛选文件内容2.筛选出文件内容的2到6行并保存到test.txt文件中sed -n 2,6p /etc/passwd test.txt3.筛选出文件内容的2行和6行保存到t1.txt文件中并保存行号说明首先显示文件行号接着修改模式空间将换行改成制表符最后将筛选的内容输出到t1.txt文件当中。sed /etc/passwd |sed N;s/\n/\t/ | sed -n 2p;6p t1.txt4.检验nginx中存在的模块nginx -V 21 | sed -n /configure arguments:/p四. 文本处理工具——awk4.1概述awk命令是一个强大的文本处理工具比grep和sed更擅长按列处理、统计计算、格式化输出。它本身是一门小型编程语言常用于日志分析、报表生成、数据提取。工作流程1.默认按空格或 Tab 分割成多个字段。2.$1 表示第 1 列$2 表示第 2 列$0 表示整行。3.执行 {} 中的动作。4.处理下一行。4.2基本语法awk [选项] 模式 {动作} 文件名选项-F指定输入分隔符-v定义外部变量-f从脚本文件读取 awk 程序内置变量$0当前整行$1第一列$2第二列$NF最后一列$(NF-1)倒数第二列NF当前行字段数NR当前行号FNR当前文件行号FileName当前文件名FS输入字段分隔符默认为空格/TabOFS输出字段分隔符默认为空格RS输入行分隔符默认为换行ORS输出行分隔符默认为换行内置函数system调用操作系统的shell命令。4.3示例1.指定文件分隔符输出第一列awk -F : {print $1} /etc/passwd2.输出行号和内容awk {print NR: $0} /etc/passwd3.筛选出文件的2到6行的内容awk NR2 NR6 /etc/passwd4.一键更改文件内的docker镜像文件名称说明将image.txt文件内的镜像文件名称统一更改成reg.westos.org/prometheus/软件名:tag。cat image.txt #查看镜像文件名称内容如下quay.io/prometheus/alertmanager:v0.33.0 quay.io/prometheus/blackbox-exporter:v0.28.0 registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.19.0 quay.io/prometheus/node-exporter:v1.11.1 quay.io/prometheus/prometheus:v3.12.0 registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.12.0 ghcr.io/jimmidyson/configmap-reload:v0.15.0 grafana/grafana:13.0.2 quay.io/brancz/kube-rbac-proxy:v0.22.0 quay.io/prometheus-operator/prometheus-operator:v0.92.0一键改名cat image.txt | awk -F / {system(docker tag $0 reg.westos.org/prometheus/$NF )}参数解释-F /使用 / 间隔system()调用shell命令执行awk脚本$0:读取当前整行$NF读取当前行的最后一列查看是否成功修改docker images |grep reg.westos.org/prometheus | awk {print $1:$2}
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。