SHELL之重定向&管道&命令队列


命令:一些单一功能的小程序

分类:

  • shell内建命令:cd、source、if、pwd等
  • 外部命令:存在与各种bin目录中

1 重定向

作用:修改输入和输出的位置

1.1 文件描述符(fd)
  • 0:STDIN,标志输入,默认标准输入设备是终端
  • 1:STDOUT,标准输出,默认标准输出设备是终端
  • 2:STDERR,标准错误输出,默认标准错误输出是终端
1.2 输出重定向
  • 标准输出 STDOUT 重定向 [1]>
    • > FILE:覆盖式标准输出:若原文件存在,则将其内容覆盖;若原文件不存在,则会创建该文件
    • >> FILE:追加式标输出:若原文件存在,则输出会追加在原文件后面;若原文件不存在,则会创建该文件
  • 标准错误输出STDERR 重定向 2>
    • 2>
    • 2>>
  • 所有输出重定向
    • CMD &> FILE:相当于1> + 2>
    • CMD > FILE 2>&1:将标准输出重定向到FILE,再将标准错误输出重定向到标准输出
  • 常用输出设备
    • /dev/null:将输出重定向到此设备将不会打印任何输出信息
1.3 输入重定向
  • cat > text.txt < test1.txt:将text1.txt中的内容输入(覆盖)到text.txt中

  • cat > text.txt << END:变成终端输入模式,终端输入的所有内容都会覆盖到这个文件里

    • END:指定输入终止符,可以为自定义的

2 管道(|)

作用:通过管道 | ,将一个命令的标准输出称为另一个命令的标准输入

[root@localhost ~]# ls /etc/fstab fstab 2>&1
/etc/fstab  fstab
[root@localhost ~]# ls /etc/fstab fstab 2>&1 | wc -l
2

通过管道修改用户密码:echo "awsl" | passwd --stdin aw

3 命令队列

  • \:续行,输入后按回车命令不会执行,而是可以换一行继续输入
  • ;:命令之间的分割符
    • CMD1; CMD2; CMD3; …
  • &:将命令放到后台执行
    • ping baidu.com > /dev/null 2>&1 &:不显示命令的输出信息并将命令放到后台执行
  • &&:逻辑与
  • ||:逻辑或
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值