Can someone explain /etc/services to me?

The following is mentioned in the user guide and in the help when adding ports to something.

Define a port group. A port name are any name defined in /etc/services. e.g.: http

I’m wondering, How do i find out what is listed in this /etc/services file?
I would have expected the following command to list them but i just get the following.

vyos@vyos-sh# set firewall group port-group name port ?
Possible completions:
Named port (any name in /etc/services, e.g., http)
<1-65535> Numbered port
Numbered port range (e.g. 1001-1050)

So when making firewall rules, how do i know if i have to list port number? or service?

Thoughts anyone?

You can do more /etc/services to see the contents of the file.

Can i edit it as well?

That’s a good question? I guess you could, I don’t know if Vyos parses it or not.
What the manual is trying to say is “The commonly understood services are listed in /etc/services but you’re welcome to just use your own port numbers”

To make your Vyos config portable, if it’s not listed in etc services you should just define the port number. Otherwise if you backed up your config.boot and deployed it to a host where you haven’t already edited /etc/services then it wouldn’t work.
So really editing services isn’t the right thing to do.

After taking a look at the file i understand a bit better, The list is so big i’ll never need to edit it. I do wish it would tab auto complete or show the possible matches with ? though as some of the names don’t match what i would expect.

Is there any way to make it do that?