grep检索关键字的命令_linux中查找grep与find命令的使用

在日常工作中,我们常常会在自己的电脑寻找某些不知道放在哪里的私密文件,通常我们会在资源管理器的搜索栏里输入一些关键字去帮助我们快速去定位查找该文件。在linux系统中也有这样的功能,只不过在linux中我们需要输入命令去查找(对于没有图形界面来说),下面介绍两个有用且有趣的命令。

----grep:

grep命令是用来查看文本文件内容,并显示包含指定“字符串”的行,其基本用法是

grep [选项]    '匹配字符串'     文本文件

1  grep –i '匹配字符串'  文本文件  #忽略需要匹配字符串中的大小写

例如:[root@localhost ~]# grep -i 'Root' /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

这条命令就是在/etc下的passwd文本文件中将含有root(不管大小写)匹配字符的行全部显示出来

2  grep  -v  '匹配字符串'文本文件#取反,将不含匹配的字符串的行全部显示出来

例如:[root@localhost ~]# grep -v 'root'/etc/passwd

这条命令就是将passwd文本文件中不含root字符的行显示出来

3  grep‘^word‘文本文件#将以word开头的行全部显示出来

例如:[root@localhost~]# grep '^root' /etc/passwd

root:x:0:0:root:/root:/bin/bash

这条命令就是将以root开头的行显示出来

4  grep‘word$‘文本文件#将以word结尾的行全部显示出来

例如:[root@localhost~]# grep 'bash$' /etc/passwd

root:x:0:0:root:/root:/bin/bash

amandabackup:x:33:6:Amandauser:/var/lib/amanda:/bin/bash

hentai:x:1000:1000:hentai:/home/hentai:/bin/bash

这条命令就是将passwd中以bash结尾的行全部显示出来

既然“^ $“字符串分别表示以某开头与以某结尾,那么,将这两个字符串结合起来用会怎样呢

[root@localhost~]# grep '^$' /etc/default/useradd

(空行)

[root@localhost~]#

从结果来看,就是将useradd文本中的含有的空行显示出来

那么grep  –v  '^$' /etc/default/useradd又表示什么呢

前面说到-v表示取反,那么这条命令就是将文本中的空行去除,显示出文本所有内容

有时候在linux中某些文件中有很多空行,不方便查看内容,这时就可以用这条命令

-----find

find命令相比于grep,要更强大一些,它后面可以接各种各样的条件,精确的查找出所需要的内容

基本用法find  [目录]    [条件1] [条件2]   [条件3]……

–常用条件有:

-type类型(f文件、d目录、l快捷方式)

-name  "文档名称"

-user用户名

1  find【目录】-type【f,d,l】

例如[root@localhost~]# find /boot/  -type l

/boot/grub/menu.lst #boot目录下的快捷方式

[root@localhost~]# find /opt/ -type f

/opt/123.txt  #opt下的文本文件

[root@localhost~]# find /boot/ -type d

/boot/

/boot/efi

/boot/efi/EFI

/boot/efi/EFI/centos

/boot/grub2

/boot/grub2/i386-pc

/boot/grub2/locale

/boot/grub2/fonts

/boot/grub        #查找boot目录下的子目录

2  find【目录】-name【文件名】

[root@localhost~]# find /etc/  -name passwd

/etc/pam.d/passwd

/etc/passwd    #找出etc目录下所有以passwd命名的文件夹及文本文件

3 find / -user【用户名】【条件】-exec cp -r {}【文件名】\;

例如:[root@localhost~]#  find / -user student –type l -execcp -r {} /root/abc/  \;

这条命令表示的是将student用户下所有快捷方式复制到root下的abc文件下,其中

-user student –type是你查找的条件

中间的“|“在linux中表示管道,作用是将不同命令的结果结合在一起输出,管道可以配

和各种命令一起使用,达到惊奇的效果

-exec是固定字符,记住就可以了

cp -r {} /root/abc/表示将find找到的内容复制到abc目录下,{}就是代表前面find知道的内容

\;反斜杠加分隔符表示命令结束

这个命令可以将各种想要的内容作各种处理,不妨将各种命令结合在一起试下,会有意想不到的效果

以上就是关于查找grep与find的一些简单应用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值