linux输出·输入文件和标准输入 标准输出

读入是从另外一个文件中获取数据并保存到变量或数组中
写入是将变量或数据中的值保存到另一文件中
 
 
 

linux输出·输入文件和标准输入 标准输出是什么意思啊

Unix/Linux/BSD 都有三个特别文件,分别
1)标准输入 即 STDIN , 在 /dev/stdin ,
   一般指键盘输入, shell里代号是 0
2) 标准输出 STDOUT, 在 /dev/stdout,
   一般指终端(terminal), 就是显示器, shell里代号是 1
3) 标准错误 STDERR, 在 /dev/stderr 
   也是指终端(terminal), 不同的是, 错误信息送到这里
   shell里代号是 2

2, 3用些例子再表达一下

User@User-PC ~
$ ls /dev/stdin
/dev/stdin@

User@User-PC ~
$ ls -l /dev/std*
lrwxrwxrwx 1 User Users 15 Mar  1  2008 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 User Users 15 Mar  1  2008 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx 1 User Users 15 Mar  1  2008 /dev/stdout -> /proc/self/fd/1

就是这些东西了,呵呵

User@User-PC ~
$ ls 1> log1.txt

User@User-PC ~
$ cat log1.txt 
Mail/
News/
a.txt
aa*
awkscr
b.txt
bb*
bin/
cc
cgitest.rex*
dd*
irc-sh*
junk
lib/
log1.txt
lynx.cfg
matrix/
perlscr*
pp*
rexx_script/
rrr
testawk
tmp/
trash

将标准输出导向到文件, 缩写就是 ls > log1.txt

User@User-PC ~
$ ls llll 1> log2.txt
ls: 无法存取 llll: No such file or directory

再次执行,但这次没有这个文件llll, 出现错误讯息

User@User-PC ~
$ cat log2.txt 

User@User-PC ~
$ file log2.txt
log2.txt: empty

输出没有导向到文件,文件是空文件

User@User-PC ~
$ ls llll 2> log2.txt

User@User-PC ~
$ cat log2.txt 
ls: 无法存取 llll: No such file or directory

User@User-PC ~
$ 

再次执行刚才的命令,只是将 1> log2.txt 改为 2> log2.txt
这次就成功把错误讯息导向至文件了,呵呵,
就是这样
所以,将标准输出和标准错误 一同导向到一个文件里,就得这样表达

命令 2>&1 > 档案, 如
User@User-PC ~
$ echo 123 | if grep -E '[0-9]+' 2>&1 > /dev/null ; then echo "This is number."; fi
This is number.

grep 标准输出和标准错误 都导向到系统‘黑洞’,不会再屏幕上显示什么
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中,标准输入(stdin)、标准输出(stdout)和标准错误(stderr)是三个常用的输入输出设备。 标准输入设备(stdin)是用于接收用户输入的设备。在Linux终端中,通常使用键盘作为标准输入设备。用户可以通过向程序提供输入数据,与程序进行交互。比如,当我们在终端输入命令时,输入的内容就是通过标准输入设备传递给程序的。 标准输出设备(stdout)是用于向用户显示输出信息的设备。在Linux终端中,默认情况下,标准输出设备就是终端屏幕。程序中通过调用输出函数,将需要显示的信息发送到标准输出设备上。例如,我们在终端执行一个命令时,命令的输出结果就会显示在标准输出设备上。 标准错误设备(stderr)用于输出错误信息。和标准输出设备类似,标准错误设备默认情况下也是终端屏幕。程序可以通过将错误信息发送到标准错误设备上,通知用户当前程序执行遇到了错误或异常。与标准输出不同的是,标准错误的输出可以与标准输出分开。可以将标准输出保存到文件中,并将标准错误信息显示在终端上,或者将标准错误重定向到另外一个文件中。 使用这些标准输入输出设备,可以使程序与用户进行交互,接收输入数据,展示输出结果,并及时通知用户错误信息。同时,通过将标准输出标准错误输出重定向到不同的位置,可以方便地进行日志记录和错误排查。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值