カテゴリ: Linuxコマンド集 更新日: 2026/03/05

basenameの--multipleオプションで複数パスを一括処理!初心者にもわかるLinuxコマンド入門

basename --multipleオプション|複数のパスをまとめて処理する方法
basename --multipleオプション|複数のパスをまとめて処理する方法

先生と生徒の会話形式で理解しよう

生徒

「basenameって1個ずつしかファイル名を取り出せないんですか?」

先生

「実は、複数のパスをまとめて処理できる--multipleオプションがあるんですよ。」

生徒

「へぇ、それなら一括で処理できて便利ですね!どう使うんですか?」

先生

「それじゃあ、一緒に--multipleの使い方を学んでみましょう。」

1. basenameコマンドとは?

1. basenameコマンドとは?
1. basenameコマンドとは?

basenameコマンドは、LinuxやUnixで使われる基本的なコマンドのひとつです。ファイルのパス(道筋)からファイル名だけを取り出すことができます。

たとえば、/home/user/image.pngというファイルのパスがあった場合、basenameを使えばimage.pngだけを表示できます。

2. 通常のbasenameの使い方(おさらい)

2. 通常のbasenameの使い方(おさらい)
2. 通常のbasenameの使い方(おさらい)

まずは基本的な使い方を見てみましょう。


basename /home/user/music/song.mp3
song.mp3

このように、ファイル名だけを表示できます。ただし、この方法では1つのファイルパスしか扱えません。

3. --multipleオプションとは?

3. --multipleオプションとは?
3. --multipleオプションとは?

--multipleは、basenameコマンドに用意された複数のパスを一括で処理するためのオプションです。通常のbasenameでは1つのパスしか指定できませんが、--multipleを使えば、2つ以上のパスをまとめて処理できます。

このオプションは、「毎回1つずつコマンドを打つのが面倒」「複数のファイル名だけを一括で取り出したい」といった場面でとても便利です。

4. --multipleの基本的な使い方

4. --multipleの基本的な使い方
4. --multipleの基本的な使い方

実際の使い方を見てみましょう。


basename --multiple /home/user/photos/cat.jpg /home/user/photos/dog.jpg
cat.jpg
dog.jpg

このように、2つのパスを一度に処理して、それぞれのファイル名だけを出力できます。

5. 拡張子を除外したい場合は?

5. 拡張子を除外したい場合は?
5. 拡張子を除外したい場合は?

--multipleを使う場合でも、SUFFIX(接尾辞)を一緒に指定することができます。


basename --multiple --suffix=.jpg /images/a.jpg /images/b.jpg
a
b

このように--suffixオプションを追加することで、拡張子.jpgを除外してファイル名だけを取得できます。

6. 実行結果の順番に注意

6. 実行結果の順番に注意
6. 実行結果の順番に注意

--multipleオプションでは、指定したパスの順番どおりに出力されます。ファイル名だけを表示したいときに、順序が大事な場合もあるので注意しましょう。


basename --multiple /data/x.txt /data/y.txt /data/z.txt
x.txt
y.txt
z.txt

このように、指定した順番どおりにファイル名が表示されます。

7. lsコマンドとの組み合わせ例

7. lsコマンドとの組み合わせ例
7. lsコマンドとの組み合わせ例

大量のファイル名を処理したいときは、lsコマンドと組み合わせてxargsを使うことで、さらに便利になります。


