コマンドラインからディレクトリの名前を変更するにはどうすればよいですか?


回答:


737
mv /home/user/oldname /home/user/newname


クールな記事。それがまさにポイントです。
ラファウチエラク

77
新しい名前がすでに既存のディレクトリである場合、これは機能しません。代わりに、古いディレクトリを新しいディレクトリ内に移動します。
cxrodgers 14

9
ディレクトリ名が大文字と同じ場合、取得しNo such file or directoryます。これを回避するには、次のようにしmv /home/user/Folder /home/user/temp; mv /home/user/temp/ /home/user/folderます。
DutGRIFF 14

9
@cxrodgers:パス--no-target-directory-Tnewname。ターゲットディレクトリとして扱われないようにします。
jfs 16

123

mv 2つのジョブを実行できます。

  1. ファイルまたはディレクトリを移動できます
  2. ファイルまたはディレクトリの名前を変更できます

ファイルまたはディレクトリの名前を変更するには、ターミナルでこれを入力します。

mv old_name new_name 

古い名前と新しい名前の間にスペースがあります。

ファイルまたはディレクトリを移動するには、ターミナルでこれを入力します。

mv file_name ~/Desktop 

ファイルをデスクトップに移動します。

がディレクトリの場合-R、ディレクトリ名の前に追加する必要があります。

mv -R directory_name ~/Desktop

3
mvUbuntuのGNU coreutilsからです。AFAICTには-Rオプションがありません。また、ディレクトリを移動する場合は必要ありません。
アリエル

-rは動作しません
-user1735921

正しいオプションは-Tです。bmaupinさん@参照してください答えはその動作のために。
クロノ

39
mv -T /home/user/oldname /home/user/newname

宛先が存在しない場合、または存在するが空の場合は、ディレクトリの名前が変更されます。そうしないと、エラーが発生します。

代わりにこれを行う場合:

mv /home/user/oldname /home/user/newname

次の2つのいずれかが発生します。

  • /home/user/newname存在しない場合は、名前が変更さ/home/user/oldnameれます/home/user/newname
  • /home/user/newname存在する場合、それはに移動/home/user/oldnameします/home/user/newname、すなわち/home/user/newname/oldname

ソース:mvがディレクトリを置き換えるのではなく、ディレクトリに移動することを決定する方法は?


大文字と小文字を区別しないファイルシステムでディレクトリ名を大文字にしたい場合は動作しません(MacOSでおそらくそうです)。mv -T $PWD/analisys $PWD/Analisysを返しますmv: '/Users/sixtykeys/Projects/murphy/tmp/analisys' and '/Users/sixtykeys/Projects/murphy/tmp/Analisys' are the same file。私は中間名(つまりanalisys_)を使用してこれを回避しました。
バジリコデ

コマンドは、ファイルシステムの制限のために成功しなかったかもしれませんが、別の観点から、あなたの意図を解釈することに成功しました(ディレクトリの名前を変更し、移動しない):)
bmaupin

これを試しましたか?
マフムードS.マーワッド

5

ファイルシステムのレベルでディレクトリの名前を変更する場合(たとえば、ホームディレクトリにいて、ホームディレクトリにもあるディレクトリの名前を変更する場合):

mv Directory ./NewNameDirectory

4

このgvfs-moveコマンドは、ファイルとディレクトリの名前も変更します。

gvfs-move /home/user/oldname /home/user/newname

3

gvfs-renameはディレクトリの名前も変更します。新しい名前のディレクトリがすでに存在する場合、エラーが発生します。唯一の制限は、フォルダー名にパスを使用できないことです。そう

gvfs-rename /home/boo /home/boo-the-dog 

動作しませんが、

cd /home 
gvfs-rename boo boo-the-dog 

動作します。mv -Tほど有用ではありませんが、私はそれがネットワーク操作のためであることを男に読みました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.