A. linux重定向中 >&2 怎么理解
>&2 即 1>&2 也就是把结果输出到和标准错误一样;之前如果有定义标准错误重定向到某log文件,那么标准输出也重定向到这个log文件
如:ls 2>a1 >&2 (等同 ls >a1 2>&1)
把标准输出和标准错误都重定向到a1,终端上看不到任何信息。
B. linux中如何重定向,怎么把屏幕上的全部重定向到一个文件夹
重定向是>比如把df的输出内容输出重定向到out.x文件,df > /out.x
C. linux 执行过程和结果显示的 重定向
dd of=/home/ltk/ddd
没问题
执行的标准输出用dd传入文件是没问题的, 其实用不着dd ,用标准输出和错误重定向即可解决 。
tar -cvf - ff fff bb >/home/ltk/ddd
2>&1
然后, 如果有出错或者正常都会被写入 /home/ltk/ddd。
D. linux 重定向中的 &> 和 >的作用
linux重定向中&>和>&是一个意思,是“复制一个文件描述符”的意思。
一、linux重定向的设备代码
标准输入(stdin) 代码为 0 ,实际映射关系:/dev/stdin -> /proc/self/fd/0
标准输出(stdout)代码为 1 , 实际映射关系:/dev/stdout -> /proc/self/fd/1
标准错误输出(stderr)代码为 2 ,实际映射关系: /dev/stderr ->/pro/self/fd/2
举例:正常输出和错误信息都不显示,把标准输出和标准错误都重定向到/dev/null
#ls1>/dev/null2>/dev/null
二、linux重定向的符号意义
1. > 和 < 分别代表重定向的方向,是从左到右还是从右到左
2. >> 和 << 代表追加,也就是不改变重定向目标文件原有的内容,追加在后面。
#举例:将执行"ls-lag"命令的结果追加到文件lee.dat中
ls-lag>>lee.dat
3. >&n 使用系统调用 p (2) 复制文件描述符 n 并把结果用作标准输出;
4. <&n 标准输入复制自文件描述符 n;
#举例:让标准错误输出和标准输入一样都被存入到文件中
find/home-namelee*>all_lee2>&1
5. n<&- 表示将 n 号输入关闭
6. <&- 表示关闭标准输入(键盘)
7. n>&- 表示将 n 号输出关闭
8. >&- 表示将标准输出关闭
#举例:关闭1,2文件描述符
lstest.shtest1.sh1>&-2>&-
E. linux中的输出重定向是什么意思
输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中。在日常的学习和工作中,相较于输入重定向,我们使用输出重定向的频率更高,所以又将输出重定向分为了标准输出重定向和错误输出重定向两种不同的技术,以及清空写入与追加写入两种模式。听起来就很玄妙?
标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
比如我们分别查看两个文件的属性信息,其中第二个文件是不存在的,虽然针对这两个文件的操作都分别会在屏幕上输出一些数据信息,但这两个操作的差异其实很大:
[root@linuxprobe~]#touchlinuxprobe
[root@linuxprobe~]#ls-llinuxprobe
-rw-r--r--.1rootroot0Aug505:35linuxprobe
[root@linuxprobe~]#ls-lxxxxxx
ls:cannotaccessxxxxxx:Nosuchfileordirectory
#命令来自->http://www.linuxprobe.com/chapter-03.html#31
在上述命令中,名为linuxprobe的文件是存在的,输出信息是该文件的一些相关权限、所有者、所属组、文件大小及修改时间等信息,这也是该命令的标准输出信息。而名为xxxxxx的第二个文件是不存在的,因此在执行完ls命令之后显示的报错提示信息也是该命令的错误输出信息。那么,要想把原本输出到屏幕上的数据转而写入到文件当中,就要区别对待这两种输出信息。
命令>文件将标准输出重定向到一个文件中(清空原有文件的数据)
命令2>文件将错误输出重定向到一个文件中(清空原有文件的数据)
命令>>文件将标准输出重定向到一个文件中(追加到原有内容的后面)
命令2>>文件将错误输出重定向到一个文件中(追加到原有内容的后面)
命令>>文件2>&1或命令&>>文件将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)
F. linux 重定向的意义
默认输出是标准输出,既你的终端窗口,可以把它重定向到一个文件中,例如
echo “hello world” >1.txt 或者把标准错误输出重定向到错误日志中,例如 echo “wrong!” 2>error_log,或者用管道把一条指令的输出重定向到另一条指令的输入,常用的是,ls -l |grep "something"
G. 请解释linux中的“重定向”的概念,由浅入深!
重定向是个操作系统的概念
它的主要含义是将原本从一个输入输出设备的输入输出操作,转向到从另外一个输入输出设备进行。
例如:linux系统中sh启动进程时会默认打开三个输入输出文件:标准输入文件、标准输出文件和标准错误文件(一般情况下是控制台),他们的文件句柄分别是0,1,2,
有时候你需要将进程的输出输出到一个文件的时候,你会这样处理:a>file.txt(假定a是程序名称)
那么sh就会将默认的两个输出文件1和2改为:file.txt
这就叫重定向。
例如下面的sh命令:a
<fa.txt
1>fo.txt
2>fe.txt
sh就将0的输入文件该向为:fa.txt,也就是将输入改为从文件fa.txt
将1输出文件重定向为:fo.txt
将2输出文件重定向为:fe.txt
一般这些都是操作系统记得内容,基本上与开发没有关系,你说gfortran要用重定向,我不太明白。
H. linux中,怎样通过重定向的方法将命令在另一个终端中运行
远程执行命令?
利用spawn和expect登录,send发送指令就可以了。
http://blog.sina.com.cn/s/blog_5140741f01015w3j.html
可以参考下上面的链接
I. linux 重定向
dd if=/dev/zero of=testX bs=1G count=1 >Output 2>&1
J. linux 输入重定向
LINUX默认输入是键盘,输出是显示器。你可以用重定向来改变这些设置。比如用wc命令的时候本来是要手动输入一篇文字来计算字符数的,用了重定向后可以直接把一个已经写好的文件用‘<’指向这条命令,就直接可以统计这个文件的字符数等了。输出也是一样,你可以把屏幕输出重定向到一个文件里,再到文件里去看结果。