文件重命名
1.把oldname——》newname,且以“newname”为名字的文件不存在
方法:
用函数:rename(oldname, newname);
用命令:mv oldname newname
2.把oldname——》newname,且以“newname”为名字的文件存在
方法:
用函数:rename(oldname, newname);
用命令:mv oldname newname
但是结果就让人意想不到了:oldname的文件的文件名变为newname,原来的newname文件被删除
可以通过下面的命令验证:
改变之前的oldname的inode号和改变之后的newname的inode一样,
连修改时间都一样
# stat oldname 
   文件:"oldname"
   大小:5             块:8          IO 块:4096   普通文件
 设备:801h/2049d    Inode:439817      硬链接:1
 权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2018-09-11 18:51:44.576615609 +0800
 最近更改:2018-09-11 18:25:01.080719559 +0800
 最近改动:2018-09-11 18:58:43.476786928 +0800
 创建时间:-
 # touch newname
 # stat newname 
   文件:"newname"
   大小:0             块:0          IO 块:4096   普通空文件
 设备:801h/2049d    Inode:439818      硬链接:1
 权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2018-09-11 18:59:53.440798240 +0800
 最近更改:2018-09-11 18:59:53.440798240 +0800
 最近改动:2018-09-11 18:59:53.440798240 +0800
 创建时间:-
 # mv oldname newname 
 # stat newname 
   文件:"newname"
   大小:5             块:8          IO 块:4096   普通文件
 设备:801h/2049d    Inode:439817      硬链接:1
 权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2018-09-11 18:51:44.576615609 +0800
 最近更改:2018-09-11 18:25:01.080719559 +0800
 最近改动:2018-09-11 19:00:28.352884996 +0800
 创建时间:-
其实这个现象可以结局一个问题:文件系统的延迟分配
                










