在日常工作中,我们常常会在自己的电脑寻找某些不知道放在哪里的私密文件,通常我们会在资源管理器的搜索栏里输入一些关键字去帮助我们快速去定位查找该文件。在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的一些简单应用

linux中grep命令查找目录下,linux中查找grep与find命令的使用相关推荐

  1. linux中的文件夹压缩文件,linux将文件拷贝到目录下Linux下文件的压缩与打包详解...

    在Linux中,有很多的压缩命令.利用这些压缩命令,可以方便的从网络上下载大型的文件.同时,我们知道,Linux文件的扩展名是没有特殊意义的,不过,因为Linux下存在着许多压缩命令,所以为了方便记忆 ...

  2. windows 查找目录下文件中包含某个字符的文件

    一.可以使用windows自带的findstr来实现. 例子(1) findstr /s /i "string" . 上面的命令表示,当前目录以及当前目录的所有子目录下的所有文件中 ...

  3. linux 获取上两级目录下,Linux系统目录大小通过du命令获取实例

    使用过 Linux 系统的小伙伴都知道应该都知道, Linux 系统下的 ls 命令通常被我们用来查看文件目录的内容,但是不知道大家有没有细心留意,ls 命令所显示出来的每一个目录的大小竟然都只有 4 ...

  4. Linux中bashrc在哪个目录下,Linux 在bash.bashrc中添加 一个目录

    1.   在/etc/bash.bashrc 文件最后添加如下 PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/usr/bin #P ...

  5. linux硬件信息在哪个目录下,Linux 查看系统硬件信息

    下面介绍下在centos下硬件信息的查看,在Linux下查看需要用到各种命令,不像Windows上可以非常直观地看到. 查看所有硬件的信息 1)dmidecode 2)dmesg Dmidecode  ...

  6. linux脚本一般放在哪个目录下,Linux Deepin 将脚本放在个人目录下直接执行

    在 Linux Deepin 下,如何将 Bash 脚本放在个人目录下并能够不指定路径而直接执行脚本? 今天我们就以这个问题作为切入点,继续讲一下 Bash 的一些基础知识. 现在,我们打开文本编辑器 ...

  7. windows 查找目录下文件中包含某个字符串

    可以使用windows自带的findstr.exe来实现. findstr.exe /s /i "string" *.*   上面的命令表示,当前目录以及当前目录的所有子目录下的所 ...

  8. linux将光驱挂载到目录下,Linux操作系统下关于光驱的挂载

    Linux操作系统下关于光驱的挂载 Linux将每一个物理设备都映射成了一个文件,这些文件都放在了/dev文件(linux中目录也是文件)下面,光驱映射成的文件就是一个名为cdrom的文件.mount ...

  9. python 查找文件内容字符串位置_python 查找目录下 文件名中含有某字符串的文件...

    有坑的地方: 若是代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文 ...

最新文章

  1. STM32 电机教程 32 - 基于ST X-CUBE-SPN7 无刷无感电机库的电机驱动实现
  2. 1、SpringBoot------表单校验
  3. Codeforces 1276D/1259G Tree Elimination (树形DP)
  4. 5种网络IO模型:阻塞IO、非阻塞IO、异步IO、多路复用IO、信号驱动IO
  5. cv2.minAreaRect() 生成最小外接矩形
  6. python字符串怎么用_零基础如何使用python处理字符串?
  7. 深度学习模型可解释性初探
  8. SpringBoot 简单实现仿CAS单点登录系统
  9. ASP.NET MVC 使用 Datatables (1)
  10. 负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解
  11. 自定义验证之整数(包括0和负数)
  12. visio 输出mysql_Visio2010建立ER图并直接导出为SQL语句
  13. Java proxy 代理
  14. 适合高要求应用的高性能MEMS IMU解决方案
  15. element-ui表格表头内容 限制不换行
  16. iphone新旧手机数据传输已取消_安卓厂商要被苹果带坏,外媒称三星S21也要取消充电头或耳机|耳机|三星|iphone|安卓|安卓手机...
  17. autoware官方入门教使用
  18. 3DMAX软件可以运用到哪些行业?次世代游戏建模怎么样?
  19. linux配置文件如何排序,Linux系统中sort排序命令的使用教程
  20. 华为云数据库-RDS for MySQL数据库

热门文章

  1. 文献记录(part31)--Dynamic relationship identification for abnormality detection on financial time ...
  2. 特征工程(part3)--扁平化、过滤和分块
  3. R语言观察日志(part4)--paste函数
  4. SAP UI5 应用开发教程之五十二 - 如何使用 SAP UI5 的标准控件结合 Cordova 插件调用手机摄像头进行条形码扫描试读版
  5. SAP 电商云 Spartacus UI 支持延迟加载的新功能的入口设计
  6. web 应用开发最佳实践之一:避免大型、复杂的布局和布局抖动
  7. Spartacus integration library 文件夹的设计
  8. [重要!] SAP Spartacus加载网络请求的entity状态切换,统一在loader.reducer.ts里完成
  9. Angular TView和LView数据结构
  10. Fiori Elements - sap.ui.core.util.XMLPreprocessor2 - insert fragment