linux中的重定向问题
如图,这两个划横线的有什么区别,为什么一个是输出重定向,一个是错误重定向?教学ppt的输出重定向和错误重定向也同时出现了>>,是什么意思?...
如图,这两个划横线的有什么区别,为什么一个是输出重定向,一个是错误重定向?教学ppt的输出重定向和错误重定向也同时出现了>>,是什么意思?
展开
展开全部
不管是>>还是2>>都属于追加重定向。也就说,新重定向的内容不会覆盖掉原有文件里的内容,而是另起一行。只不过>>,是只对正确的内容或者结果进行重定向;而2>>,只对错误的内容或结果进行重定向。
比如原有文件a.txt,里面有一内容this is a test。现在我执行了命令:ls -l >> a.txt, 那么这个时候,因为的ls -l这个命令是正确的,所以ls -l 这个命令的结果将会被追加到a.txt中,以行为单位,写在了this is a test这段内容下面。
相反如果我执行了命令aaaa 2>> a.txt,那么因为这个命令是错的,所以会把我执行的aaaa命令之后所提示的错误提示(比如: command not found)追加到a.txt,同样是在this is a test这段话的下面。
而> 和2>却是不追加,而是覆盖掉原有内容,其他意思一样。
比如原有文件a.txt,里面有一内容this is a test。现在我执行了命令:ls -l >> a.txt, 那么这个时候,因为的ls -l这个命令是正确的,所以ls -l 这个命令的结果将会被追加到a.txt中,以行为单位,写在了this is a test这段内容下面。
相反如果我执行了命令aaaa 2>> a.txt,那么因为这个命令是错的,所以会把我执行的aaaa命令之后所提示的错误提示(比如: command not found)追加到a.txt,同样是在this is a test这段话的下面。
而> 和2>却是不追加,而是覆盖掉原有内容,其他意思一样。
展开全部
举个例子吧,这样方便理解。
什么是标准输出?
在linux里,我们用1代表标准输出
比如我们输入 ls file 时,当前目录下有file这个文件时,会在屏幕上显示出这个文件
这就是一个标准输出
什么是错误输出?
用2代表错误输出
当我们输入ls file时,如果目录下没有file这个文件时,会报一个错误,提示你
这个目录下没有file这个文件,这就是一个错误的输出。
正常我们输出是输出到显示器上,这样你会看到正确的输出和错误的输出信息。
但是我们可以通过重定向,将输出的内容输出到某个终端或者是某个文件里
因为不管是标准输出还是错误输出,都属于输出。
什么是标准输出?
在linux里,我们用1代表标准输出
比如我们输入 ls file 时,当前目录下有file这个文件时,会在屏幕上显示出这个文件
这就是一个标准输出
什么是错误输出?
用2代表错误输出
当我们输入ls file时,如果目录下没有file这个文件时,会报一个错误,提示你
这个目录下没有file这个文件,这就是一个错误的输出。
正常我们输出是输出到显示器上,这样你会看到正确的输出和错误的输出信息。
但是我们可以通过重定向,将输出的内容输出到某个终端或者是某个文件里
因为不管是标准输出还是错误输出,都属于输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询