我正在使用 PHP 7.3 在更大的应用程序中移动一些文件。 PHP 7 在 Windows 10 的 wsl2 容器中的 Ubuntu 20.04.4 上运行。
在阅读其他问题时,这似乎可能是 windows-subsystem-for-linux 的奇怪之处,但我需要弄清楚如何纠正它?
完成后,其中应该有一组文件和一个目录。一切正常,没有错误,然后我进入目录,发生了这种情况:
root@mymachine:/data/temp# ls 4583308_163* <---- list glob
4583308_163_master.jpg
4583308_163:
TileGroup0 TileGroup1 4583308_163.xml
root@mymachine:/data/temp# ls 4583308_163 <---- tab completions
4583308_163/ 4583308_163_master.jpg
root@mymachine:/data/temp# ls 4583308_163.jpg <---- individual filenames show????
4583308_163.jpg
因此,ls
glob 显示了一个我没有移动的文件、一个已创建的目录以及刚刚移动到该目录中的文件,但还有 3 个其他文件移至顶层,但未显示。
制表符补全也不显示它们,但如果我知道ls
那里的文件的文件名,我就可以看到它!?
该文件肯定存在,如果直接打开,可以通过其他命令看到,但通配失败(file 4583308_163.jpg
很好,file 4583308_163.*
没有给出这样的文件或目录错误)
你可能会认为,在经历了超过 25 年的 *nix 之后,我会有一个答案......有人有想法吗?
我尝试过使用bash
and sh
,两者都是相同的。find
也无法“找到”文件。
重新启动 wslwsl --shutdown
不起作用 - 我不是管理员,它是一台工作计算机,我无法获得管理员权限。所以我的想法是,我可以看到这些文件的唯一方法是重新启动计算机,我刚刚这样做了并且我仍然看不到文件。
更新 当我周五离开时,我的机器需要更新,所以我将其关闭并在下班时进行更新。今天我来了,看来一切顺利。
我不知道它是否已完全修复(通过更新?),但我现在无法重现该问题。