相关疑难解决方法(0)

如果 Windows 7 不支持 WSL,那么什么是“基于 UNIX 的应用程序的子系统”?

大家都说Linux的子系统或WSL,是仅在Windows 10的支持。

WSL 选项的屏幕截图

所以如果这是真的,有人能解释一下 Windows 7 中这个看起来非常相似的选项是什么意思吗?它究竟有什么作用?

基于 Unix 的应用程序选项子系统的屏幕截图

windows unix windows-subsystem-for-linux

37
推荐指数
2
解决办法
2万
查看次数

所有版本的 Windows 都不区分大小写吗?

我知道 Windows 操作系统(通常)不区分大小写。所有 Windows 操作系统(从 Windows 95 到 Windows 7)都是这样吗?是否有任何注册表设置可以使 Windows 区分大小写?

windows

27
推荐指数
6
解决办法
4万
查看次数

Windows 和 Linux 中区分大小写的文件扩展名

在Linux下,你可以有文件example.JPG,并example.jpg在同一目录下。

在 Windows 中,您有区分大小写的扩展名,但不能将这两个文件放在同一目录中。为什么不?

windows linux case

11
推荐指数
2
解决办法
1万
查看次数

不区分大小写的文件系统如何访问文件?

我工作的一位程序员,他一生都在使用 Linux,他指责 Windows 有一个不区分大小写的文件系统(除其他外),他说这是最糟糕的想法,永远不会有好处。我说那只是因为他习惯了区分大小写的文件系统,而且拥有一个不区分大小写的文件系统更有意义(我的部分原因是我的名字是David,但如果你提到我,david我会仍然知道您的意思是我,这同样适用于文件)。然后他解释了他的立场,指出不区分大小写的文件系统必须导致性能下降。

所以现在我想知道......不区分大小写的文件系统如何访问文件?让我试着解释一下我的想法:

假设您有一个区分大小写的文件系统(和操作系统内核等),实际上,如果存在一个名为 的目录exampleDir,我必须准确键入cd exampleDircd 到其中。如果我输入cd exampledir,我应该收到一个错误,该目录不存在。在我看来,这似乎是一个简单的案例。当我输入命令时,文件系统可以简单地获取我输入的确切字符(忽略内核可能会做什么以将当前工作目录路径添加到字符串等)并开始运行可用文件名列表,执行直接比较每个名字;例如:

for(var i = 0; i < files.length; i++) {
    if(filename == files[i]) return true;
}
Run Code Online (Sandbox Code Playgroud)

现在是有趣的部分,不区分大小写的文件系统(假设保留大小写,根据 Windows)。实际上,如果存在一个名为 的目录exampleDir,我可以输入cd exampleDir或cd eXamPleDIr并且我仍然可以成功进入该文件夹。我真正想知道的是,实现这一目标的代码是什么样的。为了保留大小写,目录名称必须与其大小写一起存储。那么这是否意味着每次要通过文件名访问文件时都必须进行两次大小写转换?这会转化为多少性能影响?是否有任何技巧可以减少使用不区分大小写的文件系统导致的性能下降?这就是我想象的文件系统代码必须看起来的样子:

for(var i = 0; i < files.length; i++) {
    if(toLowercase(filename) == toLowercase(files[i])) return true;
}
Run Code Online (Sandbox Code Playgroud)

请注意:由于我的问题似乎并不清楚,我绝对不是在问哪种类型更好,也不是在问优点和缺点是什么。我只是问(在技术方面)不区分大小写的文件系统如何处理人类可以使用随机大小写键入文件名的事实。

filesystems

7
推荐指数
1
解决办法
1098
查看次数

如何在 Windows 7 上创建具有区分大小写的文件系统的虚拟磁盘?

我不在乎它到底是哪个文件系统,我只需要文件路径以区分大小写的方式工作。

也许是一种类似于 Linux 机器上的 samba 共享的行为,它启用了区分大小写。那将是完美的,除了我需要将磁盘存储在本地。

是否有任何驱动程序/工具?

我已经尝试了几个用于 Windows 的 ext2 驱动程序,但它们不能用于此目的:((http://www.fs-driver.org/和http://www.fs-driver.org/)

windows windows-7 filesystems virtual-drive

6
推荐指数
1
解决办法
1709
查看次数

如何访问 Windows 上区分大小写的路径(使用 Bash-on-Ubuntu-on-Windows 创建)?

Bash-on-Ubuntu-on-Windows 支持区分大小写的文件路径。这意味着我可以创建两个名称仅大小写不同的文件或目录。但是,我在访问这些文件时遇到问题。

跑步

bash -c "touch Magic ; mkdir magic ; echo Secret! > magic/secret"
Run Code Online (Sandbox Code Playgroud)

在该目录中创建一个文件名Magic、一个名为的目录magic和一个文件名secret。

bash -c "ls -lR" 产量

.:
total 0
drwxrwxrwx 2 root root 0 Aug 23 10:37 magic
-rwxrwxrwx 1 root root 0 Aug 23 10:37 Magic

./magic:
total 0
-rwxrwxrwx 1 root root 8 Aug 23 10:37 secret
Run Code Online (Sandbox Code Playgroud)

(我不确定为什么会得到root,因为它不是默认用户,但这似乎与我的问题无关。)

Windows 资源管理器显示: Windows 资源管理器显示文件和目录

现在,虽然bash可以轻松访问magic/secret目录中的文件,但 Windows 似乎将目录和文件视为一回事。所以双击目录我得到一个“目录名无效”的错误 dbl 单击目录时出错

使用 也是如此cd,因为我被The directory name is …

bash windows-explorer filesystems windows-10 windows-subsystem-for-linux

5
推荐指数
1
解决办法
2498
查看次数