ls:无法访问文件:没有此文件或目录

ls:无法访问文件:没有此文件或目录

背景:我在我的机器上添加了一个驱动器,但无论出于什么原因,我无法访问其上的目录(?)。

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 共享的目录中也遇到了同样的问题。唯一有帮助的就是重启机器。

相关内容