我目前在 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
真的是问题所在吗?