linux命令与重定向题 linux重定向命令是哪3种

LINUX 标准错误输出重定向用途:不挂断地运行命令 。
语法:nohup Command [ Arg … ] []
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中 。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中 。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用 。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令 。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令 。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态 。
用途:在后台运行
一般两个一起用
3.为什么呢 21 要写在后面?
首先是commandfile将标准输出重定向到file中, 21 是标准错误拷贝了标准输出的行为,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中 。
21 标准错误拷贝了标准输出的行为,但此时标准输出还是在终端 。file 后输出才被重定向到file,但标准错误仍然保持在终端 。
用strace可以看到:
这个命令中实现重定向的关键系统调用序列是:
open(file) == 3
dup2(3,1)
dup2(1,2)
这个命令中实现重定向的关键系统调用序列是:
dup2(1,2)
open(file) == 3
dup2(3,1)
注意:0 是标准输入(STDIN) , 1 是标准输出(STDOUT),2 是标准错误输出(STDERR) 。
这里的2和之间不可以有空格,2是一体的时候才表示错误输出 。
Linux系统命令中关于输入、输出重定向问题,求解你问的这个如果细讲的话,能说一堆 。建议还是百度一下:linux 标准输入,输出,重定向 。
LINUX默认输入是键盘,输出是显示器 。你可以用重定向来改变这些设置 。比如用wc命令的时候本来是要手动输入一篇文字来计算字符数的 , 用了重定向后可以直接把一个已经写好的文件用‘’指向这条命令,就直接可以统计这个文件的字符数等了 。输出也是一样,你可以把屏幕输出重定向输出''到一个文件里,再到文件里去看结果 。输出又分标准输出和标准错误输出 。建议还是看书 , 在练习 。
光听别人说体会的还是不深 。
Linux重定向输出重定向 :
我们使用或者对输出进行重定向 。符号的左边表示文件描述符 , 如果没有的话表示1,也就是标准输出,符号的右边可以是一个文件,也可以是一个输出设备(Linux中万物皆文件,即设备也是文件) 。当使用时 , 会判断右边的文件存不存在,如果存在的话就先删除,然后创建一个新的文件,不存在的话则直接创建 。但是当使用进行追加时,则不会删除原来已经存在的文件 。
格式 :
command-line[n] 文件
这条命令意思是:将一条命令执行结果(标准输出,或者错误输出 , 本来都要打印到屏幕上面的)重定向其它输出设备(文件)1,2分别是标准输出,错误输出 。
实例 :
输入重定向
在理解了输出重定向之后,理解输入重定向就会容易得多 。对输入重定向的基本命令如下:
我们使用对输入做重定向,如果符号左边没有写值,那么默认就是0 。
格式:
command-line [n] 文件
命令默认从键盘获得的输入 , 使用输入重定向改成从文件 , 或者其它打开文件以及设备输入 。执行这个命令 , 将标准输入0 , 与文件或设备绑定,将由它进行输入 。
实例:
文件描述符的复制表示复制文件描述符到另一个文件描述符中,也就是将该文件描述符重定向到另一个文件描述符所绑定的文件,使用””进行复制 。

推荐阅读