linux输出重定向到文件命令,linux中怎么实现重定向2?
linux任意执行一条指令,将其输出和错误信息定向到test3文件中
如何将标准错误输出重定向到文件
Linux下默认有两种输出流:1 - 标准输出流2 - 标准错误输出流Linux下一切皆文件,这里的1和2表示的就是输出设备文件的文件描述符。
默认情况下,无论是标准输出还是标准错误输出,都是输出到终端显示的。
但也可以通过重定向输出到其他地方,如文件。
这就是输出重定向。
并且,这两种输出流可以被分别重定向。
下面举例:假设文件file.txt在当前目录下并不存在,执行下面的命令:ls file.txt 2>log.txt这样就将错误输出重定向到文件log.txt中。
ls file.txt 2>/dev/null这样就什么都看不到,将标准错误输出流重定向到/dev/null中,丢弃了。
ls file.txt >/dev/null只将标准输出重定向到/dev/null中,这样仍然可以在终端窗口看到错误输出。
注:>/dev/null 等同于 1>/dev/null,前面的1可省略。
linux中怎么实现重定向2?
在您实现输出的那行命令后面加上>、>>、<、<<、2>、2>>来实现重定向。
>是每一次重定向时将原先的内容先删除然后写入新的数据。
>>是每一次重定向时将新的内容加入到就内容的后面。
<是将指定文件内容重定向到相关命令或者文件中,同时每次执行时先删除旧的再加入新的。
<<作用同上,只是将新的信息加到旧的信息后面。
2>是将命令执行报错时,将错误信息重定向至指定文件,并且每次执行都会先删除旧的再加入新的。
2>>和上面一条命里作用一样,只是将新的错误信息加到原来信息的后面
举例:
1.ls /etc/passwd > user
2.ls /etc/passwd >> user
3.ls idjsoigjs > test
4.ls idjsoigjs >> test
5. mail 用户名 -s "邮件题目" < file (file是你建的一个文件,里面内容随意自己定)
然后输入 mail 可以看到自己有封邮件题目为(您自定义的名字),输入相应的数字,您可以按到信件内容为file内容,这就是利用重定向直接将已写好的信件内容发送出去。
至于1-4的结果,楼主可在输入完后自行查看user和test的变化来进行对比。
对照刘遄老师的《Linux就该这么学》
linux任意执行一条指令,将其输出和错误信息定向到test3文件中
tar cvf /tmp/test.tar *.c >test3 2>&1将当前目录下的所有C文件打成tar包。
若当前目录下不存在后缀名为.c的文件,则会产生错误信息,否则输出正常的打包信息。
2表示标准错误输出,1表示标准输出。
>test3 相当于 1>test3,即默认只重定向标准输出。
2>&1 则将标准错误输出糅合到标准输出中,这样就能一起重定向了。 (随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)