编辑
2022-10-07
小白笔记
0

目录

输入输出重定向
重新定义数据输入和输出方法
错误输出到了正确输出的文件里
比如我们想只输出错误信息,就可以把正确的扔入黑洞
分别输出

echo与输入输出重定向

echo "hello"

打印变量信息,加$

bash
momen@momen-PC:~$ echo SHELL SHELL momen@momen-PC:~$ echo $SHELL /bin/bash
bash
momen@momen-PC:~$ a=5 momen@momen-PC:~$ echo a a momen@momen-PC:~$ echo $a 5

echo xxx |more

more命令可以分页显示

输入输出重定向

输出重定向 > 和>>

bash
$ echo "hello" > 1.log #不追加输出,会覆盖文件 $ cat 1.log hello $ echo "hello world" >> 1.log #追加内容用>> $ cat 1.log hello hello world
重新定义数据输入和输出方法

执行一个shell命令,通常打开三个标准文档

标准设备名称文件描述符含义设计典型设备使用方法
STDIN0标准输入键盘<
STDOUT1标准输出显示器1>
STDERR2标准输出显示器2>
错误输出到了正确输出的文件里
bash
2>&1 #错误输出到了正确输出的文件里 &># 错误输出到了正确输出的文件里

/dev/zero dd 命令,创建大的空文件

/dev/null 黑洞数据,丢入就消失

比如我们想只输出错误信息,就可以把正确的扔入黑洞

[命令] > /dev/null

bash
(之前做了个误操作,执行`$shell`命令,当前窗口所有命令都只输出错误内容,最终也得到了上面的效果)
重定向符号说明
<实现输入重定向
> 或 >> 等同于1> 或1>>实现输出重定向,把命令输出到一个文件上,而部署输出到屏幕
2> 或 2>>实现标准错误覆盖输出重定向或标准错误追加输出重定向 例如:ls -l >ls.txt 2>ls.error
2>&1将标准错误重定向到标准输出 ls -l 1>ls.txt 2>&1 #1代表1>
/dev/null黑洞装置,表示为空,即不保存输入输出 ls -l 1>ls.txt 2>/dev/null ls -l >/dev/null 2>&1
&>将标准输出和标准错误输出重定向到同一文件,1>2>结合到一起去 tree &>tree.log
分别输出
bash
命令1 1>1.txt 2>2.txt 正确命令放在1.txt,错误内容在2.txt

本文作者:星火文档中心

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!