根据端口号查找对应的服务名

 

1)grep -w 端口号 /etc/services

 

2)grep "\b端口号\b" /etc/services

 

以2049端口为例,执行grep -w 2049 /etc/services或grep "\b2049\b" /etc/services  即可查找到其对应的服务名为nfs

grep -w 2049 /etc/services    

nfs             2049/tcp        nfsd shilp      # Network File System

nfs             2049/udp        nfsd shilp      # Network File System

nfs             2049/sctp       nfsd shilp      # Network File System

# grep "\b2049\b" /etc/services     

nfs             2049/tcp        nfsd shilp      # Network File System

nfs             2049/udp        nfsd shilp      # Network File System

nfs             2049/sctp       nfsd shilp      # Network File System

 

其中-w表示只显示全字符合的列,即精确匹配;"\b"表示匹配一个字边界,即字与空格间的位置。例如,“er\b”匹配“never”中的“er”,但不匹配“verb”中的“er”(若匹配“verb”中的“er”可使用"\B"进行非字边界匹配)。

 

根据服务名查找对应的端口号

1)grep -w 服务名 /etc/services

2)grep "\b服务名\b" /etc/services

以nfs服务为例,执行grep -w nfs /etc/services 或grep "\bnfs\b"/etc/services即可查找到其对应的端口号为2049

# grep -w nfs /etc/services 

nfs             2049/tcp        nfsd shilp      # Network File System

nfs             2049/udp        nfsd shilp      # Network File System

nfs             2049/sctp       nfsd shilp      # Network File System

# grep "\bnfs\b" /etc/services             

nfs             2049/tcp        nfsd shilp      # Network File System

nfs             2049/udp        nfsd shilp      # Network File System

nfs             2049/sctp       nfsd shilp      # Network File System

 

其中-w表示只显示全字符合的列,即精确匹配;"\b"表示匹配一个字边界,即字与空格间的位置。\bnfs\b即为精确匹配nfs。