カテゴリ: Linuxコマンド集 更新日: 2025/12/14

mv --strip-trailing-slashesオプションの使い方|Linuxで末尾のスラッシュを無視して安全に移動・リネーム

mv --strip-trailing-slashesオプション|末尾のスラッシュを取り除いて処理する
mv --strip-trailing-slashesオプション|末尾のスラッシュを取り除いて処理する

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

生徒

「Linuxのmvコマンドで、ディレクトリ名の後ろにスラッシュが付いてても動作に違いはありますか?」

先生

「実は、mvコマンドは末尾のスラッシュによって挙動が変わることがあります。でもそれを回避できるオプションがあるんです。」

生徒

「えっ、そんな違いがあるんですね!そのオプションって何ですか?」

先生

「それが今回紹介する--strip-trailing-slashesです。さっそく詳しく見ていきましょう!」

1. mvコマンドとは?

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

Linuxのmvコマンドは、ファイルやディレクトリを移動したり、名前を変更したりするための基本的なコマンドです。たとえば、ファイルを別のフォルダに移したり、「old.txt」という名前を「new.txt」に変更したりするときに使います。


mv old.txt new.txt

この例では「old.txt」が「new.txt」という名前に変更されます。

2. スラッシュ付きディレクトリ名の注意点

2. スラッシュ付きディレクトリ名の注意点
2. スラッシュ付きディレクトリ名の注意点

Linuxでは、ディレクトリ名の最後にスラッシュ(/)をつけるかどうかで、コマンドの動作が変わることがあります。特にスクリプトなどでmvコマンドを使う場合、ディレクトリ名にうっかりスラッシュを付けてしまうと、意図しない動作をすることも。

たとえば、次のように記述したとします:


mv mydir/ backupdir/

この場合、mydirの中身をbackupdir/の中に移すのか、それともmydirそのものを移動するのかが状況によって変わってしまう可能性があります。

3. --strip-trailing-slashesとは?

3. --strip-trailing-slashesとは?
3. --strip-trailing-slashesとは?

--strip-trailing-slashesオプションは、ファイル名やディレクトリ名の末尾のスラッシュを無視して処理してくれるオプションです。これにより、スクリプトやコマンドラインで「/」をうっかり付けてしまっても、意図した通りにファイルやディレクトリを移動・リネームすることができます。

具体的には、以下のように使用します:


mv --strip-trailing-slashes mydir/ newdir

この場合でも、「mydir/」という書き方が「mydir」と同じように扱われるため、正しく「newdir」に名前変更されます。

4. 実際にmv --strip-trailing-slashesを使ってみよう

4. 実際にmv --strip-trailing-slashesを使ってみよう
4. 実際にmv --strip-trailing-slashesを使ってみよう

それでは実際に使ってみましょう。まず、以下のようなディレクトリがあるとします。


ls
mydir  backupdir

ここで、mydir/backupdir/にリネームしたいとします。通常はこうします:


mv mydir backupdir

ですが、誤って以下のように書いてしまったらどうなるでしょう?


mv mydir/ backupdir

この場合、mydirの中身がbackupdirに移されてしまうかもしれません。これを防ぐために、以下のように--strip-trailing-slashesをつけましょう。


mv --strip-trailing-slashes mydir/ backupdir

これで、mydirをそのままbackupdir名前変更することができます。

5. --strip-trailing-slashesはいつ使うべき?

5. --strip-trailing-slashesはいつ使うべき?
5. --strip-trailing-slashesはいつ使うべき?

このオプションは、以下のようなケースで非常に役立ちます:

  • 自動化スクリプトでmvを使うとき
  • ユーザーの入力にスラッシュが含まれる可能性があるとき
  • 間違えて末尾スラッシュを書いてしまう心配があるとき

初心者にとっては特に安心できるオプションです。コマンドの意味が明確になることで、予期せぬファイル移動や上書きを防ぐことができます。

6. 他のコマンドとの違いにも注意しよう

6. 他のコマンドとの違いにも注意しよう
6. 他のコマンドとの違いにも注意しよう

cp(コピー)やrsyncでも、末尾のスラッシュが挙動に影響します。たとえば、cp dir1 dir2cp dir1/ dir2では、コピーの中身が変わります。

そのため、mvだけでなく、Linux全体として「スラッシュの有無」に敏感であることを理解しておくことが重要です。

7. オプションの組み合わせ例

7. オプションの組み合わせ例
7. オプションの組み合わせ例

mvでは他にも便利なオプションと組み合わせることができます。たとえば、-v(verbose:詳細表示)を一緒に使えば、何を移動したか表示されます。


mv -v --strip-trailing-slashes folder/ archive
renamed 'folder/' -> 'archive'

これで、どのような操作が行われたのかを目で確認できて安心です。

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
New4
ファイル・ディレクトリ操作
touch --referenceオプションの使い方を完全ガイド!初心者でもわかるタイムスタンプのコピー方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
Linuxのls --full-timeオプションを完全ガイド!初心者でもわかるタイムスタンプのフル表示方法