为什么“ls”和“stat”对同一对象返回不同的所有权?

为什么“ls”和“stat”对同一对象返回不同的所有权?

这是问题的延续这里

我以 root 用户身份运行此命令

chown someuser:someuser /mnt/my-address

进而

# ls -l /mnt/my-address

响应是

total 16
drwx------ 2 root root 16384 Aug 16 11:04 lost+found

但当我这样做

stat /mnt/my-address

响应是

File: `/mnt/my-address'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: ca51h/51793d    Inode: 2           Links: 3
Access: (0755/drwxr-xr-x)  Uid: (  106/ someuser)   Gid: (  112/ someuser)
Access: 2012-08-16 13:59:53.261099055 +0000
Modify: 2012-08-16 11:04:45.000000000 +0000
Change: 2012-08-16 13:59:44.013099226 +0000
 Birth: -

为什么我使用不同的命令会得到不同的用户和组?

答案1

ls -l /mnt/my-address显示文件/目录里面 my-address。仅当您使用命令以 (R) 递归方式更改所有权时,这些才会受到影响。chown -R您所做的只是更改 的所有权/mnt/my-address,而不是其任何内容。

stat /mnt/my-address为您提供有关实际目录/挂载点的信息/mnt/my-address,以及您拥有的目录/挂载点做过变化。这就是两者的不同之处。

相关内容