在 MSYS2 下的 Windows10 上,“du”命令在格式化为 exFAT/FAT32 的 USB 上出现“fts_read failed”错误

在 MSYS2 下的 Windows10 上,“du”命令在格式化为 exFAT/FAT32 的 USB 上出现“fts_read failed”错误

我目前在 Windows10 上使用 MSYS2,并尝试du在格式化为 exFAT 的 USB 上执行 MINGW64 Shell Launcher。
假设 USB 安装在 上/g/,USB 的结构大致如下:

/g/$Thesis/
/g/Giochi/
/g/PROGRAMMING/
/g/System Volume Information/
/g/Video/
/g/_$CR/
/g/test/

当我执行时,du -sh /g/*我得到的是:

0       /g/$Thesis
du: fts_read failed: /g/Giochi/Lobotomy-Corp/Saves/Sav1/Lobotomy/Unity: No such file or directory
6.6M    /g/PROGRAMMING
8.0K    /g/System Volume Information
0       /g/Video
0       /g/_$Cr
20K     /g/test

有问题的文件夹的结构Giochi/Lobotomy-Corp/Saves/Sav1/Lobotomy/Unity/如下:

...
Lobotomy/
|...
|--Unity/
   |--local.775c7d8c8116fb84a9c9bb47890hg7a8/
      |--Analytics/
         |--config
         |--values
         |--ArchivedEvents/
            |--879942335000001.1sa7f78b/
               |--e
               |--g
               |--h

我把这个 USB 上的所有文件复制到了一个新的 USB。假设这个新的 USB 安装在 上/h/,我尝试这样做:

  • 我将新的 USB 格式化为 exFAT,并执行了该操作,du -sh /h/*但该特定文件夹上的错误仍然相同
  • 我将新的 USB 格式化为 FAT32,并执行了该操作,du -sh /h/*但该特定文件夹上的错误仍然相同
  • 我尝试du -sh在格式化为 NTFS 的桌面上对相同的文件进行操作,并且成功了:

    0       /old-USB-files/$Thesis
    429K    /old-USB-files/Giochi/    
    6.6M    /old-USB-files/PROGRAMMING
    2.0K    /old-USB-files/System Volume Information
    0       /old-USB-files/Video
    0       /old-USB-files/_$Cr
    5.0K    /old-USB-files/test
    
  • 我将新的 USB 格式化为 NTFS,执行du -sh /h/*后一切正常

然后我开始通过复制特定文件对格式化为 exFAT/FAT32 的新 USB 进行一些测试:

  • 我复制了仅有的文件Unity夹,执行du -sh /h/Unity并生效
  • 我复制了仅有的Lobotomy文件夹并执行时
    du -sh /h/Lobotomy出现错误,但
    du -sh /h/Lobotomy/输出正确且无错误

MSYS2 上的命令可能du是问题所在吗?exFAT/FAT32 文件系统或类似格式的 USB 上是否
存在问题?du

编辑:

我最近在我的计算机上安装了带有 Ubuntu 18.04 LTS 的 WSL1。
我将新 USB 格式化为 exFAT,复制了文件,创建了一个挂载点/mnt/h,并使用

sudo mount -t drvfs H: /mnt/h

然后我运行du -sh /mnt/h它,它没有任何问题。MSYS2
真的是问题所在吗?

相关内容