Linux Shell


Linux Shell(bash) 

重定向技巧

 

 

linux 

环境中支持输入输出重定向,用符号

<

>

来表示。

 

0

1

2

分别表示标准输入、标准输出和标准错误信息输出,

 

可以用来指定需要重定向的标准输入或输出,比如

 

2>a.txt 

表示将错误信息输出到文件

a.txt

中。

 

同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用

 

2>&1

来实现。

 

Linux

下还有一个特殊的文件

/dev/null

它就像一个无底洞,

所有重定向到它的信息都会消失得无影无踪。

这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到

/dev/null

 

如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到

/dev/null

 

例如:

 

# ls 1>/dev/null 2>/dev/null

 

还有一种做法是将错误重定向到标准输出,然后再重定向到

 

/dev/null

,例如:

 

# ls >/dev/null 2>&1

 

注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到

 

/dev/null

,然后将标

准错误重定向到标准输出,

由于标准输出已经重定向到了

/dev/null

因此标准错误也会重定向到

/dev/null.

 

1. 

标准输入的控制

 

语法:命令

文件将文件做为命令的输入。

 

例如:

 

mail -

s “mail test” wesongzhou@hotmail.com < file1 

将文件

file1 

当做信件的内容,主

 

题名称为

mail test

,送给收信人。

 

2. 

标准输出的控制

 

语法:命令

文件将命令的执行结果送至指定的文件中。

 

例如

:

 

ls -l > list 

将执行

“ls 

-

l” 

命令的结果写入文件

list 

中。

posted @ 2014-05-05 10:44  Debm.Zhang  阅读(341)  评论(0编辑  收藏  举报