Linux基本命令(2)

1.如果在任何命令的后面加上一个>和文件名(不一定事先存在),那么这个命令的执行结果就被送至该文件中。如:

$ls /usr/bin > ~/unknown

如果该文件已经存在,则ls命令的输出结果将会覆盖原来的文件内容。如果用csh和tcsh型的shell,可用下列方法避免覆盖,

$set noclobber

在bash下,可用下列命令避免覆盖,

$noclobber=1    (不一定是1,其他数值也可以)

2.可以用>>将命令的结果附加到文件的末尾,如

$ls /usr/bin >> ~/unknown

UNIX的程序都有两种输出,第一种输出叫做标准输出,第二种输出叫标准错误输出。而是用>不会重定向标准错误输出,解决办法是在后面加上&,如

$g++ maomao.cc >& error

这行命令会将g++编译器发出的信息放在error文件里。在bash中稍有不同,

$g++ maomao.cc &> error

3.只存储错误信息

$g++ maomao.cc 2> error

shell很专制的将1指定给标准输出,将2指定给标准错误输出。以上命令,只会存储标准错误。

4.抛弃标准输出,将其重定向到/dev/null的特殊文件中,类似数据黑洞

$g++ maomao.cc 2> error > /dev/null

以上命令存储标准错误,但会遗弃标准输出。

5.一个程序的输出为另一个程序的输入

如,

$du > du_output

$sort -n du_output

6.管道“|”

$du | sort -n

shell命令会把du命令的结果送到sort程序中

上面的例子中,du是显示硬盘使用状况的命令,sort是排序\

$du > sort -rn | more

Linux基本命令(2),古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。