您的位置:首页 > 运维架构 > Linux

linux输出·输入文件和标准输入 标准输出

2013-05-06 21:59 393 查看
读入是从另外一个文件中获取数据并保存到变量或数组中
写入是将变量或数据中的值保存到另一文件中

linux输出·输入文件和标准输入 标准输出是什么意思啊

Unix/Linux/BSD 都有三个特别文件,分别1)标准输入 即 STDIN , 在 /dev/stdin ,一般指键盘输入, shell里代号是 02) 标准输出 STDOUT, 在 /dev/stdout,一般指终端(terminal), 就是显示器, shell里代号是 13) 标准错误 STDERR, 在 /dev/stderr也是指终端(terminal), 不同的是, 错误信息送到这里shell里代号是 22, 3用些例子再表达一下User@User-PC ~$ ls /dev/stdin/dev/stdin@User@User-PC ~$ ls -l /dev/std*lrwxrwxrwx 1 User Users 15 Mar 1 2008 /dev/stderr -> /proc/self/fd/2lrwxrwxrwx 1 User Users 15 Mar 1 2008 /dev/stdin -> /proc/self/fd/0lrwxrwxrwx 1 User Users 15 Mar 1 2008 /dev/stdout -> /proc/self/fd/1就是这些东西了,呵呵User@User-PC ~$ ls 1> log1.txtUser@User-PC ~$ cat log1.txtMail/News/a.txtaa*awkscrb.txtbb*bin/cccgitest.rex*dd*irc-sh*junklib/log1.txtlynx.cfgmatrix/perlscr*pp*rexx_script/rrrtestawktmp/trash将标准输出导向到文件, 缩写就是 ls > log1.txtUser@User-PC ~$ ls llll 1> log2.txtls: 无法存取 llll: No such file or directory再次执行,但这次没有这个文件llll, 出现错误讯息User@User-PC ~$ cat log2.txtUser@User-PC ~$ file log2.txtlog2.txt: empty输出没有导向到文件,文件是空文件User@User-PC ~$ ls llll 2> log2.txtUser@User-PC ~$ cat log2.txtls: 无法存取 llll: No such file or directoryUser@User-PC ~$再次执行刚才的命令,只是将 1> log2.txt 改为 2> log2.txt这次就成功把错误讯息导向至文件了,呵呵,就是这样所以,将标准输出和标准错误 一同导向到一个文件里,就得这样表达命令 2>&1 > 档案, 如User@User-PC ~$ echo 123 | if grep -E '[0-9]+' 2>&1 > /dev/null ; then echo "This is number."; fiThis is number.grep 标准输出和标准错误 都导向到系统‘黑洞’,不会再屏幕上显示什么
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: