根据端口号查找对应的服务名
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。