概述
目录
描述
使用示例
重命名文件
移动文件位置
移动文件并修改名称
查看命令手册
注意事项
移动不存在的文件或目录
目标路径不存在
目标路径存在同名文件/目录
描述
在Linux中,重命名文件被称为移动(moving)。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,但inode编号和时间戳保持不变。这是因为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
同上一节一样,这个操作没有改变文件的inode编号或时间戳。
移动文件并修改名称
使用 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仅仅影响文件名,inode编号和时间戳保持不变。
查看命令手册
使用 man mv 查询mv命令手册。
$ man mv
注意事项
移动不存在的文件或目录
尝试移动一个不存在的文件或目录时,mv报错No such file or directory。
$ 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报错Not a directory。
$ mv run.c $HOME/func/
mv: cannot move ‘run.c’ to ‘/home/admin/func/’: Not a directory
目标路径存在同名文件/目录
例如,假设要将当前目录下的一个名为“run.c”的文件移动到desktop目录下。可是desktop目录下已经存在一个名为"run.c"的文件了。如果此时使用mv移动,那么mv会将当前目录下的run.c移动到desktop目录下,并将原有存在的../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’?
最后
以上就是纯情黑猫为你收集整理的Linux mv命令:重命名文件描述使用示例注意事项的全部内容,希望文章能够帮你解决Linux mv命令:重命名文件描述使用示例注意事项所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复