重定向和管道

重定向

重定向分了三类:stdin(标准输入,通常用0表示),stdout(标准输出,通常用1表示),stderr(标准错误输出,通常用2表示)

#这里的1>中1是表中输出的意思,常用的单纯的>省略了1
cat ls.txt 1>cat.txt 

#两种输出类型同时拦截进行重定向
id rooot &> cat.txt
id rooot 1&2> cat.txt

#当不关心其输出时,将其重定向到null中,这相当于一个黑洞,什么都吞,不占地方
id rooot &> /dev/null
#当然分开来重定向也可以
id root > /dev/null 2>err.txt

#输入重定向,将a.txt读取,输出到b.txt
cat >b.txt #<
cat >a.txt <a
>b
>eof
>aEOF
>EOF
#遇到与EOF完全相同的行,结束。

管道

管道(|):将前一个命令的标准输出,当做后一个命令的标准输入。如果想连标准错误输出一起当下一个命令的标准输入的话,可以将标准错误输出重定向到标准输出中(2>&1)

#wc命令是单词统计(words count?),-l是统计行。下面的命令是统计cat.txt中的行数
cat cat.txt | wc -l

#tee命令用于将结果保存到文件同时,显示到显示器上
id root 2> /dev/null | wc -l |tee wc.txt

你可能感兴趣的:(centos)