文件管理 · 2022年7月25日

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

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

Unix/Linux/BSD 都有三个特别文件,分别1)标准输入 即 STDIN , 在 /dev/stdin , 一般指键盘输入, shell里代号是 02) 标准输出 STDOUT, 在 /dev/stdout, 一般指终端(terminal), 就是显示器, shell里代号是 13) 标准错误 STDERR, 在 /dev/stderr 也是指终端(terminal), 不同的是, 错误信息送到这里 shell里代号是 22, 3用些例子再表达一下[email protected] ~$ ls /dev/stdin/dev/[email protected][email protected] ~$ 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就是这些东西了,呵呵[email protected] ~$ ls 1> log1.txt[email protected] ~$ cat log1.txt Mail/News/a.txtaa*awkscrb.txtbb*bin/cccgitest.rex*dd*irc-sh*junklib/log1.txtlynx.cfgmatrix/perlscr*pp*rexx_script/rrrtestawktmp/trash将标准输出导向到文件, 缩写就是 ls > log1.txt[email protected] ~$ ls llll 1> log2.txtls: 无法存取 llll: No such file or directory再次执行,但这次没有这个文件llll, 出现错误讯息[email protected] ~$ cat log2.txt [email protected] ~$ file log2.txtlog2.txt: empty输出没有导向到文件,文件是空文件[email protected] ~$ ls llll 2> log2.txt[email protected] ~$ cat log2.txt ls: 无法存取 llll: No such file or directory[email protected] ~$ 再次执行刚才的命令,只是将 1> log2.txt 改为 2> log2.txt这次就成功把错误讯息导向至文件了,呵呵,就是这样所以,将标准输出和标准错误 一同导向到一个文件里,就得这样表达命令 2>&1 > 档案, 如[email protected] ~$ echo 123 | if grep -E '[0-9]+' 2>&1 > /dev/null ; then echo "This is number."; fiThis is number.grep 标准输出和标准错误 都导向到系统‘黑洞’,不会再屏幕上显示什麼, 明白了吧? 呵呵

❷ linux下,如何将控制台输出的所有内容全部输出到一个文本文件

直接使用输抄出重定向到你想要袭的文件即可,不过将所有的控制到信息输出到一个文本文件,只有两个办法:①:修改所有程序的输出路径:printf函数 echo…..几乎是不可能完成的任务②:修改linux的标准输出路径:句柄 句柄的数字代号 描述STDIN 0 键盘输入STDOUT 1 输出到命令提示符窗口STDERR 2 错误输出到命令提示符窗口将标准输出 标准输出的默认设置更改为你要保存的文件,这样就会控制台的信息就会输出到你指定的文件里面

❸ 如何让linux标准输出和错误输出同时输出到屏幕和文件同时标准输出还是标准输出,错误输出还是错误输出

想要抄把正常输出信息和错误信袭息输出到分别的文件中,可以用:make xxx 1> build_output_normal.txt 2>build_output_error.txt即联合使用了1和2,正常信息和错误信息,都输出到对应文件中了。

❹ linux输出重定向到文件命令

输出即把相关对象通过输出设备(显示器等)显示出来,输出又分正确输出和错误输出一般情况下标准输出设备为显示器,标准输入设备为键盘。命令 >> 文件 2>&1 和 命令 &>>文件 两个命令作用相同系统有个常见用法 ls &>/dev/null 正确输出或错误输出结果都不要。(null可以理解为黑洞或垃圾站)命令>>文件1 2>>文件2 正确日志和错误日志分开保存

例:nohup java -jar /usr/sbin/lb-agent.jar >>/var/log/lb-agent.log 2>&1 &将jar执行的结果写入到lb-agent.log中在命令最后加上&符号,表示让这个进程到后台去执行,这样立刻返回到提示符状态,我们可以接着做下面的事。如:command &。这种“后台”进程在shell一直打开的情况下是没有问题的,如果我们关了shell窗口甚至退出ssh登录或vnc登录,那么进程自动就结束了。所以如果想退出窗口乃至退出登录仍然保持程序运行,再加上nohup,形如:nohup command 1>output 2>&1 &《Linux就该这么学》学习更多linux知识。

❺ linux p2()函数怎么不能重定向标准输出(STDOUT)到文件

我没怎么改,编译运行好像正常?#include<stdio.h>#include<unistd.h>int main(int argc,char **argv){ FILE * fd; fd = fopen("log.txt","a+"); p2(fileno(fd), 1); p2(fileno(fd), 2);int i=0;for(i=0;i<5;i++){ printf("output to STDOUT!\n"); fprintf(stderr,"output to STDERR!\n"); sleep(2);}return 0;}结果:[[email protected] ~]$ cat log.txt output to STDERR!output to STDERR!output to STDERR!output to STDERR!output to STDERR!output to STDOUT!output to STDOUT!output to STDOUT!output to STDOUT!output to STDOUT! 先输出了stderr的原因是,在sleep之后不会立刻输出,而是等到进程要关闭的时候,所以之前每次都会先输出STDERR,等到进程结束的时候才把stdout的内容给刷出来。我这边显示是这样的。

❻ linux 标准输出到文件

这个问题不是很清晰, 不过楼主能看看wo的网名吗?帮忙搞定一下啊

❼ linux如何将一个程序的标准输入变成一个流文件

直接使用输出重定向到你想要的文件即可,不过将所有的控制到信息内输出到一个文本文件,只有两个容法:①:修改所有程序的输出路径:printf函数echo..几乎是不可能完成的任务②:修改linux的标准输出路径:句柄句柄的数字代号描述STDIN0

❽ 如何把Linux标准的正确输出和错误输出同步到一个文件呢

直接使用以下命令即可,例子:echo "chenfan" >>/dev/null 2>&1非常简单,直接参考上面例子即可.更多关于重定向的问题,请好好看看Linux就该这么学就可以了。

❾ Linux怎样将标准输出写进文件

启动 linux 系统,打开终端。1例如,现在我们想把 /home/zxb 目录下…2为了验证效果,我们首先进入 /home/zxb…3然后,我们打开 myfile.txt 文件查看其…4要将 Linux 的标准输出写进文件,其命…5不过,用上面命令格式将标准输出写进文…6例如,我们现在想将根目录所有文件的详…7下面是追加后的myfile.txt文件内容。这…

❿ linux中的标准输入输出

B1、因为shell是从左至右分析命令的,你的2>&1放在前面,2>&1是将标准出错重定向到标准输出,这里的标准输出还没有重定向到某个文件,所以将标准出错就输出到屏幕。2、而你的>是在后面,所以标准输出到文件当中如果想要一起重定向到一个文件当中,那么:ls-lR/data>/tmp/output2>&1