Linux标准IO和管道

本文介绍了Linux的三种I/O设备,包括如何使用I/O重定向改变默认行为,详细阐述了tr命令的用途和使用方式。同时,深入讨论了管道的概念、用法,以及如何结合管道与其他命令实现功能,如利用less查看输入,通过mail发送电子邮件,用bc进行算术运算。文章最后提到了练习部分,旨在巩固所学知识。
摘要由CSDN通过智能技术生成

Linux标准I/O和管道

一,Linux的三种I/O设备

1.Linux为程序提供三种I/O设备

设备 linux使用数字表示某设备 默认动作
标准输入 使用0表示 默认接收来自终端窗口的输入
标准输出 使用1表示 标准输出默认将内容输出到终端窗口
标准错误 使用2表示 标准错误默认直接输出到终端窗口
  • 使用I/O重定向技术可以改变上面三种设备的默认行为。

2.使用I/O重定向

  • 把标准输出和标准错误重新定向到文件而不打印到终端
用法:
    命令 操作符号 文件名 
        支持的操作符号包括: 
            >  把STDOUT重定向到文件 
            2> 把STDERR重定向到文件 
            &> 把所有输出重定向到文件 
#### >  把STDOUT重定向到文件 
[root@centos8 /data  $]ls
1  2  3  333  add1.txt  add.txt  ASCII-WELCOME.txt  cal.log  hello  if  jdsfjllfj.log  log1  log2  log3  my_file_1.txt  one  passwd  passwdd  pattern.example  so  so.link
[root@centos8 /data  $]ls > ls.log
[root@centos8 /data  $]cat ls.log 
1
2
3
333
add1.txt
add.txt
ASCII-WELCOME.txt
cal.log
hello
if
jdsfjllfj.log
log1
log2
log3
ls.log
my_file_1.txt
one
passwd
passwdd
pattern.example
so
so.link

####  2> 把STDERR重定向到文件 
[root@centos8 /data  $]lls 2> error.log
[root@centos8 /data  $]cat error.log 
bash: lls: command not found...
Similar command is: 'ls'

####  &> 把所有输出重定向到文件 
[root@centos8 /data  #]ls /data/ /noshuchdir &> allerror.log
[root@centos8 /data  #]cat allerror.log 
ls: cannot access '/noshuchdir': No such file or directory  # STDERR
/data/:
1
2
3
333
add1.txt
add.txt
allerror.log
ASCII-WELCOME.txt
cal.log
error.log
hello
if
jdsfjllfj.log
log1
log2
log3
ls.log
my_file_1.txt
one
passwd
passwdd
pattern.example
so
so.link
  • 使用>符号会覆盖已有文件,若追加则需要用>>。

  • 将标准输出和错误输出各自定向至不同文件如下:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值