Linux输入输出重定向和文件查找值grep命令

一、文件描述符
Linux 的shell命令,可以通过文件描述符来引用一些文件,通常使用到的文件描述符为0,1,2。Linux系统实际上有12个文件描述符,通常使用的文件描述符如下图

文件 文件描述符
输入文件—标准输入 0(缺省是键盘,为0时是文件或者其他命令的输出)
输出文件—标准输出 1(缺省是屏幕,为1时是文件)
错误输出文件—标准错误 2(缺省是屏幕,为2时是文件)

二、文件重定向:改变程序运行的输入和输出,也就是输入源和输出地点,具体释义如下
 输出重定向:

Command > filename 把标准输出重定向到一个新文件中,当filename不存在时
Command >> filename 把标准输出重定向到一个文件中(追加)
Command > filename 把标准输出重定向到一个文件中
Command > filename 2>&1 把标准输出和错误一起重定向到一个文件中
Command 2 > filename 把标准错误重定向到一个文件中
Command 2 >> filename 把标准输出重定向到一个文件中(追加)
Command >> filename2>&1 把标准输出和错误一起重定向到一个文件(追加)

输入重定向:

Command < filename > filename2 Command命令以filename文件作为标准输入,以filename2文件作为标准输出
Command < filename Command命令以filename文件作为标准输入
Command << delimiter  从标准输入中读入,知道遇到delimiter分界符

绑定重定向:

Command >&m 把标准输出重定向到文件描述符m中
Command < &- 关闭标准输入
Command 0>&- 同上

三、shell中的一些高级用法
1:把所有的标准错误输出出到linux的 黑洞中,有称为空设备(/dev/null)
[root@localhost ~]#  ls /home/ins  2> /dev/null 
[root@localhost ~]# 
    
2:把执行的标准输出和标准错误重定向到out.put
[root@localhost ~]# ls /home/ind >out.put 2>&1
[root@localhost ~]# cat out.put 
ls: cannot access /home/ind: No such file or directory
[root@localhost ~]#

3:使用标准输入,在a.txt文件中写入 "hello world"
[root@localhost ~]# cat >a.txt<<eof
> HELLO WORLD !
> EOF
[root@localhost ~]# cat a.txt 
HELLO WORLD !
4:新建用户awk ,使用标准输入设置密码123456
[root@localhost ~]# useradd awk
[root@localhost ~]# 
[root@localhost ~]# echo 123456 | passwd --stdin awk
Changing password for user awk.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# su - inds

四、grep命令 
 grep是Linux中一个强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
   [options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。  
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。

简单举例说明
1、过滤/etc/passwd 文件里所有已shutdown结尾的行
[root@localhost ~]# grep shutdown$ /etc/passwd
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
2、</eof
/etc/passwd里搜索awk所在的行,并给awk标颜色,同时显示行号
[root@localhost ~]# grep -n awk --color=auto  /etc/passwd
45:awk:x:1158:1001::/home/awk:/bin/bash
[root@localhost ~]#

grep使用简明及正则表达式  http://www.linuxidc.com/Linux/2013-08/88534.htm

Linux下Shell编程——grep命令的基本运用 http://www.linuxidc.com/Linux/2013-06/85525.htm

grep 命令详解及相关事例 http://www.linuxidc.com/Linux/2014-07/104041.htm

Linux基础命令之grep详解 http://www.linuxidc.com/Linux/2013-07/87919.htm

设置grep高亮显示匹配项 http://www.linuxidc.com/Linux/2014-09/106871.htm

Linux grep命令学习与总结 http://www.linuxidc.com/Linux/2014-10/108112.htm

14 个 grep 命令的例子 http://www.linuxidc.com/Linux/2015-05/117626.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-04/

Linux输入输出重定向和文件查找值grep命令的更多相关文章

  1. [Linux] find文件查找和grep文件内容查找

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的: (1)find命令:根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时 ...

  2. [转帖]linux下的find文件查找命令与grep文件内容查找命令

    linux下的find文件查找命令与grep文件内容查找命令 https://www.cnblogs.com/shileima/p/8431393.html 在使用linux时,经常需要进行文件查找. ...

  3. [转帖]Linux教程(12)- linux输入输出重定向

    Linux教程(12)- linux输入输出重定向 2018-08-21 22:57:02 钱婷婷 阅读数 49更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原 ...

  4. 全面理解Linux输入输出重定向

    全面理解Linux输入输出重定向 本教程通过视频方式讲解shell操作,理解感念,教程通俗易懂,比起看一大堆文档要舒服的多.本次教程主要讲解  Linux Shell 中支持输入输出重定向,用符号&l ...

  5. Linux 输入输出重定向, &>file, 2>&1, 1>&2

    Linux 输入输出重定向, &>file, 2>&1, 1>&2 一.1和2在Linux中代表什么 1.1 输出重定向 1.2 输入重定向 1.3 绑定重定 ...

  6. Linux学习之路——文件查找:find

    使用权限:所有角色 用法:find [ options ] [ expression ]( find path -expression [ -print ] [ -exec | -ok command ...

  7. linux下的find文件查找命令与grep文件内容查找命令

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访 ...

  8. 嵌入式开发之命令行---linux下的find文件查找命令与grep文件内容查找命令

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访 ...

  9. linux之文件查找find grep详解,以及压缩归档

    .find linux里的实时查找工具,通过制定路径完成文件查找. find[options]...[查找路径] [查找条件] [处理动作] 查找路径:查找的位置,默认是当前文件夹. 查找条件:指定查 ...

随机推荐

  1. sutdio中替换全局方法

    Ctril Shift R Text to find :是要搜索的内容或者要被替换的内容 Replace with :是要替换的内容 Preview:是可以看到预览 在Scope的选项卡里 Whole ...

  2. gcc的选项

    -g: 是一个编译选项,即在源代码编译的过程中起作用,让gcc把更多调试信息(也就包括符号信息)收集起来并将存放到最终的可执行文件内. -rdynamic:   却是一个 连接选项 ,它将指示连接器把 ...

  3. Android 自定义 View 浅析

    Android 自定义 View 浅析 概括 说到自定义 View ,就一定得说说 android 系统的UI绘制流程.再说这个流程之前,我们先看一下在每一个 activity 页面中我们的布局 ui ...

  4. Google APK下载

    在线下载google play中apk的网站 1.http://apps.evozi.com/apk-downloader 2.http://downloader-apk.com/ 3.http:// ...

  5. Excel中countif函数的使用方法

    1.countif函数的含义 在指定区域中按指定条件对单元格进行计数(单条件计数) 建议和countifs函数结合起来学习,可以观看小编的经验Excel中countifs函数的使用方法. END 2. ...

  6. cmake openssl ios

    1 下载源代码 git clone https://github.com/pol51/OpenSSL-CMake.git cd OpenSSL-CMake mkdir build && ...

  7. ++ fatal error C1083: 无法打开预编译头文件:“.\Debug\router.pch”

    一.出现此错误首先检查:stdafx.cpp文件上右键——属性,预编译头选“创建”,其它cpp选“使用”. 二.如果是采用这样的设置,还是有错误,重新生成解决方案,重新调试. 三.实在不行的话,步骤/ ...

  8. 通过Adb 查看当前正在运行的Activity.

    extends:http://www.cnblogs.com/tt_mc/p/4269833.html adb shell dumpsys activity activities | sed -En ...

  9. 【JAVA】猜数字

    import java.util.*; public class GN { public static void main(String arg[]) { ;// 数字标记 ;// 位置标记 ;// ...

  10. linux写文件,追加内容

    覆盖文件 echo "hello" > filename 追加文件 echo "haha" >> filename