linux中find与三剑客之grep用法
find用法
find一般用来用来查找文件名称
根据文件的名称或者属性查找文件。
语法格式:
find [查找范围] [参数]
参数:
-name : 按照文件的名字查找文件
* :通配符
-iname : 按照文件的名字查找文件(忽略大小写)
-size : 按照文件的大小查询文件
+ : 大于
- : 小于
没符号 : 等于
-mtime : 按照修改时间去查询
+(可以省略) : n 天以前
- : n 天以内
-atime
-ctime
-user :按照用户的属主查询
-group : 按照用户的属组查询
-type : 按照文件的类型查询
d : 文件夹
l : 链接文件
s : 套接字文件
p : 管道文件
c : 字符文件
b :磁盘文件
f : 普通文件
-perm : 按照文件的权限查询(跟权限数字)
-inum : 根据index node号码查询
-a : 并且(可以省略,默认时并且)
-o : 或者
-maxdepth : 查询的目录深度(必须放置与第一个参数位)
-exec : 将find处理好的结果交给其他命令继续处理。
知识储备:
dd : 生成文件
if :从什么地方读
of : 写入到什么文件
bs : 每次写入多少内容
count : 写入多少次
案例:
案例1:查询/etc目录下hosts文件
[root@localhost ~]# find /etc/ -name 'hosts'
/etc/hosts
案例2:查询/etc目录下名称中包含hosts文件
[root@localhost ~]# find /etc/ -name '*hosts*'
案例3:要求把/etc目录下,所有的普通文件打包压缩到/tmp目录
[root@localhost /tmp]# tar -czPf /tmp/etcv2.tar.gz `find /etc/ -type f | xargs`
知识储备
| : 前面一个命令的结果交给后面一个命令处理
xargs : 把处理的文本变成以空格分割的一行
`` : 提前执行命令,然后将结果交给其他命令来处理








三剑客之grep
grep一般用来处理文本文件里的内容
linux三剑客之一,文本过滤器(根据文本内容过滤文件)。
语法格式:
grep [参数] [匹配规则] [操作对象]
参数:
-n : 过滤文本时,将过滤出来的内容在文件内的行号显示出来
-A : 匹配成功之后,将匹配行的后n行显示出来
-B : 匹配成功之后,将匹配行的前n行显示出来
-C : 匹配成功之后,将匹配行的前后各n行显示出来
-c : 只显示匹配成功的行数
-o : 只显示匹配成功的内容(一行里有多个匹配内容会打印多次)
-v : 反向过滤
-q : 静默输出
-i : 忽略大小写
-l : 匹配成功之后,将文本的名称打印出来
-R|-r : 递归匹配
-E : 使用拓展正则 等价于 egrep
知识储备:
$? : 上一行命令执行的结果,0代表执行成功,其他数字代表执行失败。
wc : 匹配行数
-l : 打印匹配行数
-c : 打印匹配的字节数
在/etc目录下,有多少个文件包含root。
grep -rl 'root' /etc/ | wc -l





