はじめに
ディレクトリの名前の変更は、オペレーティングシステムで実行する最も基本的なタスクの1つです。 Linuxターミナルには、コマンドとスクリプトを使用してディレクトリの名前を変更するいくつかの異なる方法があります。
このチュートリアルでは、ターミナルウィンドウからLinuxのディレクトリの名前を変更するために使用できるさまざまな方法について説明します。
前提条件
- Linuxディストリビューションを実行しているシステム
- sudo権限を持つアカウント
- ターミナルウィンドウ/コマンドラインへのアクセス
- VimやNanoなどのテキストエディタへのアクセス
mvコマンドを使用したディレクトリの名前変更
mv
の主な機能 Linuxのコマンドは、ファイルとディレクトリをある場所から別の場所に移動しています。次のコマンド構文を使用します:
mv [options] [source] [destination]
宛先ディレクトリが存在しない場合は、 mv
コマンドは、代わりにソースディレクトリの名前を変更します。この場合、構文は次のように変更されます。
mv [options] [current directory name] [new directory name]
例として、 Directory1があるとします。 、 Directory2 、および Directory3 ホーム ディレクトリ:
Directory1の名前を変更するには Example_Directoryに mv
を使用 コマンド、使用:
mv Directory1 Example_Directory
コマンドが成功した場合は出力がないため、 ls
を使用する必要があります 名前の変更を確認するコマンド:
ls -l
renameコマンドを使用したディレクトリの名前変更
rename
Linuxのコマンドは、ファイルとディレクトリの名前を変更するために使用される専用コマンドです。このコマンドを使用すると、複数のディレクトリの名前を同時に変更するのが簡単になります。
renameコマンドを使用して単一のディレクトリの名前を変更する
rename
コマンドは次の構文を使用します:
rename [options] 's/[expression]/[replacement]/' [file name]
このコマンドは、最初に出現する式を置き換えることにより、ファイルの名前を変更します。 交換 。たとえば、 Directory1の名前を変更する場合 Example_Directoryへ :
rename 's/Directory1/Example_Directory/' *
この例では、rename
がわかります。 コマンド構文はいくつかのセクションで構成されています:
rename
:rename
を呼び出します コマンド。-
s
:代替の略 、式を置換に置き換えていることを示します。 - /
Directory1
:式を指定します または、置き換える古いディレクトリ名の部分。 -
/Example_Directory
/ :置換を定義します または新しいディレクトリ名。 -
*
:ホームを検索します 提供された式に一致する名前のディレクトリ。
ホームの確認 ls
を含むディレクトリコンテンツ コマンドは、ディレクトリに新しい名前が付けられたことを示します:
renameコマンドを使用した複数のディレクトリの名前変更
rename
コマンドは、bashスクリプトを使用せずに同時に複数のディレクトリの名前を変更する方法を提供します。たとえば、 Directory1の名前を変更する場合 、 Directory2 、および Directory3 Folder1 、 Folder2 、および Folder3 :
rename -v 's/Directory/Folder/' *
上記の例では:
-
-v
:詳細な出力を呼び出し、プロセスの各ステップを一覧表示します。 -
's/Directory/Folder/'
:ディレクトリを置き換えます フォルダを使用して検索結果の名前に 。 -
*
:ホームを検索します 提供された式に一致する名前のディレクトリ。
rename
コマンドは、 yを使用してファイル名を変換することもできます sの代わりに引数 口論。この場合、1つの文字列を別の文字ごとに変換します。
例:
rename 'y/abc/def/'
上記のコマンドは、すべての aを変換します dへの文字 、すべての b eに 、およびすべての c fに 。
以下の例では、ディレクトリ名の空白をアンダースコア( _ )に変換しました。 )。
rename -v 'y/ /_/' *
findコマンドを使用してディレクトリの名前を変更する
名前を変更するディレクトリがどこにあるかわからない場合は、 mv
でfindコマンドを使用します。 コマンドを使用すると、検索して、見つかったときに名前を変更できます。
find . -depth -type d -name [current directory name] -execdir mv {} [new directory name] \;
上記の例では、 -execdir
mv
を実行します find
を1回コマンド コマンドはディレクトリを検索します。
たとえば、次のコマンドは Directory1を見つけて名前を変更します Example_Directoryに :
find . -depth -type d -name Directory1 -execdir mv {} Example_Directory \;
Bashスクリプトを使用したディレクトリの名前変更
bashスクリプトを使用することは、同時に複数のディレクトリの名前を変更するもう1つの方法です。 rename
とは異なります コマンド、bashスクリプトを使用すると、将来使用するためにテンプレートを保存できます。
Nano:
などのテキストエディタを使用してスクリプトを作成することから始めます。sudo nano rename_directories.sh
次の例は、ディレクトリを検索し、現在の日付を名前に追加するbashスクリプトです。
#!/bin/bash
#Searches for directories and renames them according to the specified pattern
for d in *
do
if [ -d "$d" ]
then
mv -- "$d" "{d}_$(date +%Y%m%d)"
fi
done
上記の例では:
- 最初の行は、現在の場所にあるすべてのファイルとディレクトリを調べるようにスクリプトに指示します。
- 2行目と3行目でディレクトリを確認します。
- 4行目と5行目は、見つかったディレクトリの名前に現在の日付を追加します。
Ctrl + Xを押します 、「 Y」と入力します 、 Enterを押します スクリプトを閉じて保存します。
例として、上記のスクリプトを使用して、 Directory1の名前を変更してみましょう。 、 Directory2 、および Directory3 、例にあります ディレクトリ。
例に移動することから始めます ディレクトリ:
cd Example
次に、 sh
を使用してスクリプトを実行します コマンド:
sh rename_directory.sh
ls
を使用する コマンドを使用すると、名前の変更を確認できます:
ls -l