重定向
重定向分了三类: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 <a.txt
#<<text,从命令行读取,直到一个与text完全相同的行时结束。(英文这叫Here Document)
cat >a.txt <<EOF
>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