linux 重定向命令符,linux之shell基础-输入输出重定向、多命令执行和管道符

标准输入输出键盘:设备文件名/dev/stdin,文件描述符为0,类型为标注输入

显示器:设备文件名/dev/sdtout,文件描述符为1,类型为标准输出,

显示器:设备文件/dev/sdterr,文件描述符为2,类型为标准错误输出。

输出重定向:

输出本来是应该输出到屏幕上命令行显示的,现在改变他的输出方向输出到文件或其他设备当中。

标准输出重定向:命令>文件,以覆盖的方式,把命令的正确输出输出到指定的文件或设备中。

命令>>文件,已追加的方式吧命令的正确输出输出到指定的文件或设备中。

不是所有的命令都可以使用输出重定向,这个命令必须得有输出才可以,否则就没有任何意义。

标注错误输出重定向:错误命令 2>文件,已覆盖的方式吧命令的错误输出输出到指定的文件或设备中

错误命令 2>>文件,以追加的方式,把命令的错误输出输出到指定的文件或设备中。

4a4dfc72942a98add1643d71d352a9d4.png

822722ddf3deaf96469f7439c3e84dd7.png

在实际的应用中,上面的写法有一定问题,因为我们编写的时候并不能确定我们写的是正确的还是错误的,也就无法确定写入正确的文件还是错误的文件,因此这里仅作了解,用处不大。

正确输出和错误输出同时保存:命令>文件2>&1:以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中,

命令>>文件2>&1:以追加的方式,把正确输出和错误输出都保存到同一个文件当中,

命令&>文件:以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中,

命令&>>文件:以追加的方式,把正确输出和错误输出都保存到同一个文件当中,

命令>>文件1 2>>文件2: 把正确的输出追加到文件1中,把错误的输出追加到文件2中,

一个特殊用法:命令 &> /dev/null:将输出丢到垃圾箱,相当于不输出到任何地方,

输入重定向:

本来我们执行某些命令的参数应该是手工来写的,现在改变它的输入方向,不再通过键盘输入,而是通过文件作为它的输入,输入重定向在实际中用的不多,一般只在为源码包打补丁的时候用到,用的很少。

以wc命令举例:

#wc [选项] [文件名]

-c 统计字节数

-w 统计单词数

-l 统计行数

# wc < file

# wc -l < file

多命令顺序执行:

多命令执行符:;(分号):格式:命令1;命令2,多个命令顺序执行,命令之间没有任何逻辑联系;

&&:命令1&&命令2,逻辑与,当命令1正确执行,则命令2才会执行,当命令1执行不正确,则命令2不会执行,

||:命令1||命令2,逻辑或,当命令1执行不正确,则命令2才会执行,当命令1正确执行,则命令2不会执行。

可用【命令 && echo yes || echo no 】来判断所写的命令是否正确;

管道符:# 命令1 | 命令2,命令1的正确输出作为命令2的操作对象;

# ll -a /etc/ | more

# netstat -an | grep "ESTABLISHED"

# grep [选项] "搜索内容"

-i:忽略大小写

-n:输出行号

-v:反向查找

--color=auto:搜索出的关键字用颜色显示

e92bb7ffb2cb011fa21fc0a72ba1f5e8.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值