ITPub博客

首页 > Linux操作系统 > Linux操作系统 > mv操作的两种结果

mv操作的两种结果

原创 Linux操作系统 作者:Kind0f 时间:2016-10-30 17:02:36 0 删除 编辑


实验如下:

    mv a b
    若b已经存在且为文件 , 则会产生提示:

    root@192.168.12.160:test# ls
    name1.txt  name_2_dir  name2.txt  name_dir
    root@192.168.12.160:test# mv name1.txt name2.txt
    mv: overwrite `name2.txt'?
    root@192.168.12.160:test# mv name_dir name1.txt
    mv: overwrite `name1.txt'?

    若b已经存在且为目录 , 则会将a移动到b目录下
    root@192.168.12.160:test# ls
    name1.txt  name_2_dir  name2.txt  name_dir
    root@192.168.12.160:test# mv name1.txt name_dir
    root@192.168.12.160:test# mv name_2_dir name_dir
    root@192.168.12.160:test# ls
    name2.txt  name_dir
    root@192.168.12.160:test# ls name_dir/
    name1.txt  name_2_dir

由以上操作结果可知:
   
    ① 当我们需要移动文件的时候需要确定该文件是否存在,然后是否需要覆盖

    ② 当我们需要改名的时候,一定要注意的是改名之后的文件或者目录是否存在,否则我们以为是改名了,实际上执行的是移动操作。比如上面的例子,我们需要把目录name_2_dir 改名为 name_dir,要是我们不去核实name_dir是否存在,就会产生更名成功的幻觉,其实只是把name_2_dir 移动到了name_dir目录。这一点要及其注意,因为有一次我更改数据库名称通过更改文件夹名称的方法做的,但是没有想到已经存在了目的名称的目录,导致整个目录是一个移动操作。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31385648/viewspace-2127335/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: MHA基础知识
请登录后发表评论 登录
全部评论

注册时间:2016-08-17

  • 博文量
    39
  • 访问量
    48067