首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘`lsof -i`’的逆

‘`lsof -i`’的逆
EN

Server Fault用户
提问于 2012-04-24 19:29:19
回答 3查看 697关注 0票数 5

运行lsof -i (没有参数给-i)“选择所有因特网和x.25 (HP)网络文件的列表。我正在寻找一种可靠的方法来做相反的事情:显示除了Internet文件之外的所有东西的列表。所谓可靠,我指的是只需要运行一次lsof的方式。两个后续的运行(即正常的lsoflsof -i以进行比较)不可靠,因为很有可能发生搅动。

提前感谢!

EN

回答 3

Server Fault用户

回答已采纳

发布于 2012-04-24 21:37:49

不如:

代码语言:javascript
复制
lsof | awk '$5 !~ /IPv[46]/{print}'
票数 2
EN

Server Fault用户

发布于 2012-04-24 19:34:54

sudo lsof _ grep -v IPv4 _ grep -v IPv6

这对你有用吗?这将只排除-i列出的内容。

票数 0
EN

Server Fault用户

发布于 2012-04-24 21:08:16

我很快就通过了这个一起,所以质量可能达不到标准。

这个Python脚本读取从"lsof“命令返回的每一行,并检查以确保"TYPE”列不具体包括"IPv4“或"IPv6”。

代码语言:javascript
复制
#!/usr/bin/env python

from sys import stdin
from re  import search

def main():
    lsof = stdin.read().strip()

    final_files = [lsof.split('\n')[0]]

    for line in lsof.split('\n')[1:]:
        if not search(r'.*(IPv4|IPv6).*', line.split()[4]):
            final_files.append(line)

    print '\n'.join(final_files)

if __name__ == '__main__':
    main()

您可以这样执行:

代码语言:javascript
复制
lsof | ./inverse_lsof.py
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/382716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档