この記事では、Linuxコマンドのmv
コマンドの使い方について解説します。
mv
コマンドを使うことで、ファイルやディレクトリの移動や名前変更を行うことができます。
今回掲載しているコマンドはUbuntu 24.04.1で確認しました!
mvコマンドの使い方
mv
コマンドを使うと、ファイルやディレクトリの移動と名前変更ができます。
基本的な構文は下記のようになります。
ファイルの移動:
$ mv (オプション) 移動元 移動先
ディレクトリの移動:
$ mv (オプション) 移動元ディレクトリ/ 移動先ディレクトリ/
ファイルの名前変更:
$ mv (オプション) 現在のファイル名 新しいファイル名
実際に使ってみる
実際に使ってみます。
まず、ls
コマンドで確認すると、下記のようなファイルが存在します。
$ ls -l
total 4
-rw-r--r-- 1 root root 7 Jan 21 13:22 source.txt
mv
コマンドを使って、source.txt
ファイルをtest.txt
という名前に変更してみます。
$ mv source.txt test.txt
source.txt
ファイルがtest.txt
という名前に変更されました。
実行後にls
コマンドで確認すると、下記のようにファイル名が変わっていることがわかります。
$ ls -l
total 4
-rw-r--r-- 1 root root 7 Jan 21 13:22 test.txt
次に、test.txt
ファイルをbackup
ディレクトリに移動してみます。
まず、移動先のディレクトリを作成します。
$ mkdir backup
そして、mv
コマンドでファイルを移動します。
$ mv test.txt backup/
実行後にそれぞれのディレクトリの中身を確認すると、test.txt
がbackup
ディレクトリに移動したことがわかります。
$ ls -l
total 4
drwxr-xr-x 2 root root 4096 Jan 21 13:24 backup
$ ls -l backup/
total 4
-rw-r--r-- 1 root root 7 Jan 21 13:22 test.txt
mvコマンドのサンプル4つ
mv
コマンドを使ったサンプルを4つ紹介します。
ディレクトリごと移動する
ディレクトリを移動するには、特にオプションは必要ありません。
$ mv source_dir/ destination_dir/
上書き確認をする
既存のファイルを上書きする前に確認するには-i
オプションを使います。
$ mv -i source.txt destination.txt
ファイルがない場合は、確認がなく名前変更されます。
ファイルがある場合には、下記のように確認が出るため、y
を入力してエンターを押すと上書きされます。
$ mv -i source.txt destination.txt
mv: overwrite 'destination.txt'?
destination.txt
という名前のファイルにsource.txt
の内容が反映されます。
強制的に上書きする
上書き確認をせずに強制的に上書きするには-f
オプションを使います。
$ mv -f source.txt destination.txt
複数のファイルを一度に移動する
複数のファイルを一度にディレクトリに移動することができます。
$ mv file1.txt file2.txt file3.txt destination_dir/
mvコマンドのオプション一覧
オプション | 説明 |
---|---|
--backup[=CONTROL] |
既存の各宛先ファイルのバックアップを作成します。CONTROL には、バックアップ方法を指定できます(none , numbered , existing , simple など)。 |
-b |
--backup と同様ですが、引数を受け付けません。デフォルトのバックアップ方法を使用します。 |
--debug |
ファイルがどのようにコピーされるかを説明します。-v (verbose)オプションを暗黙的に含みます。 |
-f , --force |
上書き前に確認を求めません。強制的に上書きします。 |
-i , --interactive |
上書き前に確認を求めます。 |
-n , --no-clobber |
既存のファイルを上書きしません。 |
--no-copy |
名前変更が失敗した場合、コピーを行いません。 |
--strip-trailing-slashes |
各SOURCE 引数から末尾のスラッシュを削除します。 |
-S , --suffix=SUFFIX |
通常のバックアップサフィックスを上書きします。SUFFIX で指定した文字列がバックアップファイルの末尾に付加されます。 |
-t , --target-directory=DIRECTORY |
すべてのSOURCE 引数をDIRECTORY に移動します。 |
-T , --no-target-directory |
DEST を通常のファイルとして扱います。通常、DEST がディレクトリの場合、SOURCE はDEST 内に移動されますが、このオプションを指定すると、DEST がファイルとして扱われます。 |
--update[=UPDATE] |
どの既存ファイルを更新するかを制御します。UPDATE には、all (すべて更新)、none (更新しない)、older (デフォルト。移動元ファイルが移動先ファイルよりも新しい場合のみ更新)を指定できます。 |
-u |
--update[=older] と同等です。移動元ファイルが移動先ファイルよりも新しい場合のみ移動します。 |
-v , --verbose |
実行中の操作を説明します。詳細な情報を出力します。 |
-Z , --context |
宛先ファイルのSELinuxセキュリティコンテキストをデフォルトタイプに設定します。 |
--help |
ヘルプメッセージを表示して終了します。 |
--version |
バージョン情報を出力して終了します。 |
mvコマンドの使い方まとめ
今回はmv
コマンドについて解説しました。
記事の内容をまとめると、下記のようになります。
・`mv`コマンドでファイル名の変更もできた
コメント