Linuxシステムをかなり長い間使用している場合は、ファイルシステムを構造化しておくことがいかに重要かをすでにご存知でしょう。
場合によっては、後で名前を変更する必要があるランダムな名前で一時ディレクトリを作成する必要があります。
Linuxでディレクトリの名前を変更する 専用の名前変更コマンドではなく、複数の目的に役立つコマンドを使用して実行されます:「mv」コマンド 。
「mv」コマンドは、ファイルを移動できるだけでなく、ディレクトリの名前を変更するためにLinuxで使用されます。 。
このチュートリアルでは、Linuxでディレクトリの名前を変更する方法について学習します。 。
mvを使用してLinux上のディレクトリの名前を変更する
Linuxでディレクトリの名前を変更するには、「mv」コマンドを使用して、名前を変更するディレクトリとディレクトリの宛先を指定します。
$ mv <source_directory> <target_directory>
たとえば、ファイルシステム上の「temp」(ホームディレクトリにある)という名前の特定のディレクトリの名前を「directory」(これもホームディレクトリにある)に変更するとします。
このディレクトリの名前を変更するには 、「 mv」を使用します 」コマンドを実行し、2つのディレクトリ名を指定します。
$ mv /home/user/temp /home/user/directory
注 :mvコマンドを使用しても、ディレクトリ内に保存されているコンテンツは削除されません。Linuxでディレクトリの名前を変更しても、ファイルが失われることはありません。
ここで、ホームディレクトリに保存されているすべてのディレクトリを見ると、「ディレクトリ」フォルダの新しいエントリが表示されます。
$ ls -l /home/user
drwxr--r-x 2 user user 4096 Nov 9 16:41 Desktop/
drwxr-xr-x 2 user user 4096 Nov 9 16:41 Documents/
drwxr-xr-x 2 user user 4096 Nov 9 16:41 Downloads/
drwxr-xr-x 2 user user 4096 Nov 9 16:41 Music/
drwxrwxr-x 2 user user 4096 Dec 20 10:53 directory/
素晴らしい、Linuxでディレクトリの名前を変更したばかりです 。
findを使用してディレクトリの名前を変更する
場合によっては、ディレクトリがシステムのどこにあるかを直接知らないことがあります。
幸いなことに、Linuxシステムでディレクトリを見つけて見つけるのに役立つコマンドfindコマンドがあります。
Linuxでディレクトリを検索して名前を変更するには、「type」オプションを指定した「find」コマンドを使用してディレクトリを検索します。次に、「-execdir」オプションを指定して「mv」コマンドを実行することにより、ディレクトリを削除できます。
$ 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」コマンドを使用してディレクトリを反復処理します。
#!/bin/bash
# Takes directory entries specified and renames them using the pattern provided.
for directory in *
do
if [ -d "$directory" ]
then
mv "${directory}" "${directory}_temp" || echo 'Could not rename '"$directory"''
fi
done
このスクリプトを「change_name」として保存し、システム全体で使用する場合は、PATH環境変数に追加します。
このスクリプトでは、現在の作業フォルダ(スクリプトが配置されている場所)にあるすべてのファイルとディレクトリを一覧表示しています。
エントリがディレクトリであるかどうか、および「-d」オプションを使用してディレクトリが存在するかどうかをテストしています。
次に、ディレクトリが存在する場合は、名前が変更され、末尾に「_temp」拡張子が付きます。ディレクトリの名前を変更するには、この行を自由にカスタマイズしてください。
$ ls
folder1/ folder2/
$ change_name
$ ls
folder1_temp/ folder2_temp
おめでとうございます。LinuxでBashスクリプトを使用してディレクトリの名前を変更しました。
renameを使用してディレクトリの名前を変更する
「mv」コマンドを使用する代わりに、専用の組み込みコマンドを使用できますが、このコマンドはディストリビューションで直接使用できない場合があります。
Linuxでディレクトリの名前を変更するには、「名前の変更」を使用して、ファイルの名前を変更する方法とターゲットディレクトリを指定します。
$ rename <expression> <directory>
例として、大文字で書かれたすべてのディレクトリの名前を小文字のディレクトリ名に変更するとします。
これらのディレクトリの名前を変更するには、次のコマンドを実行します
$ rename 'y/A-Z/a-z/' *
$ ls -l
drwxrwxr-x 2 user user 4096 Dec 21 02:26 a_temp
drwxrwxr-x 2 user user 4096 Dec 21 02:26 b_temp
名前を変更するディレクトリのフィルタリング
場合によっては、renameコマンドを使用していくつかのディレクトリの名前を変更したいことがあります。
これを実現するには、基本的に2つのオプションがあります:
- 名前を変更するディレクトリをフィルタリングするには、ワイルドカードを使用します。
たとえば、特定の文字列で終わるディレクトリの名前を変更する場合は、次のコマンドを実行します。
$ rename 'y/_html/_temp/' *
renameコマンドで使用される構文はsedコマンドと同じです。この参照を使用して、この構文に関する詳細情報を入手できます。
- 使用 入力リダイレクト 名前を変更するディレクトリをフィルタリングするために
$ ls -d *_html | rename 'y/*_html/*_temp/'
これら2つのオプションのいずれかを使用すると、フォルダの名前が「_temp」拡張子に変更されます。
$ ls -l
drwxrwxr-x 2 user user 4096 Dec 21 02:42 a_temp
drwxrwxr-x 2 user user 4096 Dec 21 02:42 b_temp
すばらしい、名前の変更コマンドを使用してディレクトリの名前を変更できました!
結論
このチュートリアルでは、 Linuxでディレクトリの名前を変更するすべての方法を学びました。最も一般的な方法は、「mv」コマンドです。
また、「find」コマンドを使用してディレクトリの名前を変更することが可能であることも学びました。 ディレクトリを見つけるため、または名前変更コマンドを使用するため(デフォルトではシステムで直接使用できない場合があります)。
Linuxシステム管理に興味がある場合は、Webサイトに専用のセクションがありますので、ぜひチェックしてください!