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)< 正常输入重定向内容
- <<回车会出现<
例如:mail -s “snowtoroot” root << END(回车会出现 < 可以输入内容,但是必须以<<后面的内容结束)
5.显示具体时间命令:红帽7改变date为timedatectl
6.find用法:find 查找范围 -查找参数 具体内容
例:find / -name useradd( /为查找范围;-name为查找参数 useradd为具体内容)
7.ctrl +shift +t新开一个终端