背景:我在我的机器上添加了一个驱动器,但无论出于什么原因,我无法访问其上的目录(?)。
ls -l
ls: cannot access Downloads: No such file or directory
total 56
d????????? ? ? ? ? ? Downloads
drwxr-xr-x 26 user 12288 Aug 12 23:29 foo
ls -a
. .. Downloads foo
光盘
bash: cd: Downloads: No such file or directory
触碰
touch: cannot touch ‘Downloads’: File exists
mkdir 下载
mkdir: cannot create directory ‘Downloads’: File exists
cat 下载
cat: Downloads: No such file or directory
文件下载
Downloads: cannot open `Downloads' (No such file or directory)
mv 下载量下降
mv: cannot stat ‘Downloads’: No such file or directory
此外,无论是以 root 身份还是其他身份,以下命令都不会删除文件(?):
rm Downloads
rm -rf Downloads
rmdir Downloads
还有一条信息,bash 自动完成下载,所以 bash 似乎也认为它在那里。
答案1
D,你还没有描述这个问题的情况,但是我可以说,
首先,目录是否出现在文件管理器中?根据您的列表
d????????? ? ? ? ? ? Downloads
该目录“存在”,但没有任何可识别/设置/分配的权限,也不属于用户或组。事实上,从表面上看,读取访问完全被阻止。再次描述围绕此问题的情况,也就是说你是如何到达这一点的?
作为一项实验,启动实时发行版,然后通过该方式访问,获取下载列表,并分配“标准”目录权限 755 或删除目录。有时,我遇到文件“写入错误”的情况,并出现同样的问题,因此不得不跳转到实时发行版以从我的日常驱动程序中删除它们。如果您可以从实时发行版访问下载目录,则在删除目录之前将其包含的数据“从外部”恢复。恢复正常操作后,最好正确地重新创建目录。
答案2
ls: cannot access Downloads: No such file or directory total 56 d????????? ? ? ? ? ? Downloads drwxr-xr-x 26 user 12288 Aug 12 23:29 foo
这是一个典型的情况,即目录上只有读取权限而没有执行权限。其他命令输出表明您也没有写入权限。要理解为什么会发生这种情况,您必须了解 inode、dentry 和内核的路径查找过程
答案3
我有一个文件显示类似的状态。我可以通过运行 fsck 来修复它。
答案4
我在卸载 SMB 共享的目录中也遇到了同样的问题。唯一有帮助的就是重启机器。