basename(1)
NAME
basename − strip filename affixes
SYNTAX
basename string [ suffix ]
DESCRIPTION
The basename command deletes any prefix ending in a slash ( / ) and the suffix, if present in string, from string, and prints the result on the standard output. It is normally used inside graves marks (` `) in shell procedures.
This shell procedure invoked with the argument /usr/src/cmd/cat.c compiles the named file and moves the output to cat in the current directory:
cc $1
mv a.out `basename $1 .c`