dirname is a standard UNIX computer program. When dirname is given a pathname, it will delete any suffix beginning with the last slash (
'/') character and return the result. dirname is described in the Single UNIX Specification and is primarily used in shell scripts.
The Single UNIX Specification specification for dirname is.
$ dirname /usr/home/carpetsmoker/dirname.wiki /usr/home/carpetsmoker
dirname accepts only one operand, its usage within the inner loop of shell scripts can be detrimental to performance. Consider
while read file; do dirname "$file" done < some-input
The above excerpt would cause a separate process invocation for each line of input. For this reason, shell substitution is typically used instead
- The Single UNIX® Specification, Issue 7 from The Open Group : return the directory portion of a pathname – Commands & Utilities Reference,
- Linux User Commands Manual : strip nondirectory suffix from filenames –