Linux mvコマンド:ファイルの名前を変更

目次

説明

使用例

ファイルの名前を変更

ファイルの場所を移動する

ファイルを移動して名前を変更する

コマンドマニュアルを見る

予防

存在しないファイルまたはディレクトリを移動する

ターゲットパスが存在しません

同じ名前のファイル/ディレクトリがターゲットパスに存在します


 

説明

Linuxでは、ファイルの名前変更は移動と呼ばれます。mvコマンドは、ファイルとディレクトリを別の場所に移動したり、名前を変更したりできます。

 

使用例

ファイルの名前を変更

mv <old_file_name> <new_file_name>

たとえば、現在のディレクトリのflavor.pb.goの名前をflavor.goに変更します。

$ ll | grep flavor
-rw-r--r--    1 root  staff  35644  6 11 12:57 flavor.pb.go
$ mv flavor.pb.go flavor.go
$ ll | grep flavor
-rw-r--r--    1 root  staff  35644  6 11 12:57 flavor.go

❗注:ファイルを移動すると、ファイル名がflavor.pb.goからflavor.goに変更されますが、iノード番号とタイムスタンプは変更されません。これは、mvがファイル名にのみ影響するためです。

 

ファイルの場所を移動する

mvを使用してファイルの場所を移動することもできます。mv <file_name> <target_directory>

/home/cloudadmin/test.logを/ tmpディレクトリに移動します。

$ ll
total 4
drwxr-xr-x. 3 cloudadmin root        4096 Aug 28 14:48 cache
-rw-r-----. 1 cloudadmin cloudadmin     0 Sep 21 15:30 test.log
$ mv test.log /tmp/
$ ll
total 3
drwxr-xr-x. 3 cloudadmin root        4096 Aug 28 14:48 cache
$ ll /tmp
total 3
-rw-r-----. 1 cloudadmin cloudadmin   0 Sep 21 15:30 test.log

前のセクションと同様に、この操作ではファイルのiノード番号またはタイムスタンプは変更されません。

 

ファイルを移動して名前を変更する

mv <file> <new_file_name>を使用してファイルを移動し、ファイル名を変更します。

$ ll
total 4
drwxr-x---. 2 root root 4096 Oct 28 17:10 desktop
-rw-r-----. 1 root root    0 Oct 28 17:10 test.c
$
$
$ mv test.c desktop/run.c
$ cd desktop/
$ ll
total 0
-rw-r-----. 1 root root 0 Oct 28 17:10 run.c

同様に、mvは現時点ではファイル名にのみ影響し、iノード番号とタイムスタンプは変更されません。

 

コマンドマニュアルを見る

man mvを使用して、mvコマンドマニュアルを照会します。

$ man mv

 

予防

存在しないファイルまたはディレクトリを移動する

存在しないファイルまたはディレクトリを移動しようとすると、mvはエラーを報告します。そのようなファイルまたはディレクトリはありません。

$ ll
total 0
-rw-r-----. 1 admin admin 0 Oct 28 17:10 run.c
$ mv main.go ../
mv: cannot stat ‘main.go’: No such file or directory

ターゲットパスが存在しません

移動するターゲットパスが存在しない場合、mvは「ディレクトリではありません」というエラーを報告します。

$ mv run.c $HOME/func/
mv: cannot move ‘run.c’ to ‘/home/admin/func/’: Not a directory

同じ名前のファイル/ディレクトリがターゲットパスに存在します

たとえば、現在のディレクトリにある「run.c」という名前のファイルをデスクトップディレクトリに移動するとします。ただし、「run.c」という名前のファイルはすでにデスクトップディレクトリに存在します。この時点でmvを使用して移動すると、mvは現在のディレクトリのrun.cをデスクトップディレクトリに移動し、既存の../desktop/run.cファイルを上書きします。

$ ll
total 4
drwxr-x---. 2 admin admin 4096 Oct 28 17:11 desktop
-rw-r-----. 1 admin admin    0 Oct 28 17:28 run.c
$ mv run.c desktop/run.c
$ cd desktop/
$ ll
total 0
-rw-r-----. 1 admin admin 0 Oct 28 17:28 run.c

上記の例のファイルの前後のタイムスタンプを観察すると、ファイルが置き換えられたことがわかります。では、ファイルが誤って置き換えられるのを防ぐにはどうすればよいでしょうか。

mvコマンドの-iパラメーターを使用できます。したがって、コマンドが既存のファイルを上書きしようとすると、次のプロンプトが表示されます。

$ ll
total 4
drwxr-x---. 2 admin admin 4096 Oct 28 17:29 desktop
-rw-r-----. 1 admin admin    0 Oct 28 17:31 run.c
$ mv -i run.c desktop/
mv: overwrite ‘desktop/run.c’?

 

おすすめ

転載: blog.csdn.net/TCatTime/article/details/107431436