首页 > 系统相关 >Linux四剑客-find和grep

Linux四剑客-find和grep

时间:2024-08-23 18:21:53浏览次数:9  
标签:grep name etc Linux test type find

Linux四剑客之grep&find

1、grep

过滤:在文件中或管道中进行查找,找出想要的内容(字符串)默认按照行查找,grep会把匹配到的行显示出来。

1.1常用选项说明
grep选项说明
-niline-number 显示行号
-ignore-case 过滤的时候忽略大小写
-v排除,取反
-E匹配扩展正则,相当于egrep
1.2案例与应用
1)基本用法

grep "要找的内容" /etc/passwd

#在/etc/passwd中过滤出包含root的行
[root@yunwei ~]# grep 'root' /etc/passwd

在这里插入图片描述

grep 也可以对接管道

#过滤出sshd的进程
[root@yunwei ~]# ps -ef | grep 'sshd'

在这里插入图片描述

2) 显示内容和行号
显示/etc/passwd中包含root的行及行号
[root@yunwei ~]# grep -n 'root' /etc/passwd

在这里插入图片描述

3)过滤不区分大小写
过滤/var/log/secure文件中failed password的行不区分大小写
[root@yunwei ~]# grep -i 'failed password' /var/log/secure 

在这里插入图片描述

4)排除
排除/etc/passwd中的nologin的行
[root@yunwei ~]# grep -v 'nologin' /etc/passwd

在这里插入图片描述

5)匹配正则
匹配出/etc/passwd文件中所有小写字母
[root@yunwei ~]# grep -e '[a-z]' /etc/passwd
[root@yunwei ~]# egrep '[a-z]' /etc/passwd

在这里插入图片描述

补充:

四剑客 awk sed grep find

三剑客 awk sed grep

2、find

四剑客四号选择,擅长查找文件。在指定的目录中查找你要的文件,文件名。

find在指定目录中查找文件

find 目录 -type 指定类型 -name 指定名字

find命令选项说明
-type什么类型的文件,f表示文件 d表示目录
-name文件名
-size根据大小查找文件 +表示大于 -表示小于 +10k(小写K) +10M(大写) G
-mtime根据修改时间查找文件
-maxdepth查找文件的时候指定最多找多少层目录
#案例一 找出/etc/下面以.conf结尾的文件个数
find /etc/ -type f -name  "*.conf" | wc -l
149
​
#案例二 找包含wechat的文件夹: (可能是开头,可能是结尾,可能是中间)
find / -type d -name "*wechat*"
/wechat
find / -type d |grep "wechat"
/wechat
​
#案例三 根据大小找出文件 在/etc/目录下面找出大于10kb的文件数
find /etc/ -type f -size +10k | wc -l
270
​
#案例四 找出/etc/目录下以.conf结尾的,7天之前的文件数
find /etc/ -type f -name "*.conf" -mtime +7 | wc -l
149
​
#案例五 查找文件的时候指定最多找多少层目录.
find / -maxdepth 2 -type f -name "*.conf"
-maxdepth 1 选项位置第1个,指定find命令查找的最大深度 (层数),不加上就是所有层。
​
#案例六 查找的时候不区分文件名的大小写
find / -type f -iname "*.conf"

find与其他命令配合

#案例一 找出/test/find/以.txt结尾的文件显示详细信息
find /test/find/ -type f -name "*.txt" | xargs ls -l
ll -ih `find /test/find/ -type f -name "*.txt"`

故障原因:

前面的命令通过管道传递给后面命令,传递的是字符串 .

这个命令(ls)中传递文字符号不行,要传递参数

在这里插入图片描述

#案例二 find找出/test/find/以.txt结尾的文件放在/test/txt.tar.gz
tar zcf /test/txt.tar.gz `find /test/find/  -type f -name "*.txt"` 
find -type f -name "*.txt" | xargs tar zcf /test/find/txt.tar.gz
find -type f -name "*.txt" -exec tar zcf /test/find/txt.tar.gz {} +
有坑,因为-exec;执行方式 1个文件1个文件的压缩
​
#案例三 find找出/test/find/ 以.txt结尾的文件然后复制到/tmp下面
cp -t /tmp/ `find /test/find/  -type f -name "*.txt"`
find /test/find/  -type f -name "*.txt" | xargs cp -t /tmp/
​
find /test/find/  -type f -name '*.txt -exec ls -lh {} ;
-exec是find选项,表示find找出文件后要执行的命令
{}表示前面find命令找出的文件。
;表示命令结束,固定格式.

踩坑指南

