根据输入网络服务名称取得端口号

Linux大全评论505 views阅读模式

查看/etc/services文件,可以浏览所有网络服务名对应的端口号,由于文件列表太长,不方便查阅,就写个正则表达式的shell来指定特别的服务名称查询对应的端口号,或者根据端口号来查询对应的服务名称。

  1. #!/bin/bash
  2. read -p "choose service_name or port_number, 1:service, 2:port: " num
  3. case $num in
  4. "1")
  5.         read -p "type the service name: " service_name
  6.         grep "^$service_name .*" /etc/services |grep 'tcp'|awk '{print $2}'|awk 'BEGIN{FS="/"} {print "port number is " $1}'
  7.       ;;
  8. "2")
  9.         read -p "type the port number: " port_num
  10.         grep "^.* $port_num/" /etc/services |grep 'tcp'|awk '{print "service name is " $1}'
  11.         ;;
  12. *)
  13.         echo "1:service name 2:port number"
  14.         ;;
  15. esac
  1. choose service_name orport_number, 1:service, 2:port: 1
  2. type the service name: http
  3. port number is 80
  1. choose service_name or port_number, 1:service, 2:port: 2
  2. type the port number: 21
  3. service nameis ftp

企鹅博客
  • 本文由 发表于 2020年6月30日 15:34:04
  • 转载请务必保留本文链接:https://www.qieseo.com/176672.html

发表评论