admin管理员组文章数量:1643280
Linux管道
把一个进程链接到另一个进程的数据流称为
管道
。
-
头文件
#include<unistd.h>;
-
功能
创建一无名管道原型,int pipe(int fd[2]);
-
参数fd
文件描述符数组,其中fd[0]表示读端,fd[1]表示写端; -
返回值
成功返回0,失败返回错误代码。
通常用fork()函数共享管道
子进程拷贝父进程,也拷贝了管道信息,所以父子进程共享管道。
应用场景
Linux系统交互过滤有效信息,在终端输入ip addr
之后会出现很多ip地址但是会掺杂一些无用的信息,我们要截取信息,获得想要的ip。
下面这个方法,判断终端过滤到的IP是不是floatIP,如果是就返回true,否则返回false。
void Grep(char *floatIP)
{
char command[128] = {0};
snprintf(command, 128, "ip addr |grep 'inet %s' | awk '{print $2}'", floatIP);
FILE *fp = NULL;
fp = popen(command, "r");
if(!fp)
{
pclose(fp);
return false;
}
char buffer[1024] = {0};
if(fgets(buffer, 1024, fp))
{
pclose(fp);
return true;
}
pclose(fp);
return false;
}
同一网段相邻电脑文件拷贝
应用场景
将本机10.1.1.186
中的文件拷贝到隔壁电脑10.1.1.2
中,文件名为filename
。
Linux指令
scp filename root @10.1.1.2:/opt
版权声明:本文标题:Linux管道简述及同一网段相邻电脑文件拷贝 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729358170a1198491.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论