在目录中是否存在可以工作但会失败的情况。touch
mkdir
我知道这两个调用都涉及写入inode
父目录。因此,如果 touch 有效,它不是自动意味着 inode 是可写的,因此mkdir
不可能失败。
这是Android(我只听说过一个报告,实际上并没有看到这种情况)并且命令是从终端模拟器运行的,在/system
目录中(在请求之后su
),但这不应该对IMO产生影响。
编辑:mkdir 失败了"permission denied"
在目录中是否存在可以工作但会失败的情况。touch
mkdir
我知道这两个调用都涉及写入inode
父目录。因此,如果 touch 有效,它不是自动意味着 inode 是可写的,因此mkdir
不可能失败。
这是Android(我只听说过一个报告,实际上并没有看到这种情况)并且命令是从终端模拟器运行的,在/system
目录中(在请求之后su
),但这不应该对IMO产生影响。
编辑:mkdir 失败了"permission denied"
我可以想到几种可能发生这种情况的方法:
1)如果你已经达到了一个目录下的最大子目录数(一般在32000左右),你就不能了mkdir
,但是你可以去touch
一个文件。
2)如果你的磁盘空间非常低,你将无法做到,mkdir
因为它需要 4K,但你可以保存touch
一个文件。
也许您对父目录没有写权限?如果您拥有这些文件或对它们具有写权限,您仍然可以访问目录中的touch
现有文件。(但是,对不存在的文件调用 touch 仍然会失败,因为该目录是只读的。)
stat
父目录和touch
ed 文件的输出是什么?