|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
b5 Q0 f7 m$ q1 h' Z1 E2 ALinux文件描述符:默认打开三个文件描述符:标准输入standard input 0,正确输出standard output 1,错误输出:error output 2
% @& W) C5 k! [& T( Q. E, y
' ?. y/ _, L, I( e输出重定向
* @% a; ?# E6 i. F# W2 j# G* g$ U4 D! e% D2 b
command-line1 [1-n] > file或文件操作符或设备
9 p/ Y+ S1 s! W1 [
5 `* r, y; Q. ^1 ]7 p首先是判断>右边的文件是否存在,存在的话就首先删除然后再创建,无论左边命令执行是否成功,右边文件都会变为空。使用>>为文件的追加方式。' n6 f+ ]$ f# m! s9 \
" v/ Q7 h* D, d, ~
- [Unix@17:18:57 ~]$ls > a.txt
- [Unix@17:19:11 ~]$cat a.txt
- a.txt
- cpp
- ctest
- Makefile
- network
- shell
- socket
- test
- thread
1 Z& a7 M& d. A
6 r& Q* N9 F- K( \1 t9 z a* R* p5 K. V* q: D j
输入重定向2 O4 x* p) C! P. U
$ E4 x) q/ ~8 G3 z/ ^$ s! pcommand-line [n] <file或文件描述符&设备, O5 ]* g& W" u+ k* J9 b+ f! F
R0 m+ S- s& i* c
- [Unix@17:20:59 ~]$cat>a<a.txt
- [Unix@17:21:36 ~]$cat a
- a.txt
- cpp
- ctest
- Makefile
- network
- shell
- socket
- test
- thread1 @3 W8 o% C6 F$ r5 p/ y( q' @
3 @ }0 p2 d) D& o9 \
) X2 ~8 C$ O4 t! z/ V+ cexec绑定重定向
. R6 I: j% h, m9 v; B0 @
3 q& ^3 Z6 I4 |1 y0 ^exec 文件描述符[n] <或> file或文件描述符或设备
1 N# Q5 k& N2 l7 x6 }( A% \ Z! C, z) a& m7 {
在上面讲的输入,输出重定向 将输入,输出绑定文件或设备后,只对当前那条指令是有效的。如果需要在绑定之后,接下来的所有命令都支持的话,就需要用exec命令。8 G. q# f+ ^8 ~/ {$ Q7 t
, d/ x4 g8 T0 \) O" k! G- [Unix@17:26:02 ~]$exec 1>a.txt
- [Unix@17:26:11 ~]$ls -al
- [Unix@17:26:16 ~]$exec 1>/dev/tty #恢复标准输出
- [Unix@17:26:25 ~]$ls
- a.txt cpp ctest Makefile network shell socket test thread
6 O. B4 \$ }* }$ i/ F% l8 x
2 }, _( | ~% p; Y2 T( k; a; J+ c0 f! S9 I# f) @) W
|
|