Linuxシステムをかなり長く使用している場合、ファイルシステムを構造化することがいかに重要であるかはすでに知っています。
場合によっては、後で名前を変更する必要があるランダムな名前を持つ一時ディレクトリを作成する必要がある場合があります。
Linux上のディレクトリ名の変更は、専用の名前変更コマンドではなく、複数の目的を果たすコマンド”mv”コマンドで行われます。,
Linuxでは、ファイルを移動するだけでなく、ディレクトリの名前を変更するために”mv”コマンドが使用されます。
このチュートリアルでは、Linux上でディレクトリの名前を変更する方法を学びます。
目次
mvを使用してLinuxでディレクトリの名前を変更する
Linuxでディレクトリの名前を変更するには、”mv”コマンドを使用して、名前を変更するディレクトリとディレクトリの宛先を指定します。,
$ mv <source_directory> <target_directory>
たとえば、ファイルシステム上の特定のディレクトリの名前を”temp”(ホームディレクトリにある)に”directory”(ホームディレクトリにある)に変更したいとします。
このディレクトリの名前を変更するには、”mv”コマンドを使用し、二つのディレクトリ名を指定します。
$ mv /home/user/temp /home/user/directory
注:mvコマンドを使用しても、ディレクトリ内に格納されているコンテンツは削除されません。,
ホームディレクトリに保存されているすべてのディレクトリを見ると、”directory”フォルダの新しいエントリが表示されます。
素晴らしい、あなただけのLinux上のディレクトリの名前を変更しました。
findを使用してディレクトリの名前を変更します
場合によっては、システム上のディレクトリの場所が直接わからない場合があります。
幸いなことに、Linuxシステム上のディレクトリを見つけて見つけるのに役立つコマンドがあります:findコマンド。,
Linux上でディレクトリを検索して名前を変更するには、ディレクトリを検索するために”type”オプションを付けて”find”コマンドを使用します。 その後、”mv”コマンドを”-execdir”オプション付きで実行することで、ディレクトリを削除できます。
$ find . -depth -type d -name <source_directory> -execdir mv {} <target_directory> \;
この例では、ファイルシステム上の”temp”で始まるディレクトリの名前を”directory”に変更するふりをしましょう。
コマンドの最初の部分は、あなたのディレクトリがある場所を見つけます。,
$ find . -depth -type d -name "temp"./temp
ディレクトリがどこにあるかがわかったので、”execdir”オプションと”mv”コマンドを使用して名前を変更できます。
$ find . -depth -type d -name temp -execdir mv {} directory \;
Bashを使用して複数のディレクトリの名前を変更します
前のチュートリアルで説明したように、Bashスクリプト言語を使用して、ファイルシステム上の複数のディレクトリの名前を変更することもできます。
Linuxで複数のディレクトリの名前を変更するには、新しいスクリプトファイルを作成し、”for”ループで”mv”コマンドを使用してディレクトリを反復処理します。,
このスクリプトを”change_name”として保存し、システム全体で使用する場合はPATH環境変数に追加します。
このスクリプトでは、現在の作業フォルダ(スクリプトがある場所)にあるすべてのファイルとディレクトリを一覧表示します。
エントリがディレクトリであり、ディレクトリが”-d”オプションを使用して存在するかどうかをテストしています。
次に、ディレクトリが存在する場合、最後に”_temp”拡張子を持つように名前が変更されます。 しかし、あなたはそれらの名前を変更したいディレクトリの名前を変更するために、この行をカスタマイ,
$ lsfolder1/ folder2/$ change_name$ ls folder1_temp/ folder2_temp
おめでとう、LinuxでBashスクリプトを使用してディレクトリの名前を変更しました。
renameを使用してディレクトリの名前を変更します
“mv”コマンドを使用する代わりに、専用の組み込みコマンドを使用できますが、このコマンド
Linuxでディレクトリの名前を変更するには、ターゲットディレクトリと同様にファイルの名前を変更する方法とともに”rename”を使用します。,
$ rename <expression> <directory>
例として、大文字で書かれたすべてのディレクトリの名前を小文字のディレクトリ名に変更したいとしましょう。
これらのディレクトリの名前を変更するには、次のコマンドを実行します
$ rename 'y/A-Z/a-z/' *$ ls -l drwxrwxr-x 2 user user 4096 Dec 21 02:26 a_tempdrwxrwxr-x 2 user user 4096 Dec 21 02:26 b_temp
名前を変更するディレクトリをフィルタリングします
場合によっては、renameコマンドを使用していくつかのディレクトリの名前を変更することができます。
これを実現するためには、本質的に二つのオプションがあります。
- 名前を変更するディレクトリをフィルタリングするためにワイルドカード,
たとえば、指定された文字列で終わるディレクトリの名前を変更する場合は、次のコマンドを実行します。
$ rename 'y/_html/_temp/' *
renameコマンドで使用される構文は、sedコマンドと同じです。
- 名前を変更するディレクトリをフィルタリングするために入力リダイレクトを使用します
$ ls -d *_html | rename 'y/*_html/*_temp/'
これら二つのオプションのいずれかを使用すると、フォルダの名前が”_temp”拡張子に変更されます。,
$ ls -ldrwxrwxr-x 2 user user 4096 Dec 21 02:42 a_tempdrwxrwxr-x 2 user user 4096 Dec 21 02:42 b_temp
素晴らしい、あなたは正常にrenameコマンドを使用してディレクトリの名前を変更しました!
結論
このチュートリアルでは、Linux上でディレクトリの名前を変更するすべての方法を学びました。
また、ディレクトリを見つけるために”find”コマンドを使用するか、renameコマンドを使用してディレクトリの名前を変更することができることを学びました(デフォルトではシステムで直接利用できないかもしれません)。,
Linuxシステム管理に興味がある場合は、ウェブサイト上でそれに専用の完全なセクションを持っているので、それをチェックアウトしてください!
コメントを残す