tips:细看常用命令语法,目录和顺序

cp -a 源文件 源目录 目标

cp -t 目标路径 源文件

-t调转方向

-a集成了 -r递归目录下文件 和 -dp并保留所有相关的属性

find 目录 -type -name ""

tar zcf *.tar.gz 文件

正确用法:
[root@yunwei test]# tar zcf test.tar.gz /test/find/*
错误用法:
[root@yunwei test]# tar zcf test1.tar.gz /test/find/
在这个例子中,/test/find/ 是目标目录,tar 将会打包这个目录及其所有内容。

标签:grep,name,etc,Linux,test,type,find
From: https://blog.csdn.net/sujiade2/article/details/141295505

相关文章

  • Linux hosts主机名不对
    Linux的root用户和oracle用户显示的主机名不一致安装完oracle之后,root用户的主机名为localhost,但是oracle用户的主机名显示bogon。转载:Linuxhosts主机名不对1、现象:[root@bogon~]#[root@bogon~]#hostnamebogon2、查看几个相关文件,都正确[root@bogon~]#vi/etc/sysc......
  • VMware部署Linux使用代理
    代理软件配置以clashverge为例在Linux虚拟机配置临时代理,关闭终端失效exporthttp_proxy=http://10.0.0.1:7897exporthttps_proxy=http://10.0.0.1:7897exportftp_proxy=http://10.0.0.1:7897exportno_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"......
  • Linux PXE高效批量网络装机
    目录一、PXE概念1.PXE基本概念  2.优点 3.实现PXE的前提条件 4.搭建PXE远程安装服务器二、搭建PXE远程安装服务器1.安装并启用TFTP服务 2.安装并启用DHCP服务3.准备Linux内核、初始化镜像文件4.准备PXE引导程序5.安装FTP服务,准备CentOS7安装源6.......
  • linux 安装 jenkins
    1、下载jenkinswar安装包官方地址:https://www.jenkins.io/download/注:需要注意jenkins版本和jkd版本匹配问题2、将war包上传服务器,启动war包即可启动命令:nohupjava-Djava.awt.headless=true-Djava.io.tmpdir=/data/jenkins/jenkins_home/tmp-jarjenkins-*.*.war--http......
  • Kali Linux 秘籍 中文版
    《KaliLinux秘籍中文版》是一本由WillieL.Pritchett和DavidDeSmet合著的专业书籍,由飞龙翻译,采用CCBY-NC-SA4.0版权协议。这本书详细介绍了KaliLinux的安装、配置和使用技巧,特别是针对渗透测试和网络安全方面的工具和方法。###安装KaliLinux根据《KaliLinux秘籍......
  • Linux系统性能调优指南-监控与报警
    目录监控与报警实时监控示例示例代码Nagios配置示例监控与报警在Linux系统中,持续监控系统资源使用情况并及时发现潜在问题是保证系统稳定运行的关键。下面将详细介绍如何使用Nagios和Zabbix等工具来实现监控与报警功能。实时监控Nagios和Zabbix是两种非常流行的......
  • 从百度网盘中下载文件到linux服务器
    前提:先安装python环境1.安装包pipinstallbypy2.认证(第一次连接需要认证)bypyinfo 3.浏览器中打开,复制授权码,enter输入 4.认证成功后,在网盘中的“我的应用数据”目录下看到bypy目录,将要传输的数据放入bypy文件夹中。5.下载文件或者下载文件夹bypydownfile123ata.zi......
  • 阿里巴巴中间件canal的搭建和使用以及linux命令下使用mail发送html格式的邮件
    一、阿里巴巴中间件canal的搭建和使用    canal可以用来监控数据库数据的变化(binlog日志),从而获得指定数据的变化。canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求时开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅......
  • linux 的启动步骤
    Linux的启动过程分为多个阶段,每个阶段都扮演着重要的角色,从引导加载程序到启动用户空间的服务和应用程序。以下是Linux启动的典型步骤:1.BIOS/UEFI阶段BIOS/UEFI启动:当计算机开机时,BIOS(传统系统)或UEFI(较新的系统)会运行硬件自检(POST),然后查找启动设备(例如硬盘、USB或光......
  • 在Linux中,查看所有正在运行的进程?
    在Linux中,查看所有正在运行的进程可以使用多种命令,这些命令提供了不同的信息和视图。以下是一些常用的命令:1. ps 命令ps(ProcessStatus)是一个基本的进程查看工具,它可以显示当前系统中活动进程的状态。psauxaux选项组合表示查看所有用户的所有进程。查看特定用户的......