広告スペース(バナー)
🖥️Linux/シェルコマンド レッスン
ターミナルの基本操作6
ファイル操作の基礎6
権限とファイル検索6
プロセスとディスク管理6
履歴とテキスト処理6
環境変数とネットワーク基本6
接続と比較・日時操作6
テキスト整形と情報取得6
仕上げのコマンド12
レッスン 46 / 61

basename でパスからファイル名だけ取り出そう

「長いファイルパスからファイル名の部分だけを取り出したい」というときに使うのがbasenameです。basenameは指定したパスから、末尾のファイル名(またはフォルダ名)部分だけを取り出して表示します。

basename パスという書式で使います。拡張子まで除いたファイル名だけが欲しい場合はbasename パス 拡張子のように第2引数を指定します。

basename /home/user/project/notes.txtを実行すると、パスの末尾部分であるnotes.txtだけが取り出されて表示されます。

よくあるつまずきは、後述のdirname(フォルダ部分の取得)と役割を混同することです。basenameは末尾、dirnameは先頭側と覚えると区別しやすくなります。

実務ではシェルスクリプトの中で、渡されたファイルパスから拡張子やファイル名だけを取り出して処理を分岐させる際によく使われます。

Linux/シェルコマンド
試してみよう(疑似ターミナルへの入力例)
basename /home/user/project/notes.txt

🧑‍💻 このコマンドは Linux/シェルコマンドの疑似ターミナル に実際に入力して試せます(このページ自体には操作可能なターミナルはありません)。

🎯
ここまでできればゴール達成!
長いパスから、ファイル名の部分だけを取り出せるようになります。
広告スペース(バナー)
広告スペース(記事内)