昨年の3月、私の同僚であるPulkit Chandakが、Linuxコマンドラインを介してファイルを削除、コピー、移動、および名前変更するための最良の方法を提供する優れた記事を執筆しました。この記事の目的は、Linuxでファイルの名前を変更する方法を深く掘り下げることです。
始める前に、多くのCLIコマンドがファイルの名前変更をバッチで行うのに役立つことを理解してください。それらをほのめかします。しかし、この記事はそうではありません。ここでは、Linuxがネイティブに提供するコマンドを使用してファイルの名前を変更する方法を学習します。
mv コマンド–ファイルの名前を変更するための最良の方法
ファイルの名前を変更する最も古くて最も実証済みの方法は、 mvを使用する方法です。 指図。 Unix管理者として、若い男の服を着ていた頃のことをよく覚えています。
たとえば、ディレクトリに tevin.txtという名前のファイルがあります。 。ただし、 michael.txtに変更する必要があります 。 mvでこれを達成するには コマンドは簡単です。
# mv tevin.txt michael.txt

mvだけでなく コマンドrenametevin.txt michael.txtを作成します 、ただし tevin.txt もなくなっています。
名前の変更 コマンド–バッチの名前変更に最適な方法
名前の変更 ユーティリティは、ファイルの名前を変更するためのもう1つのオプションですが、ファイルの名前を一括で変更するためのものです。通常のLinuxコマンドとは異なります。代わりに、Cで記述されたほとんどのLinuxコマンドとは異なり、名前の変更 コマンドはPerlで記述されており、ほとんどのLinuxディストリビューションの/ usr /bin/にあるスクリプトの一部です。インストールは簡単です。
# sudo apt install rename

コマンドの構文は次のとおりです。
# rename 's/old-name/new-name/' files
ご覧のとおり、‘‘で囲まれた必須のPerl式が必要です。 (「s / old-name/new-name」を参照 上記の構文例では。ただし、オプションの引数も付属しています。これらは次のとおりです。
- -v –詳細:ファイルの名前を正常に変更して印刷します
- -n –アクションなし:名前を変更するファイルの名前を出力しますが、名前を変更しないでください
- -f –上書き:既存のファイルを上書きできるようにします
- -h –ヘルプ:概要とオプションを印刷する
- -m –手動:マニュアルページを印刷する
- -V –バージョン:バージョン番号を表示
- -e –式:ファイル名に基づいて動作するコード
- -Eステートメント :-eとしてファイル名に作用するが、「;」で終了するコード
# rename [-v] [-n] [-f] perlexpr [files]
基本的な構文を使用して、〜/ personalのファイルの名前を変更しましょう すべての.txtの名前を変更するディレクトリ .docへのファイル ファイル。
# rename 's/\.txt$/.doc/' *

ご覧のとおり、この例は成功しました。次に、すべてのファイルの名前を .txtに戻します。 -vを使用 (詳細)オプション。
# rename -v 's/\.doc$/.txt/' *

すべてのファイルの名前を.txtに戻すことに成功しただけではありません。 拡張機能ですが、-vオプションも、加えられた変更を正確に通知します。
もう1つ試してみましょう。この例では、すべてのファイル名の最初の文字を大文字にします。また、-vオプションをもう一度使用して、何が起こっているかを確認します。
# rename -v 's/./\U$&/' *

かなり滑らかですよね?
ただし、必要なオプションとPerl構文が混乱する場合があります。コマンドの習得には時間がかかります。 -nを使用することを強くお勧めします 名前の変更を「テスト」するオプション(アクションなし) コミットする前にコマンドを実行します。
ファイルの名前を変更するためのその他のコマンド
mmv など、ファイルの名前を一括で変更するために使用できるコマンドは他にもたくさんあります。 、 renameutils 、 qmv 、 qcp 、 imv 、 icp 、および vimv 。ただし、 mv コマンドは、バッチの名前変更を除いて、コマンドラインでファイルの名前を変更するための「goto」コマンドであり、今後も継続されます。バッチで名前を変更する場合は、名前の変更を使用します 。
ファイルの名前を変更するためのGUIオプション
適切な権限があれば、Thunar、Dolphin、Nautilusなどのファイルマネージャーを使用して、GUIからいつでもファイルの名前を変更できます。さらに、Métamorphose2、KRename、pyRenamerなどのユーティリティがあり、GUIでファイルのバッチ名前を変更するためだけに存在します。私のお気に入りの1つであるpyRenamerをインストールして、テストしてみましょう。
pyRenamerのインストールは簡単です。
# sudo apt install pyrenamer

インストール後、ターミナルからpyRenamerを起動します。
# pyrenamer

パターンのように、ファイルの名前を一括で変更するための多くのタブとオプションがあることがわかります。 、置換 、など。最後の例では、前の例で大文字にしたファイルの名前を再び小文字に変更します。
正しいディレクトリ( / home / mtravisrose / personal )に移動します )。右上のウィンドウにある3つのファイルに注意してください。 置換を選択します タブ。 一般的な置換の下 、キャピタライゼーションを確認してください ボックス、およびすべての小文字 。 プレビューをクリックします 期待されるオプションが右上のウィンドウに表示されることを確認します。

右上のウィンドウで名前が変更されたファイル名が希望どおりであることを確認したら、[名前の変更]をクリックします。 コミットします。

残念ながら、ツールのドキュメントは不足しており、ヘルプ 概要のみを提供します オプション。このプログラムをGUIバッチファイルの名前変更ユーティリティとして使用する場合は、試行錯誤の余地があります。おそらくそれが、プレビューをクリックする必要がある理由です 変更をコミットする前にボタンを押しますか?
結論
ファイルの名前を変更する方法はたくさんありますが、そのほとんどは、記事で説明したGUIを使用して簡単に実行できますが、コマンドラインと mvを使用することを強くお勧めします。 単一のファイルの名前を変更するためのコマンド。バッチ名前を変更する場合は、名前を変更 コマンドはあなたがたどりたいルートです。ターミナルで過ごす時間が長ければ長いほど、Linuxユーザーに精通することになります。