7.输入输出重定向 - xiaoxiaoxuegao/rhcsa GitHub Wiki

1.输入设备:鼠标键盘

2.输出设备:

显示器屏幕(默认输出设备)=》无论正确错误都在屏幕上输出

屏幕在目录 /dev下stderr(stand error标准错误输出) stdout (stand out标准正确输出)

3.输出重定向:不希望输出到屏幕上希望写到文件(黑洞)里

例如:timedatectl > ~snow/time1 写入snow的家目录下的time1 文件里,若不存在执行两次自动建立文件,不会在设备上输出

用法

1)命令 > file:(只能走正确的输出) 只能把stdout正确的结果输出到文件里,stderr输出到显示器上==》会覆盖 date > date.rec执行两次会写入第二次内容覆盖第一次

2)命令 2> file:(只能走错误输出) 把stderr错误的结果输出到文件里,stdout输出到显示器上==》会覆盖 date > date.rec执行两次会写入第二次内容覆盖第一次

3)命令 >> file | 命令 2>> file):根据 >>和 2>>判断文件写入结果==》 date >> date.rec 执行两次会把两次内容都写入文件

4)2> /dev/null :把错误的结果送入黑洞

5)& > :无论错对都写入文件里,不输出到显示器上

6)>>file 2>&1:把错误的流转换成正确的流写入文件

c.例如:我要改密码。或者不希望某些垃圾文件的输出:echo “redhat” | passwd — stdin root > /dev/null=>回车=》无提示了即不会输出

7).把正确流从定向: 例:test文件里既有正确的又有错误的:find / -name test >> true.test(正确的都被写入true.test了)

8).把正确和错误的流分开定向(分别输入到某两个文件里):

例:test文件里既有正确的又有错误的:find / -name test >> true.test 2>> false.test(正确的都被写入true.test,错误的写入了false.test里)

9).把正确和错误的流分开定(正确输出,错误删除):

例:test文件里既有正确的又有错误的:find / -name test >> true.test 2>> /dev/null(正确的都被写入true.test,错误删除写入黑洞)

4.输入重定向:

例:mail -s(subject) “snowtoroot(邮件名称)” root(接受的用户) xxxxx(邮件内容).(必须以点结束)(只在系统内部发邮件)

若把文件作为邮件内容:< 文件目录 例:mail -s “snowtoroot” root < / home/snow/true 查看邮件:mail即可查看; 1回车即可查看第一封邮件内容

a.用法: 1)< 正常输入重定向内容

  1. <<回车会出现<

例如:mail -s “snowtoroot” root << END(回车会出现 < 可以输入内容,但是必须以<<后面的内容结束)

5.显示具体时间命令:红帽7改变date为timedatectl

6.find用法:find 查找范围 -查找参数 具体内容

例:find / -name useradd( /为查找范围;-name为查找参数 useradd为具体内容)

7.ctrl +shift +t新开一个终端