Linuxでファイル名を簡単に変更する方法【mv・renameコマンドからGUIツールまで】
ファイルの名前変更は、それほど高度な操作ではありません。少数のファイルであれば、特別なツールは通常必要ありません。しかし、去年のバケーションの写真がフォルダ一杯にあり、そのすべての名前を変更しなければならないとなると、時間を節約できるテクニックやアプリの活用を検討するのが賢明でしょう。
Linuxでファイル名を変更する方法は、大きく分けて2つあります。コマンドラインインターフェース(CLI)を使う方法と、スタンドアロンアプリケーションを使う方法です。LinuxユーザーならCLIがどれほど強力かをよく知っているはずなので、ファイル名変更のためのコマンドが複数用意されていることにも驚きはないでしょう。
「mv」コマンドでファイル名を変更する
Linuxでファイル名を変更する最もシンプルな方法は、mvコマンド(「move」の略)を使うことです。このコマンドの主な目的はファイルやフォルダの移動ですが、名前の変更にも使えます。これは、ファイル名の変更がファイルシステム上では「ある名前から別の名前への移動」として処理されるためです。
mvでファイル名を変更する際の基本構文は以下の通りです。
mv (オプション) filename1.ext filename2.ext
「filename1.ext」が元のファイル名、「filename2.ext」が新しいファイル名です。
同じ書き方でフォルダの名前も変更できます。対象のファイルが現在作業中のフォルダにない場合は、フルパスを指定する必要があります。
mv /home/user/Files/filename1.ext /home/user/Files/filename2.ext
mvコマンドを使うには、対象ファイルが格納されているフォルダへの書き込み権限が必要な点に注意してください。システムファイルやシステムフォルダを扱う場合は、sudoをmvの前に付けてroot権限を取得する必要があります。さらに、-i(インタラクティブ)オプションを付けると、名前変更が実際に適用される前に確認を求められるため、誤操作への保険になります。
また、-v(verbose)オプションを指定すると、mvが実行したすべての変更内容が一覧表示されます。オプションはmvの直後、ファイル名よりも前に記述します。
「rename」コマンドを使う
このコマンドは、正規表現の知識(少なくとも基本的な理解)が必要な分、mvより少し高度です。難しそうに聞こえるかもしれませんが、renameを諦める必要はありません。この記事のようなチュートリアルに沿って進めるだけで、単純な一括リネームにも活用できます。
多くのLinuxディストリビューションでは、renameコマンドはデフォルトでインストールされていない場合があります。お使いの環境で使えないときは、まずインストールしましょう。
Debian系のLinuxでは、ターミナルで次のコマンドを実行します。
sudo apt install rename
Arch系のLinuxの場合はこちらです。
sudo pacman -S rename
renameの構文は次のようになります。
rename (オプション) 's/oldname/newname/' file1.ext file24.ext
先頭の「s」は「substitute(置換)」を意味し、正規表現の中核となる部分です。前後のシングルクォートは必須です。主なオプションは以下の通りです。
-v(verbose: 名前変更されたファイルと新しい名前の一覧を表示)-n(no action: テストモード。ファイルを実際には変更せず、変更対象となるファイルだけを表示)-f(force: 元のファイルを強制的に上書き)
renameコマンドはワイルドカードにも対応しているため、同じ種類の複数ファイルをまとめて処理でき、拡張子の変更にも使えます。たとえば、次のコマンドは拡張子が.jpegのすべてのファイルを.jpgに変更します。
rename 's/.jpeg/.jpg/' *
ワイルドカード記号(*)は、フォルダ内のすべてのファイルが対象になることを意味します。
正規表現には独自の修飾子もあります。「g」(global: マッチするすべての箇所に適用)と「i」(大文字小文字を区別せずに置換)です。これらは式の末尾、閉じシングルクォートの直前に記述し、組み合わせることも可能です。
rename -n 's/DSC/photo/gi' *.jpg
この例では、「DSC」「dSC」「dsc」などを含むすべての.jpgファイルの該当部分が「photo」に置き換えられます。ただし「-n」オプションが付いているため、実際にファイル名は変更されず、コンソールに結果が表示されるだけです。
置換以外にも、「y」で示される変換(transliterate)という機能があり、より複雑な形でファイル名を変換できます。特によく使われるのは、ファイル名の大文字・小文字の一括変換です。
rename 'y/a-z/A-Z/' *.jpg
このコマンドを実行すると、すべての.jpgファイルの名前が小文字から大文字に変わります。逆に大文字から小文字へ変換したい場合は、正規表現の「oldname」と「newname」の部分を入れ替えるだけです。
renameコマンドの使い方は、結局のところいくつかの基本パターンを組み合わせて目的の結果を得ることに集約されます。-nオプションによる安全なプレビュー機能のおかげで、実際に変更を加える前に結果を確認できるため、大切なファイルを危険にさらす心配はありません。
Métamorphose2
Métamorphoseはクロスプラットフォーム対応のファイル・フォルダ一括リネームツールです。GUIでリネーム操作を行いたいユーザーにとって、非常に強力な選択肢となります。WindowsとLinuxの両方で利用可能です。
導入は簡単です。公式サイトにアクセスし、お使いのディストリビューション向けのインストーラーをダウンロードしてください。Debian系ディストリビューション向けにはdebファイルが、Fedora・Mandriva・SUSE向けにはRPMパッケージが提供されています。
アプリを起動すると、最初に「Picker」タブが表示されます。ここで、一括リネームしたいファイルが含まれるディレクトリを選択します。選択したディレクトリ内の子フォルダを再帰的に処理することはできますが、1回の操作で扱えるのは1つのディレクトリのみという点に注意してください。
ディレクトリを選択したら、「Renamer」タブに切り替えてリネームルールを設定します。左ペインで実行したいアクションを選べます。たとえば「insert」は名前に文字列を挿入し、「length」はファイル名を指定した文字数に切り詰めます。ほかにも「move text」「replace」「modify」などのオプションがあり、柔軟なリネームが可能です。
設定が完了したら、下部ペイン上部の「Go」ボタンをクリックしてリネームを実行します。万が一、実行後に問題が見つかった場合でも、Undo機能ですべての変更を元に戻せるので安心です。
pyRenamer – コマンド不要の手軽な解決策
最後にご紹介するのは、コンソール操作が苦手なユーザー待望のソリューションです。マウスのクリックだけですべての操作が完結するデスクトップアプリケーション「pyRenamer」です。Pythonで開発された強力なリネームツールで、Ubuntuおよびその派生ディストリビューションでは、次のコマンドでリポジトリからインストールできます。
sudo apt install pyrenamer
インターフェースは大きく4つの部分で構成されています。
- ファイルやフォルダを選択するツリービュー型ファイルブラウザ
- リネーム前後のファイル名を並べて表示する中央のプレビューペイン
- リネーム条件を選択するタブ式コントロールエリア
- 各種設定を行うオプションサイドバー
pyRenamerは、ファイル名からアクセント記号や重複する記号を除去したり、任意の文字列を別の文字列に置換したり、名前を大文字・小文字・文頭のみ大文字に変換したり、スペースやアンダースコアを自動挿入・削除したりできます。初心者に嬉しいのは、これらの操作をすべてタブエリアで選択し、メインエリアでプレビューを確認してから「Rename」ボタンで確定できる点です。パターンを試してみたい方向けに、チートシートも用意されています。
上級ユーザーには、メタデータを読み込んで音楽や画像などのマルチメディアファイルをリネームできる機能が特に便利です。また、一括処理が不要なケースでは、単一ファイルを個別にリネームすることも可能です。
要するに、pyRenamerはmvコマンドやrenameコマンドの機能を、直感的で使いやすいGUIに凝縮したツールだと言えます。CLI操作に自信がない方にとって、心強い選択肢となるでしょう。
Linuxでのファイル名変更方法をマスターしたら、次はファイル権限を再帰的に変更する方法を学ぶのもおすすめです。動作が遅くなったLinux PCの診断方法や、Hostsファイルを活用したウェブサイトのブロック・アクセス制御についても、ぜひチェックしてみてください。
-
Linuxでディレクトリ名を変更する方法:mvとrenameコマンドの使い方
このチュートリアルでは、Linuxでディレクトリ名を変更する方法として、「mv」コマンドと「rename」コマンドの2つの使い方を解説します。 ディレクトリ名の変更は、ファイル名の変更とほとんど変わりません。Linuxには「すべてはファイルである」という設計思想があり、ディレクトリも例外なくファイルとして扱われます。そのため、ファイルのリネームで使うテクニックの多くが、そのままディレクトリにも応用できます。 mvコマンドでディレクトリ名を変更する mv RenameDir/ renameDir mvコマンドによるディレクトリ名の変更 方法はこれだけです。シンプルにmvするだけで完了します。ただ
-
Linuxでファイル名を変更する2つの簡単な方法:mvとrenameコマンドの使い分け
この記事では、Linux環境でファイルや複数ファイルの名前を変更するための、2つの異なる方法を解説します。 mvコマンドとrenameコマンドの使い方、そしてそれぞれのコマンドを使い分ける理由について詳しく見ていきましょう。 mvコマンドでのファイル名変更 – もはや推奨されない方法 まずは具体例から始めます。Webディレクトリ内のファイル拡張子が何らかの理由で壊れてしまった状況を想定しましょう。ここではブログのファイルを使用します。 ping www.linuxscrew.com #まず接続確認 wget -m www.linuxscrew.com #サイトをミラーリング これでウェブサイト