ls /var/log/*.log | xargs basename --multiple
syslog.log
auth.log
kernel.log

このように、.logファイルのパス一覧からファイル名だけを取り出す処理が一括でできます。

8. dirnameとの違いを確認しよう

8. dirnameとの違いを確認しよう
8. dirnameとの違いを確認しよう

basenameとよく似たコマンドにdirnameがあります。こちらは、ファイル名ではなく、パス(フォルダ部分)だけを取り出すためのコマンドです。


dirname /home/user/data/file.txt
/home/user/data

これに対してbasenameはファイル名だけを出力します。


basename /home/user/data/file.txt
file.txt

それぞれ役割が異なるので、場面に応じて使い分けましょう。

9. basename --multipleが使えない場合の代替方法

9. basename --multipleが使えない場合の代替方法
9. basename --multipleが使えない場合の代替方法

環境によっては、古いバージョンのbasenameでは--multipleオプションが使えないことがあります。

その場合は、for文を使って1つずつ処理する方法もあります。


for path in /tmp/a.txt /tmp/b.txt; do basename "$path"; done
a.txt
b.txt

これは少しだけプログラミングっぽい書き方になりますが、複数ファイルを処理する裏技のような使い方です。

まとめ

まとめ
まとめ

basename --multipleオプションのポイント総整理

今回の記事では、Linuxコマンドの中でも基本でありながら、意外と知られていない basenameコマンドの--multipleオプションについて詳しく学びました。 basenameは、ファイルパスからファイル名だけを取り出すためのシンプルなコマンドですが、 --multipleを使うことで複数のパスを一度に処理でき、作業効率が大きく向上します。 Linux環境でのファイル操作、ログ管理、シェルスクリプト作成、バッチ処理など、 さまざまな場面で役立つ知識です。

通常のbasenameは1つのパスしか指定できませんが、 basename --multipleを使えば、複数のファイルパスを並べて指定するだけで、 それぞれのファイル名を順番どおりに取得できます。 この動きは非常に直感的で、Linux初心者でも理解しやすいのが特徴です。 パスが長くなりがちなLinuxのディレクトリ構成において、 ファイル名だけを取り出す場面は想像以上に多く、覚えておいて損はありません。

--suffixオプションとの組み合わせ

また、--multiple--suffixオプションと組み合わせて使うことで、 拡張子を除外したファイル名を取得できる点も重要です。 画像ファイル、ログファイル、設定ファイルなど、拡張子が決まっている場合は、 拡張子を除いた名前だけを扱いたいケースが多くあります。 そのような場面で、basenameのこの機能はとても実用的です。


basename --multiple --suffix=.log /var/log/syslog.log /var/log/auth.log
syslog
auth.log

このように、拡張子を意識せずにファイル名だけを扱えるため、 後続の処理やスクリプトの可読性も高まります。 Linuxコマンドは小さな部品を組み合わせて使う文化があるため、 basenameの出力結果を他のコマンドへ渡す使い方もよく行われます。

lsやxargsとの組み合わせの重要性

記事の中で紹介したように、lsxargsと組み合わせることで、 basenameはさらに強力になります。 ディレクトリ内に大量のファイルがある場合でも、 一括でファイル名だけを抽出できるため、日常的なLinux操作がかなり楽になります。 特にサーバー管理やログ解析を行う場面では、頻繁に登場するテクニックです。


ls /var/log/*.log | xargs basename --multiple
syslog.log
auth.log
kernel.log

このような使い方を覚えておくと、Linuxコマンドを単体で覚えるだけでなく、 組み合わせて使う発想も自然と身につきます。 初心者のうちから「つなげて使う」意識を持つことは、 Linuxスキルを伸ばすうえでとても大切です。

dirnameとの違いを正しく理解する

basenameとdirnameの違いを整理した点も、今回の大事なポイントです。 basenameはファイル名を取得し、dirnameはディレクトリパスを取得します。 この役割の違いを理解しておくことで、ファイルパスを自由に分解できるようになります。 Linuxコマンドでは、パス操作が頻繁に出てくるため、 この2つのコマンドはセットで覚えるのがおすすめです。

先生と生徒の振り返り会話

生徒

「basenameって、ただファイル名を表示するだけのコマンドだと思っていましたけど、 --multipleを使うと一気に便利になりますね。」

先生

「そうですね。Linuxコマンドは、最初は小さな機能に見えても、 オプションを知ることで使い道が一気に広がることが多いです。」

生徒

「複数のファイルをまとめて処理できるのは、作業ミスも減りそうですし、 シェルスクリプトでも使えそうだと感じました。」

先生

「その感覚はとても大切です。basenameはログ処理や自動化処理でもよく使われます。 ファイル名だけを正確に扱えるようになると、Linux操作が一段レベルアップしますよ。」

生徒

「basenameとdirnameを組み合わせれば、パスの扱いも怖くなくなりそうです。 これからコマンドを読むときの理解も深まりそうですね。」

先生

「その通りです。今日学んだbasename --multipleの使い方を、 日々のLinux操作の中で少しずつ使ってみてください。 実際に使うことで、自然と身についていきます。」

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
rm --helpオプションを使ってみよう!初心者でもわかるLinuxのヘルプ表示方法
New2
テキスト処理とフィルタ
moreコマンドとlessコマンドの違いと使い方を完全ガイド!初心者でもわかるLinuxのページ表示の基本
New3
ファイル・ディレクトリ操作
basenameの--helpオプションを使ってヘルプ表示!オプション一覧でLinuxコマンドを理解しよう
New4
ファイル・ディレクトリ操作
stat --helpオプションの使い方|オプション一覧を表示してLinuxコマンドの使い方を確認しよう
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門