I/O重定向

程序:指令+数据

 

 

数据输入:交互式、文件、进程

数据输出:监视器、文件、进程

 

标准输入(stdin):0,键盘

标准输出(stdout):1,监视器

错误输出(stderr):2,监视器

 

正常输出和错误输出是两个不同的数据流;

 

重定向:

输出重定向:>, >>

COMMAND> NEW_POSITION:覆盖重定向,会清空文件中原有的数据

注意:危险操作;关闭此功能,可使用“set -C”,相反操作为“set +C”

 

COMMAND>> NEW_POSITION:追加重定向,新数据会被附加在原有文件数据的后面;

 

错误输出重定向:2>, 2>>

COMMAND 2> ERR_OUTPUT覆盖文件中的内容

COMMAND 2>> ERR_OUTPUT追加在文件数据后


 

同时定向两种输出数据流

方法一:

COMMAND> OUT_FILE 2>&1

COMMAND>> OUT_FILE 2>&1


 

方法二:

COMMAND&> OUT_FILE

COMMAND&>> OUT_FILE


 

输入重定向:

COMMAND < NEW_IN

 

tr命令

tr [OPTION]... SET1 [SET2]

把输出数据中的,在SET1中的每个字符对应地替换为SET2的每个字符;

-d: 删除在输入的数据流中出现的属于SET1的每个对应的字符;

 


 

COMMAND << EOF[EOF表示End Of File]

 

[root@localhost tmp]# cat << EOF >abc.txt
> i am lx
> hello world
> eof
> EOF
[root@localhost tmp]# cat abc.txt 
i am lx
hello world
eof

 

把从输入重定向的内容输出重定向到abc.txt文件中,EOF可以用任意STRING代替,区分大小写


 

管道:|

COMMAND1的输出当做COMMAND2的输入,再把COMMAND2的输出当做COMMAND3的输入,以此类推

COMMAND1 | COMMAND2 | COMMAND3 | …


多道输出:

COMMAND | tee /PATH/TO/SOMEFILE

tee命令:把标准输入显示到标准输出中,并保存到文件xx中,如果xx文件不存在则创建之,存在则会覆盖之;

[-a] :追加到文件的后面而不是覆盖



你可能感兴趣的:(重定向,输出,输入)