WSL2使用ls或dir报错reading directory ‘.‘: Input/output error

Posted 临风而眠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WSL2使用ls或dir报错reading directory ‘.‘: Input/output error相关的知识,希望对你有一定的参考价值。

WSL2使用ls或dir报错reading directory ‘.’: Input/output error

一.问题

缘起

在研究cat命令的时候,cd到各个文件夹去找各种文件夹去试

cdlsdir用的无比丝滑的时候,突然遇到一个顽固的文件夹,它就是不让我在命令行里面识得其真面目

具体报错

  • 用ls:
ls: reading directory '.': Input/output error
  • 用dir:
dir: reading directory '.': Input/output error

二.解决过程

1.网上查呗

以我稀烂的英语水平,大概是要用fsck这个东西来解决吧…

​ 磁盘损坏?😨😨??? 可是我在Windows上用ls和dir都没啥事啊…

  • 还搜了不少教程,好多都说是硬件问题…麻了…啥时候把电脑硬件整出问题了啊…

2.大胆猜测

那个文件夹风水不好?

  • 出事的那个文件夹里面有几个子文件夹,有pdf文件,有jpg,有.epub文件,但这也没啥异常的

  • 我去别的好多嵌套了好多放了很多很杂的文件的路径下用ls都没事…

  • 难道是这个文件夹被做了手脚?风水不好?

  • 于是我就把那个文件夹里的东西全都剪切到一个新建的文件夹,结果还是无济于事

文件夹里有内鬼!

  • windows powershell在那个文件夹用ls和dir都不会报错,但WSL子系统会…真的令人抓狂
  • 既然别的文件夹都不出事情,那可能就是这个文件及里面哪个文件有问题…

  • 于是我开始把一些文件剪切出去,然后在这个文件夹和那个临时文件夹分别使用ls或dir

直到这样

这个文件夹使用ls还是会报错

而那个临时文件夹:

使用ls不报错!

那肯定是剩下的某个文件 👇

3.柳暗花明

插播一下:cmd只能用dir powershell dir和ls都能用

确实是文件夹有内鬼,并且锁定了内鬼就是它:

这文件名字有亿点长

还让我联想起了平时创建文件夹的时候的提示:

反正我就怀疑这个是这个文件名字的问题,于是临时给他改个名字

这波ls成功啦!

就是文件名字的问题!!!😫😫😫

三.总结…

  • 希望不是查到的硬盘有啥问题🙏🙏🙏
  • 文件名字还是要注意…
  • 好奇ls的远离,查了一下CSDN的总结

以上是关于WSL2使用ls或dir报错reading directory ‘.‘: Input/output error的主要内容,如果未能解决你的问题,请参考以下文章

《Docker系列》Docker安装MySQL报错:mysqld failed while attempting to check config....mysqld: Can‘t read dir

ls命令:显示文件或目录

ls命令

my_print_defaults: Can‘t read dir of ‘/etc/my.cnf.

windows dir改成ls

列出目录内容: dir 和 vdir,建立目录mkdir,移动复制和删除