Linux IO重定向

1、重定向的基本概述

重定向就是将原本要输出到屏幕上的内容重新指定到某个特殊的文件中,或者定向到黑洞中(/dev/null)

名称文件描述符作用
标准输入0默认时键盘,也可以是文件或者其他命令的输出
标准输出1默认输出到屏幕(正确的结果)
标准输出2默认输出到屏幕(错误的结果)
标准覆盖输出重定向>将程序输出的正确结果输出到指定的文件中,会覆盖文件原有的内容
标准追加输出重定向>>将程序输出的正确结果以追加的方式输出到指定的文件中,不会覆盖文件原有的内容
混合输出&>将正确的错误的文件混合输出到指定文件中

1.2 输入重定向

输入重定向指的是“重新来指定设备”来“代替键盘”作为新的输入设备

1.3 输入重定向示例

1、通过重定向读取文件内容

[root@localhost etc]# cat </etc/host
#将文件的内容输出到屏幕上

2、通过重定向读入多行内容

[root@localhost etc]# cat <<EOF
> 123
> 456
> 789
> EOF
123
456
789
#以什么开头就就以什么结尾,然后打印内容

[root@localhost etc]# cat >> /tem/ccc <<EOF
#将屏幕中输入的内容追加到/tem/ccc 中,这也是建立文件的一直格式, <<-加上-就可以不顶格了,比如
[root@localhost etc]# cat <<-EFO
>     -------主菜单-------
>     |  1)安装软件      |
>     |  2)删除软件      |
>     |  3)退出          |
>     ---------------------
> EFO
    -------主菜单-------
    |  1)安装软件      |
    |  2)删除软件      |
    |  3)退出          |
    ---------------------

2、进程管道技术

  • 管道操作符号|,主要用于连接左右两个命令,将左侧的命令的【标准输出交给右侧命令的【标准输入】
  • 注意事项:无法传递标准错误输出至后者命令

2.1 tee与xargs

在这里插入图片描述
tee命令是将左侧命令的结果输入到屏幕或者文件中,不影响右侧命令的执行结果
tee可以写入多个文件,每个文件之间使用空格分隔。

[root@localhost ~]# free -h | tee mem1.txt mem2.txt mem3.txt
              total        used        free      shared  buff/cache   available
Mem:           1.8G        165M        1.2G        9.6M        389M        1.5G
Swap:          2.0G          0B        2.0G
  • 使用选项-a在文件底部追加内容,不覆盖原有内容。

2.2管道中使用xargs

  • 使用xargs参数传递,主要让一些不支持管道的命令可以使用管道技术
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值