正则表达式
普通正则在python博客里查询
linux里拓展正则有一下几个
拓展正则
{} :匹配的次数
{n} : 匹配n次
{n,} :至少匹配n次
{n,m} :匹配 n 到 m 次
{,m} :最多匹配m次
+ :匹配至少有一个前导字符
? : 匹配一个或零个前导字符
| :或
案例:
案例1:在/etc/passwd文件中,匹配以ftp开头的行
grep '^ftp' /etc/passwd
案例2:在/etc/passwd文件中,匹配以bash结尾的行
grep 'bash$' /etc/passwd
案例3:匹配本机中有哪些ip
ip a | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}'
案例4:要求将/etc/fstab中的去掉包含 # 开头的行,且要求 # 后至少有一个空格
grep -vE '^#\ +' /etc/fstab
案例5:找出文件中至少有一个空格的行
grep -E '\ +' xxx
案例6:将 nginx.conf 文件中以#开头的行和空行,全部删除
grep -vE '^\ *#|^$' /etc/nginx/nginx.conf
linux中find与三剑客之grep用法的更多相关文章
- linux 中解析命令行参数(getopt_long用法)
linux 中解析命令行参数(getopt_long用法) http://www.educity.cn/linux/518242.html 详细解析命令行的getopt_long()函数 http:/ ...
- 详解Linux中的cat文本输出命令用法
作系统 > LINUX > 详解Linux中的cat文本输出命令用法 Linux命令手册 发布时间:2016-01-14 14:14:35 作者:张映 我要评论 这篇 ...
- linux中的fork函数的基本用法
代码: #include <iostream> #include <string> #include <cstdio> #include <unistd.h& ...
- 13 Basic Cat Command Examples in Linux(转) Linux中cat命令的13中基本用法
Cat (串联) 命令是Linux/Unix开源系统中比较常用的一个命令.我们可以通过Cat命令创建一个或多个文件,查看文件内容,串联文件并将内容输出到终端设备或新的文件当中,这篇文章我们将会以实例的 ...
- Linux 中 x86 的内联汇编
工程中需要用到内联汇编,找到一篇不错的文章,趁机学习下. 原文地址:http://www.ibm.com/developerworks/cn/linux/sdk/assemble/inline/ 如果 ...
- 转帖:对linux中半增加半连接数量和防止服务器被dos攻击
.增大队列SYN最大半连接数 在Linux中执行命令"sysctl -a|grep net.ipv4.tcp_max_syn_backlog",在返回的"net.ipv4 ...
- Linux中配置环境变量
Linux中环境变量的搭建(推荐用法) 第一步:进入到/etc/profile.d文件夹下 cd /etc/profile.d 第二步:创建并编辑一个my_env.sh文件 vim my_env.sh ...
- Linux中find命令与三剑客之grep和正则
昨日内容回顾 1.每个月的3号.5号和15号,且这天时周六时 执行 00 00 3,5,15 * 6 2.每天的3点到15点,每隔3分钟执行一次 */3 3-15 * * * 3.每周六早上2点半执行 ...
- linux中三剑客之一grep命令
目录 一:grep语法格式: 二:参数: 三:正则表达式 1.linux正则表达式 2.普通正则表达式 四:正则与grep实战案例实战: grep简介: linux 三剑客之一,文本过滤器(根据文本内 ...
随机推荐
- mysql 锁表
mysql 查看锁表解锁-- 查看那些表锁到了show OPEN TABLES where In_use > 0;-- 查看进程号show processlist;--删除进程 kill 108 ...
- mac电脑sublime text3安装pretty json插件
因http://packagecontrol.io/地址被墙无法实现自动安装,导致sublime Text3安装插件非常麻烦,总是出现There Are No Packages Available F ...
- Vmware安装Ubuntu16.4的过程及出现问题的解决
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 1.下载Ubuntu镜像文件 Ubuntu16.4镜像文件下载地址:https://mirrors.aliyun.com/ubuntu-relea ...
- Ubuntu20安装nodejs和npm并切换阿里源
参考 阿里巴巴开源镜像站 Ubuntu20安装npm并切换阿里源 安装直接在终端执行 sudo apt-get install nodejs npm没有安装上就执行 sudo apt-get inst ...
- vim设置自动添加头部注释
#自己改了改vim开头文件,如下图# 友友们可以直接修改·SetTitle() if v:lang =~ "utf8$" || v:lang =~ "UTF-8$&quo ...
- 托管调试助手 "DisconnectedContext":“针对此 RuntimeCallableWrapper 向 COM 上下文 0xd47808 的转换失败,错误如下: 系统调用失败。
参考资料 托管调试助手 "DisconnectedContext":"针对此 RuntimeCallableWrapper 向 COM 上下文 0xd47808 的转换失 ...
- P1030
题面 给出一棵二叉树的中序排列与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度≤8). 输入格式 2行,均为大写字母组成的字符串,表示一棵二叉树的中序排列与后序排列. 输出格式 1 ...
- Java基础 - 泛型详解
2022-03-24 09:55:06 @GhostFace 泛型 什么是泛型? 来自博客 Java泛型这个特性是从JDK 1.5才开始加入的,因此为了兼容之前的版本,Java泛型的实现采取了&quo ...
- 使用 Spring Cloud 有什么优势?
使用 Spring Boot 开发分布式微服务时,我们面临以下问题 与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题. 服务发现-服务发现工具管理群集中的流程和服务如何查找 ...
- 是否可以继承String类?
String 类是final类,不可以被继承. 补充:继承String本身就是一个错误的行为,对String类型最好的重用方式是关联关系(Has-A)和依赖关系(Use-A)而不是继承关系(Is-A) ...