Linux Shell基础 管道符和grep命令
概述
管道符:管道符使用"丨"代表。如"命令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命令
[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命令的更多相关文章
- linux shell编程学习笔记(二) --- grep命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...
- Linux Shell脚本入门--grep命令详解
grep简介<摘自鸟哥,并加以整理.> grep (global search regular expression(RE) and print out the line,全面搜索正则表达 ...
- Linux shell基础(五)sed命令
一.sed命令 sed是一种强大的流式编辑器 (stream editor for filtering and transforming text),它能够完美的使用正则表达式,逐行处理文本并把结果显 ...
- Linux Shell基础(下)
Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...
- Linux shell基础知识(上)
Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...
- linux shell 基础 使用日志与心得
linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现#!/bin/bash是指此脚本使用/bin/bash来解释执行.其中,#!是一个特殊的表示符,其后,跟着解释此脚 ...
- Linux shell下30个有趣的命令
Tips 原文作者:Víctor López Ferrando 原文地址:30 interesting commands for the Linux shell 这些是我收集了多年的Linux she ...
- Linux Shell脚本入门--cut命令
Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...
- Linux Shell脚本入门--wget 命令用法详解
Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...
随机推荐
- LeetCode447. Number of Boomerangs
Description Given n points in the plane that are all pairwise distinct, a "boomerang" is a ...
- gstreamer 10.5版本发布啦
- Photoshop脚本之储存图片
function saveEPS( doc, saveFile ) { var saveOptions = new EPSSaveOptions( ); saveOptions.encoding = ...
- ASP.NET动态网站制作(25)-- ADO.NET(4)
前言:这节课老师主要讲网页当中内容的分页效果,自己写一个分页控件. 内容: 1.首先写出HTML代码: <div id="pager"> <%=GetPagerH ...
- ios --跳转到支付宝
//跳转到支付宝 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request nav ...
- android Service 保持不被杀死
Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStart ...
- [Spring Data MongoDB]学习笔记--注册一个Mongo实例
1. 通过Java based bean metadata @Configuration public class AppConfig { public @Bean Mongo mongo() thr ...
- 常用代码块:java使用系统浏览器打开url
方法一:用于windows try { Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler "+url) ...
- return和yield的区别
# return 返回给调用者值,并结束此函数.#yiled 返回给调用者值,并将指针停留着当前位置.
- Unity3D游戏开发从零单排(六) - 人物运动及攻击连击
提要 今天要实现的是一个简单人物控制器. 包括用w,a,s,d来控制人物上下左右跑动,鼠标左击发出连招,都是基于老的lagacy的动画.尽管unity3d自带有charactorcontroller, ...