Shell 数据流重定向 > >> < <<

数据流重定向

数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据传输到其他地方

标准输入(stdin):代码为0,使用<或<<;
标准输出(stdout):代码为1,使用>或>>;
标准错误输出(stderr):代码为2,使用2>或2>>

> 覆盖写
>> 追加写

标准输出与标准错误输出

标准输出:命令执行所返回的正确信息
标准错误输出:命令执行失败返回的错误信息

将正确信息与错误信息分别输出到不同的文件中

find /home -name .bashrc >list_right 2>list_error

过滤掉错误信息,将正确信息输出

/dev/null 垃圾桶黑洞,可以吃掉所有导向这个设备的信息

find /home -name .bashrc  2> /dev/null

正确错误信息都写如一个文件

find /home -name  >list 2>&1
find /home -name &> list

标准输入

将原本需要键盘输入的方式改由文件内容来代替

[ranan@hadoop102 bin]$ echo $(< myhadoop.sh)

< 将一个文件的内容写入另外一个

[ranan@hadoop102 bin]$ cat >newFile < myhadoop.sh

<< 这个符号,它代表的是结束输入的意思

[ranan@hadoop102 bin]$ cat >newFile << "eof"
> Hello
> eof # 输入eof就结束输入了,不用ctrl+d,eof不输入到文件里

image

cat 命令创建Shell文件

语法:cat

用键盘输出新文件内容,ctrl+d表示输入完成

[ranan@hadoop102 bin]$ cat > newFile #新建newFile  > 覆盖写到新文件
hello # 输入内容 ctrl+d表示输入完成

<< 输入结束的标志

[ranan@hadoop102 bin]$ cat >newFile << "eof"
> Hello
> eof # 输入eof就结束输入了,不用ctrl+d,eof不输入到文件里

用文本代替键盘输入
本来是键盘输入,< 改变为文件输入

[ranan@hadoop102 bin]$ cat >newFile < myhadoop.sh

image

posted @ 2021-11-30 16:46  rananie  阅读(239)  评论(0编辑  收藏  举报