GNU shell utilities - 7. File name manipulation

Go to the first, previous, next, last section, table of contents.

# 7. File name manipulation

This section describes commands that manipulate file names.

## 7.1 `basename`: Strip directory and suffix from a file name

`basename` removes any leading directory components from name. Synopsis:

    basename name [suffix]

If suffix is specified and is identical to the end of name, it is removed from name as well. `basename` prints the result on standard output.

The only options are ``--help'` and ``--version'`. See section 2. Common options.

## 7.2 `dirname`: Strip non-directory suffix from a file name

`dirname` prints all but the final slash-delimited component of a string (presumably a filename). Synopsis:

    dirname name

If name is a single component, `dirname` prints ``.'` (meaning the current directory).

The only options are ``--help'` and ``--version'`. See section 2. Common options.

## 7.3 `pathchk`: Check file name portability

`pathchk` checks portability of filenames. Synopsis:

    pathchk [option]... name...

For each name, `pathchk` prints a message if any of these conditions is true:

1. one of the existing directories in name does not have search (execute) permission,
2. the length of name is larger than its filesystem's maximum file name length,
3. the length of one component of name, corresponding to an existing directory name, is larger than its filesystem's maximum length for a file name component.

The program accepts the following option. Also see section 2. Common options.

``-p'`
``--portability'`
  Instead of performing length checks on the underlying filesystem, test the length of each file name and its components against the POSIX.1 minimum limits for portability. Also check that the file name contains no characters not in the portable file name character set.

Exit status:

    0 if all specified file names passed all of the tests,
    1 otherwise.

Go to the first, previous, next, last section, table of contents.