【Linux】mvコマンド/renameコマンドでファイル名を変更する方法

Linuxにおいてファイル名を変更するには、mvコマンドやrenameコマンドを使用します。なお、mvコマンドはファイルの移動にも利用できます。

ファイル名を変更する方法(mvコマンド)

mvコマンドを使用してファイル名を変更できます。

$ mv 古いファイル名 新しいファイル名

のように使います。

$ ls file1 $ mv file1 file2 $ ls file2

lsコマンドを使用して、カレントディレクトリのfile1というファイルがfile2というファイル名に変更されたことを確認できました。

複数のファイルの名前を変更する方法(renameコマンド)

renameコマンドを使用して複数ファイルの名前を変更することもできます。

$ rename 置換前の文字列 置換後の文字列 ファイル名1 ファイル名2 ...

のように使います。

$ ls test1 test2 test3 $ rename test file test1 test2 test3 $ ls file1 file2 file3

test1、test2、test3のファイル名がfile1、file2、file2と変更されていることが確認できました。

フィアルの指定はワイルドカードを用いることもできます。

$ ls test1 test2 test3 $ rename test file * $ ls file1 file2 file3

カレントディレクトリ内のすべてのファイルの名前が変更されていることが確認できました。

複数のファイルの名前を変更する方法(for文)

renameコマンドは環境によっては利用できない場合があります。その場合には、for文を使用して複数のファイル名を変更することができます。

$ ls file1 file2 file3 $ for f in * > do > mv $f ${f/file/test} > done $ ls test1 test2 test3

カレントディレクトリ内のすべてのファイルの名前が変更されていることが確認できました。

ファイル名が変更できない

以下のようにファイル名の変更ができない場合があります。

$ mv file1 file2 mv: cannot move 'file1' to 'file2': Permission denied

対象のファイルを変更する権限を持っていないためです。

以下で解決できます。

$ sudo mv 古いファイル名 新しいファイル名