概述

管道符:管道符使用"丨"代表。如"命令1丨命令2"。表示命令 1 的正确输出作为命令 2 的操作对象。命令 1 必须有正确输出,而命令 2 必须可以处理命令 1 的输出结果。

grep命令:在文件中提取和匹配符合条件的字符串行。

管道符

1. 在使用"||"命令査看/etc/ 目录时显示的内容非常多,只能看到最后的内容,而不能看到前面输出的内容,此时可以用管道符将输出的结果作为more的操作对象,让more 命令分屏显示文件内容,命令如下:

[root@localhost ~]# ll -a /etc/|more

2. 查询一下本地所有网络连接,提取包含 ESTABLISHED(已建立连接)的行,命令如下:

[root@localhost ~]# netstat -an | grep "ESTABLISHED"

3. 查询具体的网络连接数量,再使用wc命令统计行数

[root@localhost ~]# netstat -an | grep "ESTABLISHED" | wc-l

grep命令

 grep 的作用是在文件中提取和匹配符合条件的字符串行。命令格式如下:
[root@localhost ~]# grep [选项] "搜索内容" 文件名

选项:

  • -A 数字:列出符合条件的行,并列出后续的 n 行;
  • -B 数字:列出符合条件的行,并列出前面的 n 行;
  • -c:统计找到的符合条件的字符串的次数;
  • -i:忽略大小写;
  • -n:输出行号;
  • -v:反向査找;
  • --color=auto:搜索出的关键字用颜色显示;

查找用户信息文件/etc/passwd中有多少可以登录的用户

[root@localhost ~]# grep "/bin/bash" /etc/passwd

grep 是行提取命令,所以只要一行数据中包含"搜索内容",就会列出整行的数据。在这个例子中,会在 /etc/passwd 文件中列出所有包含"/bin/bash"的行,而我们已知只有可登录用户的 Shell 才是"/bin/bash",而伪用户的 Shell 是"/sbin/nologin",所以这条命令会列出当前系统中所有可以登录的用户。

列出符合条件的行,并列出后续的 n 行

查找包含"root"的行,并列出后续的3行

[root@localhost ~]# grep -A  "root" /etc/passwd

列出符合条件的行,并输出行号

查找可以登录的用户,并显示行号

[root@localhost ~]# grep -n "/bin/bash" /etc/passwd

列出符合条件的行,再反向査找

查找不包含"/bin/bash"的行,其实就是列出所有的伪用户

[root@localhost ~]# grep -v "/bin/bash" /etc/passwd

grep和find命令的区别

find命令

find 命令用于在系统中搜索符合条件的文件名,如果需要模糊査询,则使用通配符进行匹配。find 命令也使用 -regex 选项通过正则表达式规则进行匹配查找,而正则表达式是模糊匹配。

grep命令

grep 命令用于在文件中搜索符合条件的字符串,如果需要模糊査询,则使用正则表达式进行匹配。搜索时字符串是包含匹配的。grep 命令和 find 命令不一样,使用 grep 命令在文件中査找符合条件的字符串时,只要搜索的内容包含在数据行中,就会列出整行内容。

Linux Shell基础 管道符和grep命令的更多相关文章

  1. linux shell编程学习笔记(二) --- grep命令

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...

  2. Linux Shell脚本入门--grep命令详解

    grep简介<摘自鸟哥,并加以整理.> grep (global search regular expression(RE) and print out the line,全面搜索正则表达 ...

  3. Linux shell基础(五)sed命令

    一.sed命令 sed是一种强大的流式编辑器 (stream editor for filtering and transforming text),它能够完美的使用正则表达式,逐行处理文本并把结果显 ...

  4. Linux Shell基础(下)

    Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...

  5. Linux shell基础知识(上)

    Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...

  6. linux shell 基础 使用日志与心得

    linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现#!/bin/bash是指此脚本使用/bin/bash来解释执行.其中,#!是一个特殊的表示符,其后,跟着解释此脚 ...

  7. Linux shell下30个有趣的命令

    Tips 原文作者:Víctor López Ferrando 原文地址:30 interesting commands for the Linux shell 这些是我收集了多年的Linux she ...

  8. Linux Shell脚本入门--cut命令

    Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...

  9. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

随机推荐

  1. 从一个实例看javascript几种常用格式的转换

    要对如图一所示的左侧table的数据按照“总量”进行排序 1,在前端实现 2,数据格式为object,如图二 原创文章,转载请注明:http://www.cnblogs.com/phpgcs java ...

  2. vCenter创建标准网络

          vmware虚拟化,有2种网络类型,一种是标准网络,另外一种是分布式网络.这里重点介绍标准网络,标准网络可通过vCenter创建vSwitch标准虚拟交换机(vSS).vSS的承载体是物理 ...

  3. spring oauth Role and Authority and scope

    使用hasRole class Grant implements GrantedAuthority{ @Override public String getAuthority() { return & ...

  4. Ext扩展的QQ表情选择面板

    Ext扩展的QQ表情选择面板 define(function () { EmoteChooser = function(cfg){ this.width=340; this.height=112; t ...

  5. PHP中MVC的编程思想浅谈

    我相信这样的文章已经被写烂了,但是我今天还是愿意冒着风险把自己的经验与大家分享一下.纯属原创,我也没什么可保留,希望对新手有帮助,有说的什么不对的地方,欢迎大家伙吐槽. 什么是MVC? 简单的说就是将 ...

  6. 一道Google面试题——基数排序思想

    题目描述: 一个大小为n的数组,里面的数都属于范围[0,n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间. 算法分析: 这个题目要求用O(n)的时间复杂度,这意味着只 ...

  7. EasyNVR摄像机网页无插件直播使用过程中问题的自我排查-设备不在线问题的自我排查

    系列背景 由于EasyNVR的受众越来越多,时长会遇到很对类似的问题咨询,之前虽然有写过很多的博文进行技术的或者使用问题的解答,随着客户询问的增多,我发现,要想然客户了解问题和解决问题,往往引导和给一 ...

  8. 关于webpack打包js和css

    废话不多说,直接贴出代码,大家瞅瞅:其中要引用css的话是要用css-loader.用了之后再webpack.config.js里面配置相应的代码,并且在相应的js文件里面引用即可啦,不知道有哪位大神 ...

  9. maven仓库添加本地jar

    一.将jar添加到本地仓库的做法: 以下面pom.xml依赖的jar包为例: 实际项目中pom.xml依赖写法: <dependency> <groupId>org.sprin ...

  10. jPage.js分页

    jPage.js插件使用文档 这一款插件主要是为了bootstrap原生的分页功能效果不理想而诞生的一款插件. jPage.js代码更新地址为:https://github.com/leslieSie ...