PATHCHK(1) | General Commands Manual | PATHCHK(1)

# NAME

`pathchk` —
check pathnames

# SYNOPSIS

`pathchk` | [`-p`] pathname ...

# DESCRIPTION

The `pathchk` utility checks whether each of the specified pathname arguments is valid or portable.

A diagnostic message is written for each argument that:

- Is longer than `PATH_MAX` bytes.
- Contains any component longer than `NAME_MAX` bytes. (The value of `NAME_MAX` depends on the underlying file system.)
- Contains a directory component that is not searchable.

It is not considered an error if a pathname argument contains a nonexistent component as long as a component by that name could be created.

The options are as follows:

`-p`
  Perform portability checks on the specified pathname arguments. Diagnostic messages will be written for each argument that:
  - Is longer than `_POSIX_PATH_MAX` (255) bytes.
  - Contains a component longer than `_POSIX_NAME_MAX` (14) bytes.
  - Contains any character not in the portable filename character set (that is, alphanumeric characters, ‘`.`’, ‘`-`’ and ‘`_`’). No component may start with the hyphen (‘`-`’) character.

# EXAMPLES

Check whether the names of files in the current directory are portable to other POSIX systems:

`find . -exec pathchk -p \{\} +`
or the more efficient:
`find . -print0 | xargs -0 pathchk -p`

# SEE ALSO

getconf(1), pathconf(2), stat(2)

# STANDARDS

The `pathchk` utility conforms to IEEE Std 1003.1-2001 (“POSIX.1”).

# HISTORY

A `pathchk` utility appeared in NetBSD 2.0.

November 9, 2010 | NetBSD 9.5