我有一个目录,里面有大量子目录。这些子目录都是我的,权限都是 777。
pascal@azazel /box $ ls -al
total 147872
drwxr-xr-x 293 root root 12288 aoû 22 19:44 .
drwxr-xr-x 25 root root 4096 jun 28 18:49 ..
drwxrwxrwx 7 pascal pascal 4096 aoû 4 2010 131082
[...]
我想重命名目录:
pascal@azazel /box $ mv 131073 NewName
mv: impossible de déplacer « 131073 » vers « NewName »: Permission non accordée
该消息是法语的,基本上是说我没有重命名(移动)目录的权限。
怎么了?
答案1
重命名文件(无论其类型如何,包括目录)意味着更改其所在目录中的名称。事实上,重命名和在文件系统内部移动是同一个操作;该文件与其旧名称分离并附加到其新名称,这需要修改源目录和目标目录(对于在一个目录内重命名,源目录和目标目录相同)。结果是您需要对包含目录的写入权限(/box
在您的示例中)。
顺便说一下,这些权限与复制文件然后删除原始文件所需的权限完全相同。