1
mxT52CRuqR6o5 176 天前
ntfs 的问题
|
2
AOK123 OP @mxT52CRuqR6o5 感谢,但我不是很懂文件系统,有个疑问:WSL 也是装在同一个硬盘上的,应该也是 ntfs 吧?
|
![]() |
3
codehz 176 天前 via iPhone
杀毒软件扫描文件的问题,每次创建 /打开 /写入文件都要过一个文件系统过滤器然后才会返回程序
|
![]() |
4
Eiden 176 天前
如果你说的 wsl 是指 wsl2 的话, wsl2 是虚拟机, 文件系统不是 ntfs
|
5
busier 176 天前
杀毒软件的锅,禁用杀毒软件(包括自带的)就会快很多!另外 Windows 删除目录也会先扫描目录结构,然后在删除!
如果删除大量文件,还不如 cmd 里面 rd /s 来的快! |
![]() |
6
coderluan 176 天前
python 没代码不确定。但是删除那个,你不能拿 cli 和 gui 比啊,(rm -rf) 得和(del /s)比才公平,
|
![]() |
7
marcong95 176 天前
你要对比 rm -rf 的话,为何不对比 Windows 下对应的指令呢,例如 powershell 下 Remove-Item -Recurse -Force <路径>
迫于 npm/node_modules 经常需要删除超大量文件,GUI 下的删除即便是 Shift + Delete 可能也有大量需要预处理的情况,主观感觉用指令会快一点 |
![]() |
8
FozillaMox 176 天前 via iPhone
同感。我分别用 Windows 和 macOS 对同一台文件系统为 FAT32 的设备进行文件操作,Windows 下就连简单的复制粘贴都比 macOS 慢很多。
|
9
encro 176 天前
用界面要统计进度和空间,如果很多小文件,那么会慢。
而且杀毒软件确实非常大影响。 |
10
0attocs 176 天前 via iPhone
还有 explorer.exe 本身的效率问题,加载的插件和层层逻辑太多了。
|
![]() |
11
cwcc 176 天前
WSL2 的话,Linux 的文件会保存到 VHDX 虚拟硬盘中。
如果将文件放入虚拟硬盘中且同时用 WSL2 操作文件,效率会高很多。 如果将文件放在 Windows 的硬盘分区中,操作是走网络挂载会影响性能。 如果是 Windows 操作 WSL2 内的文件,也是走的网络挂载,性能可能被 Windows 的杀毒软件和多系统之间的 IO 影响。 如果是 Windows 操作 Windows 的文件,有 GUI 也会影响性能,有时候 Explorer 卡住了也会导致无法正常满速传输。 |
![]() |
12
mmdsun 176 天前 ![]() |
14
em70 176 天前
命令行跟 GUI 比速度? linux 用 FTP 客户端删除,一样慢死,这是 GUI 需要处理过多消息的缘故,你用 cmd 跟 shell 速度一样的
|
16
woyaoying 176 天前 ![]() 禁止 windows 杀毒实时扫描
|
18
Kiriya 176 天前
windows 在操作大量文件时会先统计文件数量及文件大小,这会浪费大量时间,所以 Windows 移动复制删除大量文件推荐使用 fastcopy 替代资源管理器,可以省略统计文件大小所浪费的时间
|
![]() |
19
kkocdko 176 天前
虽然很多人确实不知道这件事,但是你的问题无论是用 New Bing 还是传统的搜索引擎,都能得到正确答案。
|
20
PrinceofInj 176 天前
@mmdsun 这个暂停挺好用的。有时候从 U 盘上拷东西开始拷贝后才发现是 2.0 的口,暂停一下,插到 3.0 得上,然后继续,速度刷的一下子就上去了,超好用。
|
21
0attocs 176 天前 via iPhone
@NessajCN
pwsh 可以说是非常现代非常易用的 shell 了,且不说类似 fish/zsh 的 tab 补全和提示,pwsh 的函数 /cmdlet 是可以自动提示 /补全 /预测参数的,而且 pwsh 不区分大小写,常用命令都有 alias ,参数按前缀匹配,这一条命令纯手打也就是 rm -r -fo 。 |
22
0attocs 176 天前 via iPhone
@NessajCN
要比较学习曲线的话,pwsh 首先文档齐全,其次 verb-noun 的全名绝对更好记,加上 tab 提示 /补全,函数名 alias ,参数名前缀匹配,-?帮助,现代化的语法和语言特性,绝对是更好学的那个。 |
![]() |
23
newmlp 176 天前
你在 Windows 下用命令删除文件和目录也可以秒删
|
![]() |
24
newmlp 176 天前
@mxT52CRuqR6o5 和文件系统没多大关系,系统 api 具体实现不同
|
26
mxT52CRuqR6o5 176 天前
@newmlp 前端开发表示并不能,同一个项目,在 windows host 上删除 node_module 还没有在 windows host 下虚拟的黑苹果 guest 系统里删的快
|
![]() |
27
newmlp 176 天前
@mxT52CRuqR6o5 为什么我这里的 Windows 用 rmdir 能秒删 node_module 呢[二哈]有没有可能是不是你不会删
|
![]() |
29
Chipmunker 176 天前
@0attocs pwsh 启动太慢了。
|
30
mxT52CRuqR6o5 176 天前 via Android
|
31
justaname 176 天前 via iPhone
@0attocs 至少对我来说我觉得 bash 以及 gnu 相关的那一套命令好学很多,pwsh 的面向对象设计经常用起来很难受……我需要查文档才知道具体应该怎么调用和控制对象,如果有外部命令需要交互的话那就更是乱成一团。相反 Linux shell 的设计逻辑就是字符串流,在大部分需要脚本解决的任务上我觉得方便很多
|
![]() |
32
lusi1990 176 天前
都用命令操作, window 也慢. 文件系统的原因
|
![]() |
33
wisetc 176 天前 via iPhone
问题存在,我也有类似的疑惑
|
34
Donahue 176 天前
很久没用过 windows 了哈哈,这个系统用来编程感觉挺蛋疼的
|
![]() |
35
est 176 天前
因为 explorer.exe 是三哥写的 shell 。。你试试命令行 rd /s /q C: 看看快不快。
|
37
0attocs 176 天前
@Chipmunker #22 这个不可避免吧,我配置好的 zsh 甚至 bash 启动和 pwsh 差不多慢,pwsh 无配置启动(-nop )也挺快的。
|
38
0attocs 175 天前
@justaname #23
前面提到的也都是在 windows 下用 pwsh 。你如果说的是在 linux 下的话,在 gnu 的环境里当然是 bash 更搭,但学习记忆曲线还是不低的。想用 pwsh 在 linux 下做交互确实是要学习那一套 best practice ,我也尽量不碰,只是偶尔用 pwsh 做一些简单的 parallel processing 。 |
39
rm0gang0rf 175 天前
用 c 试试?
|
![]() |
40
yolee599 175 天前 via Android
因为还要计算进度条用来显示
[有进度条反而速度更慢?有关进度条你不知道的秘密-哔哩哔哩] https://b23.tv/qPT3XzL |
41
Huelse 175 天前
NTFS 文件系统有啥问题?这个文件系统微软用了多少年了,期间 linux 都换了不知道多少个文件系统
|
![]() |
42
newmlp 175 天前
@mxT52CRuqR6o5 我可用是机械硬盘。。。。
|
![]() |
44
kindjeff 175 天前
文件放在哪,wsl2 和 win 宿主机互相之间访问都要走网络奥
|
45
mscsky 175 天前
有没有可能 Windows 也能用命令行删除
|
![]() |
46
jacy 175 天前
把 windows defender 关掉
|
![]() |
47
BrettD 175 天前 via iPhone
@newmlp 那为什么在 WSL 里面 git checkout 一个大仓库,比如 LLVM ,比在 Windows 里面直接在 NTFS 上 checkout ,只需要接近一半时间?
|
![]() |
49
BrettD 175 天前 via iPhone
@newmlp 对比方式是先把一样的仓库 clone 下来,然后比较的是从一个 tag checkout 到另一个 tag 的时间,整个过程是全本地的文件操作。我的印象就是 NTFS 操作大量小文件的效率非常低。VHDX 就是一个文件,所以没有这些在 NTFS 操作大量小文件的瓶颈。
|
![]() |
50
Yeen 175 天前
建议写 C++代码,直接调用系统 api 操作。
|