[novashare_inline_content]
ファイル名の変更は、Linux で習得すべき基本的なコマンド ライン タスクの 1 つです。ただし、このタスクは 1 つのファイルで実行するのは比較的簡単ですが、ファイルが複数ある場合はより複雑になります。このチュートリアルでは、Linux 上でコマンドを使用してファイルまたはディレクトリの名前を変更する方法を説明します。mv
などrename
。
注文とともにmv
注文mv
英語のmoveの略です。ファイルまたはディレクトリをある場所から別の場所に移動できます。このコマンドを使用すると、ファイルの名前を変更し、新しい名前で移動することもできます。に統合されていますコアユーティリティしたがって、デフォルトでインストールされます。
Linux 上のファイルまたはディレクトリの名前を変更するには、mv
コマンド構文mv
ファイルの名前を変更するには次のようにします。
mv [OPTIONS] source destination
たとえば、ファイルの名前を変更するにはancien_nom.txt
に向かってnouveau_nom.txt
、次のコマンドを使用する必要があります。
mv ancien_nom.txt nouveau_nom.txt
⚠️ 注意 :注文mv
オプションの場合、宛先ファイルを上書きできます-私は指定されていません。
コマンドを使用するls -l
結果を表示するには:
ls -l

もちろん、ファイルの名前を変更するときに、ファイルを別の場所に移動したい場合は、ファイルの保存先を変更することもできます。例えば :
mv /ancien/emplacement/ancien_nom.txt /nouvel/emplacement/nouveau_nom.txt
使用できますmv
ファイルの場合と同じ方法でディレクトリの名前を変更するには、次のようにします。
mv /emplacement/ancien_nom_répertoire /emplacement/nouveau_nom_répertoire
複数のファイルの名前を変更するmv
注文mv
一度に 1 つのファイルの名前のみ変更できます。ただし、複数のファイルの名前を一度に変更したい場合もあります。ここが難しいところです。実際、このタスクを実行するにはmv
、ループと組み合わせて使用する必要がありますfor
または検索find
複数のファイルの名前を同時に変更します。
たとえば、ループを使用します。for
複数のファイルの拡張子を変更するには.html
で.old
:
for f in *.html; do
mv -- "$f" "${f%.html}.old"
done
コードを 1 行ずつ分析してみましょう。
- 最初の行はループを作成します
for
拡張子で終わるすべてのファイルを繰り返します.html
。 - 2 行目は各反復に適用され、拡張子を変更して各ファイルの名前を変更します。
.html
もっている.old
。 done
ループの終わりを示します
この 2 番目の例は、次を使用した同じ例を示しています。find
と組み合わせてmv
:
find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.old"' \;
注文find
で終わるすべてのファイルを検索します.html
現在のディレクトリにあります。その後、-exec
コマンドを実行するmv
検索に一致するすべてのファイルに対して。
ご覧のとおり、使用方法はmv
複数のファイルの名前を変更するのは簡単ではなく、優れた bash スキルが必要です。
一緒に使用する一般的なオプションmv
コマンドで使用するオプションをいくつか示します。mv
:
- -私: ファイルを上書きする前に警告メッセージを表示します。
- -f: 上書きする前に確認を求めません。これは、のデフォルトの動作に少し似ています。
mv
。 - -v: コマンドが実行した内容を表示します
⚠️ 注意 :オプションを使用する場合-fなど-私同時に、最後に指定したオプションが優先されます。
さらに詳しく知るにはmv
と入力してください。man mv
端末内またはcoreutils マニュアルを参照してください。
注文rename
Linux で複数のファイルの名前を変更するには
rename
の代替品ですmv
Perl 式に基づいて複数のファイルの名前を変更します。構文をマスターすると、この種の操作での使用がより強力になり、簡単になります。
まず、パッケージをインストールしますrename
。南デビアン:
sudo apt install rename
その後、使用できますrename
。以下にいくつかの例を示します。まずすべてのファイルの名前を変更します.pdfで。TXTディレクトリにあります:
rename -v 's/.pdf/.txt/' *.pdf

ファイルの名前を変更せずにコマンドの結果をテストするには、オプションを使用します-n:
rename -n 's/.txt/.pdf/' *.txt

ファイル名の一部を置き換えます。たとえば、すべての .txt の「file」ごとに次のようにします。
rename -v 's/fichier/file/' *.txt
ディレクトリ内のファイル名を大文字に変換します。
rename -v 'y/a-z/A-Z/' *
ディレクトリ内のファイル名を小文字に変換します。
rename -v 'y/A-Z/a-z/' *

この記事をシェアする
[novashare_inline_content]
また、記事のアイデアを提出する検索結果が異なる場合。