GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでディレクトリの名前を変更する方法

ディレクトリの名前変更は、Linuxシステムで実行する必要のある最も基本的な操作の1つです。数回クリックするか、コマンドラインターミナルを使用して、GUIファイルマネージャからディレクトリの名前を変更できます。

この記事では、コマンドラインを使用してディレクトリの名前を変更する方法について説明します。

ディレクトリの名前を変更する#

LinuxおよびUnixライクなオペレーティングシステムでは、mvを使用できます。 (moveの略)コマンドを使用して、ファイルとディレクトリの名前を変更したり、ある場所から別の場所に移動したりします。

mvの構文 ディレクトリを移動するためのコマンドは次のとおりです。

mv [OPTIONS] source destination

たとえば、ディレクトリの名前をdir1に変更するには dir2として 実行します:

mv dir1 dir2

ディレクトリの名前を変更するときは、mvに正確に2つの引数を指定する必要があります 指図。最初の引数はディレクトリの現在の名前で、2番目の引数は新しい名前です。

dir2の場合は注意することが重要です すでに存在します、dir1 dir2に移動します ディレクトリ。

現在の作業ディレクトリにないディレクトリの名前を変更するには、絶対パスまたは相対パスのいずれかを指定する必要があります。

mv /home/user/dir1 /home/user/dir2

複数のディレクトリの名前を変更する#

単一のディレクトリの名前を変更するのは簡単な作業ですが、複数のディレクトリの名前を一度に変更することは、特に新しいLinuxユーザーにとっては難しい場合があります。

複数のディレクトリの名前を一度に変更する必要はほとんどありません。

mvを使用して複数のディレクトリの名前を変更する #

mv コマンドは、一度に1つのファイルのみ名前を変更できます。ただし、findなどの他のコマンドと組み合わせて使用​​することもできます。 またはループ内で複数のファイルの名前を一度に変更します。

これは、Bashのforの使用方法を示す例です。 現在の作業ディレクトリ内のすべてのディレクトリの名前に現在の日付を追加するループ:

for d in *; do 
  if [ -d "$d" ]; then
    mv -- "$d" "${d}_$(date +%Y%m%d)"
  fi
done

コードを1行ずつ分析してみましょう:

  • 最初の行はループを作成し、すべてのファイルのリストを繰り返します。
  • 2行目は、ファイルがディレクトリかどうかを確認します。
  • 3行目は、現在の日付を各ディレクトリに追加します。

これは、mvを使用した同じタスクの解決策です。 findと組み合わせて :

find . -mindepth 1 -prune -type d -exec sh -c 'd="{}"; mv -- "$d" "${d}_$(date +%Y%m%d)"' \;

find コマンドはすべてのディレクトリをmvに渡します -execを使用して1つずつ オプション。文字列{} 現在処理中のディレクトリの名前です。

例からわかるように、mvを使用して複数のディレクトリの名前を変更します Bashスクリプトに関する十分な知識が必要なため、簡単な作業ではありません。

renameを使用して複数のディレクトリの名前を変更する #

rename コマンドは、複数のファイルとディレクトリの名前を変更するために使用されます。このコマンドは、mvよりも高度です。 正規表現の基本的な知識が必要です。

renameには2つのバージョンがあります 異なる構文のコマンド。 Perlバージョンのrenameを使用します 指図。指定されたperl正規表現に従ってファイルの名前が変更されます。

次の例は、現在の作業ディレクトリ内のすべてのディレクトリの名前のスペースをアンダースコアに置き換える方法を示しています。

find . -mindepth 1 -prune -type d | rename 'y/ /_/'

安全のために、-nを渡してください renameするオプション 名前を変更せずに名前を変更するディレクトリの名前を出力します。

ディレクトリ名を小文字に変換する方法を示す別の例を次に示します。

find . -mindepth 1 -prune -type d | rename 'y/A-Z/a-z/'

結論#

mvの使用方法を説明しました ディレクトリの名前を変更するコマンド。

ご質問やご意見がございましたら、お気軽にコメントをお寄せください。


Linux
  1. Linuxでファイルの名前を変更する方法

  2. Linuxでファイルの名前を変更するにはどうすればよいですか?

  3. Linuxでディレクトリをループする方法は?

  1. Linuxでディレクトリの名前を変更する方法

  2. Linux でマウント ポイントを変更または名前変更する方法

  3. LinuxでCでディレクトリを再帰的にリストする方法は?

  1. Linuxでディレクトリを移動する方法

  2. Linuxでディレクトリの名前を変更する方法

  3. Linuxでファイルの名前を変更する方法