directory and suffix from filenames
basename string [suffix]
basename [-a] [-s suffix] string [...]
-a Treat every argument as a string
(as if basename were invoked with just one argument)
-s The suffix is taken as its argument, all other arguments are treated as a string.
The basename utility
deletes any prefix ending with the last slash / character
present in string (after first stripping trailing slashes), and a suffix, if
given. The suffix is not stripped if it is identical to the remaining characters
in string. The resulting filename is written to the standard output.
non-existent suffix is ignored.
The dirname utility
deletes the filename portion, beginning with the last slash `/' character to the
end of string (after first stripping trailing slashes), and writes the result to
the standard output.
and dirname will exit 0 on success, and >0 if an error occurs.
the shell variable FOO to /usr/bin
the shell variable FOO$ to the basename of iTunes