1. 标准输入的控制 语法:命令< 文件将文件做为命令的输入。
( g2 L, p3 |" L& c9 g/ K 例如:+ p: b B. x# B
mail -s “mail test” test@gzu521.com < file1 将文件file1 当做信件的内容,主
5 ~' r2 C5 |. a9 v) ^: K( U- h 题名称为mail test,送给收信人。
: Z# m: _+ ~) R" |9 u 2. 标准输出的控制
% O7 c, o1 S5 C1 k 语法:命令> 文件将命令的执行结果送至指定的文件中。
, ?" ~6 h+ ?7 \2 @) E/ S 例如:
% t& g3 P9 R7 r# j ls -l > list 将执行“ls -l” 命令的结果写入文件list 中。
$ f8 v; {7 \1 a# K+ J, N; ?* `7 C 语法:命令>! 文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。 v, ]( T; P) V$ ]0 i: I0 X, i
例如:3 ^4 O* d! ~+ H
ls -lg >! list 将执行“ls - lg” 命令的结果覆盖写入文件list 中。
8 L* F, [5 Z/ h6 c9 B% n 语法:命令>& 文件将命令执行时屏幕上所产生的任何信息写入指定的文件中。
* V* G. ]( A" I3 z. Z 例如: g) A1 m. ]% Z% H, I$ z
cc file1.c >& error 将编译file1.c 文件时所产生的任何信息写入文件error 中。
# W* Z+ d# s$ @8 h7 Z- b 语法:命令》 文件将命令执行的结果附加到指定的文件中。
7 Y. T; S) e( Z 例如:+ O, m: a( F$ _# k6 n8 _) T- F
ls - lag 》 list 将执行“ls - lag” 命令的结果附加到文件list 中。: d: b+ V) i8 g" H1 G
语法:命令》& 文件将命令执行时屏幕上所产生的任何信息附加到指定的文件中。
6 a* a2 i8 i1 E: t4 A1 i 例如:
; R9 `7 h% c5 U& g cc file2.c 》& error 将编译file2.c 文件时屏幕所产生的任何信息附加到文件error 中。
7 ^ q2 a# v7 J! E" r0 ]% e) _ 关于输入、输出和错误输出1 E- W" g, \ l( f& j
在字符终端环境中,标准输入/标准输出的概念很好理解。输入即指对一个应用程序或命令的输入,无论是从键盘输入还是从别的文件输入;输出即指应用程序或命令产生的一些信息;与 Windows 系统下不同的是,Linux 系统下还有一个标准错误输出的概念,这个概念主要是为程序调试和系统维护目的而设置的,错误输出于标准输出分开可以让一些高级的错误信息不干扰正常的输出信息,从而方便一般用户的使用。
" ?% d' Y+ M& G+ B: C( C) x( \& }% X
0 ?! @: r! [) m2 v5 Q! b4 y 在 Linux 系统中:标准输入(stdin)默认为键盘输入;标准输出(stdout)默认为屏幕输出;标准错误输出(stderr)默认也是输出到屏幕(上面的 std 表示 standard)。在 BASH 中使用这些概念时一般将标准输出表示为 1,将标准错误输出表示为 2。下面我们举例来说明如何使用他们,特别是标准输出和标准错误输出。 |