PATHCHK(1) FreeBSD General Commands Manual PATHCHK(1)


pathchkcheck pathnames


pathchk [ -pP] pathname ...


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:

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.
In addition to the default or -p checks, write a diagnostic for each argument that:
  • Is empty.
  • Contains a component that starts with a hyphen.


The pathchk utility exits 0 on success, and >0 if an error occurs.


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

find . -exec pathchk -p -- {} +


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


A pathchk utility appeared in FreeBSD 5.0.
May 1, 2010 FreeBSD