basenameとは、パス名からディレクトリ名を削除して、ファイル名だけを抽出するLinuxコマンドである。
basename path [suffix]
引数にパス名だけを指定した場合、ファイル名が抽出される。
$ basename /home/tsuka/example.c
example.c
$ basename ./tsuka/example.h
example.h
$ basename tsuka/example.o
example.o
$
引数にパス名とサフィックス(接尾辞)を指定した場合、ファイル名を抽出したうえ、サフィックスが削除される。
たとえば、サフィックスにファイル拡張子を指定すると、パス名から拡張子無しのファイル名が抽出される。
$ basename /home/tsuka/example.c .c
example
$ basename ./tsuka/example.h .h
example
$ basename tsuka/example.o .o
example
$
basenameコマンドには次に示すオプションを指定できる。
$ basename -a /home/tsuka/example.c /home/tsuka/example.h
example.c
example.h
$ basename -s .c -a /home/tsuka/foo.c /home/tsuka/bar.c
foo
bar
$ basename -z -a /home/tsuka/example.c /home/tsuka/example.h
example.cexample.h
パス名からディレクトリ名だけを抽出するには、dirname
コマンドを使う。
$ dirname /home/tsuka/example.c
/home/tsuka
なし
標準出力