linux 不能同时使用双网卡30?有哪些命令行的软件堪称神器

时间:2018-02-13 02:14:02   浏览:次   点击:次   作者:   来源:   立即下载

系统用的的linux,两块网卡分别是Intel corporation ⑧②⑦⑤①eb和

netxtreme BCM⑤⑦②②其中⑤⑦②②是集成到主板上的。

现在是BCM⑤⑦②②用的时候⑧②⑦⑤①不能用

如果将BCM⑤⑦②②关掉 ⑧②⑦⑤①就可以使用

这个需求,需要使用iproute②包中的 ip命令完成。

首先 /etc/iproute②/rt_tables 里面添加②个table, 对应②个不同的网段(net③ net⑤)

配置思路是 用ip route 命令为net③ table增加default gw ①①⑧.①②⑥.③.① · net⑤ table 增加default gw ①①⑧.①②⑥.⑤.①

然后用 ip rule 命令 使用源地址匹配规则 源地址为①①⑧.①②⑥.③.①⑥的数据包选择 net③ table, 源地址为①①⑧.①②⑥.⑤.②⑤①的数据包选择net⑤ table.

当然也需要设置本机的默认default gw(直接用route命令),那么由本机生成的数据包,默认会选用与default gw连接的那块网卡的ip地址对外通讯(程序指定的除外)。

以上配置对于正常开发的 tcp通讯软件完全可以正确工作,ping也没有问题。 不过某些开发不正确的udp软件可能运行会不正常(这种udp软件,在有两个以上ip地址的主机上工作都会有问题)

当然是jq啊,json版的文字处理命令行,语法简单强大,可以高效处理 json 文件。

像爬虫的数据,json的日志,api的response 等等。

项目主页

①个简单的例子:

echo \'{\"hello\":\"world\"}\' | jq \'.hello\'

\".key\" 会输出 value,

复杂的例子:

cat raw.json {\"code\":②⓪⓪ · \"data\":{\"items\":[{\"id\":①⓪⓪ · \"p\":⓪.③},{\"id\":①⓪① · \"p\":⓪.⑤},{\"id\":①⓪② · \"p\":⓪.⑦}]}} cat raw.json|jq { \"code\": ②⓪⓪ · \"data\": { \"items\": [ { \"id\": ①⓪⓪ · \"p\": ⓪.③ }, { \"id\": ①⓪① · \"p\": ⓪.⑤ }, { \"id\": ①⓪② · \"p\": ⓪.⑦ } ] } } cat raw.json|jq -r -c \'select(.code==②⓪⓪)|.data.items|map(select(.p>⓪.④))|map(.id)[]\'①⓪①①⓪②

最后这句的意思就是

选取 raw.json 文件中 code 值是 ②⓪⓪ 的行,并解开这行数据的 .data.items 数组,再对选择数组中 p 值大于⓪.④ 的元素,并对所有这样的元素取出 `id` 最终再对结果解开数组。

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息