linux重定向输出到文件(linux 重定向 输出)-编程知识网

linux中管道是指什么,重定向是指什么?

管道是把一个命令的输出作为下一个命令的输入,

如 ls /etc | more

cat /etc/passwd | grep root

重定向是把一个命令的输出重定向到另一个文件

如 echo ‘hello’ > abc.txt 一个大于号是抹除源文件内容并写入,如果没有这个文件就创建这个文件并写入

echo ‘hello world’ >> /var/log/messages 两个大于号是追加内容到这个文件,没有这个文件就创建并写入

cat /etc/sysconfig/network-scripts/ifc-eth0 >>abcd.txt

break 2>/dev/null

linux中如何保存find查找出来的内容到一个文档?

find ./ -name xxx > filename把标准输出重定向到filename中find ./ -name xxx >> filename把标准输出追加到filename中

LINUX题,“请叙述重定向符号>和>>的异同”?

同: 它们的作用都是改变各种提示信息的输出方向,把提示信息输出到指定的地方去——各种提示信息默认是输出到屏幕上去的. 异: 它们的作用稍有差别。

单个的>表示以覆盖方式重定向提示信息,也就是说如果目的地原来有内容,将把原来的内容清除掉,用新内容填充; >>表示以追加的方式重定向提示信息,也就是说,如果目的地原来有内容,原有的内容将保持不变,在原有内容之后追加新内容。例如:假设d:/test.txt中的内容是:I Love batch。那么,在cmd窗口中,分别使用如下两条语句:echo me,too>d:/test.txt和echo me,too>>d:/test.txt,将会发现,使用第一条语句之后,test.txt中只有一行内容:me,too,而使用第二条语句之后,test.txt中将有两行内容,分别是I Love batch和me,too。

linuxC程序中如何获取shell的脚本输出呢?

你说的是Linux C程序获取shell脚本(命令)输出吧,这里简单介绍3种方式,分别是临时文件、匿名管道和popen函数,感兴趣的朋友可以尝试一下:

临时文件

这种方式最容易实现,基本思想是调用C语言标准库的system函数,运行shell命令或脚本,将输出结果重定向到一个临时文件中,然后读取临时文件,获取shell执行结果,测试代码如下,非常简单,输入参数分别为shell命令(脚本)和临时文件名,最终结果保存在临时文件中:

linux重定向输出到文件(linux 重定向 输出)-编程知识网

匿名管道

这种方式主要是管道,先pipe创建一个匿名管道,然后fork创建一个子进程,子进程运行shell命令或脚本,并将标准输出dup到匿名管道的写端,父进程再从匿名管道读端读取数据即可,测试代码如下,非常简单,子进程对应写端,父进程对应读端:

linux重定向输出到文件(linux 重定向 输出)-编程知识网

popen函数

这种方式最简单,C标准库专门提供了一个popen函数,可以非常简单的处理调用shell,基本思想创建一个管道,fork一个进程,然后执行shell,而shell的输出可以采用读取文件的方式获得,这种方式既避免了创建临时文件,又不受输出字符数的限制,推荐使用:

linux重定向输出到文件(linux 重定向 输出)-编程知识网

目前,就分享这3种Linux C程序获取shell脚本(命令)输出的方式吧,对于日常开发应用来说,完全够用了,只要你有一定的C语言基础,熟悉一下上面的代码,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。