数据流重定向和管道命令

来源:互联网 发布:网络之重临巅峰txt下载 编辑:程序博客网 时间:2024/05/21 10:46

1.标准输入输出和错误

标准输入(stdin) 是指令数据的输入,代码为0,使用<或者<<,默认是键盘
标准输出(stdout)是指令执行成功返回的结果,代码为1,使用>或者>>,默认由屏幕显示
标准错误输出(stderr)是指令执行失败返回的错误信息,代码为2,使用2>或者2>>,默认是屏幕


< 指定输入的数据媒介来源


将MultiThread.java中的小写字母全部改为大写

1> 将正确的内容 覆盖输出到指定的媒介
1>> 将正确的内容 追加到指定的媒介
2> 将错误信息覆盖输出到指定媒介
2>> 将错误信息追加输出到指定媒介

下面执行 find /root ins 后出现3条记录,其中第一条是正确的输出,后两条是错误的输出


多个指令执行的判断方法

  bash1&&bash2(前者执行成功才会执行后者)

  

  bash1||bash2(前者执行完毕且失败才执行后者)

2.管道命令和 grep, tr,sort, wc, cut,split,tee,sleep(其实就是使用命令的一种方式)

命令通过管道符号| 连接 如 ls -la |more(通过管道符 | 传递给下一个指令more,more将前一个指令输出当做输入处理从而支持翻页显示)
能够接收标准输入(stdin),如tail/more/grep等
能够接收来自于前一个指令的数据成为stdin进行处理 只能处理正确的输出,不能处理错误的输出
ls -8|grep ls
处理不了
grep [-cinv] 'key' filename 支持正则
-c : 计算出现要查找字符的行数(是统计几行含有匹配的字符,并不是出现的次数)

-o :找出所有的要查找字符的匹配,一个1行
-i: 忽略大小写进行查找
-n: 输出行号
-v: 显示没有该字符的行 取反

-s:不显示不存在或无匹配文本的错误信息 忽略错误信息

-r: 递归遍历查找(比如在目录下递归查找文件内容)

-q:静默模式,不输出


支持正则


sort指令

sort [-fbknrtu] filename
-f 忽略大小写
-b 忽略最前面的空格
-M 以月份英文字母排序
-n 使用数字排序
-r 逆向排序
-t 分隔符标识 默认是tab
-k 以第几列来排序

wc指令
wc [-lwm] filename 统计功能
-l 统计行
-w 统计词
-m 统计字符

除此之外还有其他的管道命令 如 tr/cut/join/paste