Windows 与 Linux/Unix 的比较

Windows 与 Linux/Unix 的比较

在 Windows 上,C:\ 相当于 UNIX/Linux 上的什么?

在 Windows 上,C:\Users\me 相当于 UNIX/Linux 上的什么?

在 Windows 上,C:\Windows\System32 相当于 UNIX/Linux 上的什么?

我不太确定这些。谢谢!

答案1

C:\/

C:\Users\me/home/me

C:\Windows\System32到处都有,取决于你在寻找什么。

  • 其中很多生活在/usr/bin
  • 不常用的命令是/usr/sbin
  • 配置在/etc(没有这样的注册表)
  • 日志在/var/logs
  • 字体 - 您必须查找 XWindows 的安装位置。具体位置取决于版本
  • 不知道驱动程序文件夹在哪里 - 它只是工作,所以我不关心这一点

C:\Program Files并且C:\ProgramData也在/usr/bin或在/var

答案2

电动汽车中的火花塞相当于什么?

Windows 和 Linux 完全不同。它们有一些相似之处,但它们对目录树的处理方式却大不相同。

视窗,你有几个根目录称为驱动器并用字母指定。这些通常也是文件系统根。Windows 从 DOS 继承了此方案。

Windows 本身通常安​​装在 上C:,但这不是必须的。之所以通常安装在 上C:,是因为A:B:是为软盘驱动器保留的(也是由于其 DOS 遗留),安装程序会选择第一个可用的驱动器号,即C:。除此之外,C:没有任何意义。它也可以是任何其他字母。只有A:B:曾经是特殊的,但现在不再是了。您可以根据需要使用它们。Windows 默认会避免使用它们。

因此基本上您拥有与物理设备上的分区相对应的驱动器,每个驱动器都有一个文件系统并存储一些文件。

Linux采用从 UNIX 继承而来的完全不同的方法。只有一个名为 的根目录/。它可以对应于物理设备上的文件系统,但也可以完全存储在 RAM 中。(实际上,每次 Linux 启动时,它都会首先将一个小的文件系统加载到 RAM 中,使用它来加载一些驱动程序 - 特别是存储驱动程序 - 然后用磁盘上的文件系统替换它,丢弃内存中的文件系统。)

/目录可以包含其他文件和目录。每个目录都可用于另一个文件系统。挂载的文件系统的内容将看起来就像是其挂载所在目录的内容一样,从而有效地创建由多个文件系统组成的单个目录树。

这种已安装的文件系统也不必存储在物理设备上。Linux 广泛使用这一点,因为在 UNIX 哲学中一切都是文件。设备、网络套接字等都以文件的形式出现在目录树的某个地方。它们不对应于磁盘上的实际文件,因为那没有意义。它们是由虚拟文件系统驱动程序提供的,它将文件读/写转换为与底层设备、网络目标等的通信。例如,要在打印机上打印文本,您只需写入代表该打印机的文件即可。(不过,从这个文件读取没有多大意义。)

视窗随着时间的推移,用户文件的位置发生了变化。基于 DOS 的 Windows 版本在设计时并未考虑多用户环境,因此最初只有一个位置来存储用户文档。如果我没记错的话,它是C:\My Documents。其他一些用户特定的内容(如“开始”菜单程序列表)存储在C:\Windows子目录中。

基于 NT 的 Windows 版本在核心上是多用户的,利用了目录C:\Users。所有特定于用户的内容都(预计)存储在其子目录中,每个用户都有一个子目录。在 Windows XP(我想?)中,添加了更多特殊用途的目录我的文件我的照片我的音乐我的视频后来,在 Vista 中,这些被移至存储在我的文件而不是在里面。还有一些与翻译相关的混乱,我不会在这里讨论。

Linux(和 Unix)从一开始就采用了多用户方法。每个用户通常被分配一个子目录/home(例如,我会得到/home/gronostaj),尽管可以使用其他位置。所有用户特定的文件都应存储在那里。特殊用途目录是可配置的,并由 XDG 标准指定;但它们不是必需的。

系统文件和程序文件(理论上)很好地隔离在视窗,在C:\Windows和下C:\Program Files。实际上并不是那么简单:64位CPU的出现引入了程序文件程序文件 (x86)。还有一些糟糕的翻译处理,加上一些程序安装到%AppData%(根据设计,只有程序配置应该驻留在其中),因为没有用户特定的软件目录。

Linux再次,对此有不同的看法 - Linux 从一开始就采用了混乱的设计,而不是像 Windows 那样将干净的原始设计变成一团糟。维基百科有一篇文章文件系统层次标准它解释了什么应该放在哪里以及它随着时间的推移发生了怎样的变化。

相关内容