---
name: "services"
section: "5"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/services"
---

# services(5)

internet service name and port number data base

## NAME

**services** – internet service name and port number data base

## DESCRIPTION

The **services** file contains information regarding the known services available in the Internet. For each service a single line should be present with the following information:

```
official service name
port number
protocol name
aliases
```

Items are separated by any number of blanks and/or tab characters. The port number and protocol name are considered a single *item*; a \`\`/'' is used to separate the port and protocol (e.g. \`\`512/tcp''). A \`\`#'' indicates the beginning of a comment; subsequent characters up to the end of the line are not interpreted by the routines which search the file.

Service names may contain any printable character other than a field delimiter, newline, or comment character.

If “db” is specified as source in the [nsswitch.conf(5)](/nsswitch.conf/5.md), */var/db/services.db* is searched. The database in */var/db/services.db* needs to be updated with [services\_mkdb(8)](/services_mkdb/8.md) after changes to the services file have been applied.

## NIS INTERACTION

Access to the NIS *services.byname* map can be enabled by adding a single \`\`+'' on a line by itself in the */etc/services* file. This causes the contents of the NIS services map to be inserted at the location where the \`\`+'' appears.

## FILES

- */etc/services*

  The **services** file resides in */etc*.

## SEE ALSO

[getservent(3)](/getservent/3.md), [nsswitch.conf(5)](/nsswitch.conf/5.md), [services\_mkdb(8)](/services_mkdb/8.md)

## HISTORY

The **services** file format appeared in 4.2BSD.

## BUGS

A name server should be used instead of a static file.
