作为一个前 Windows 用户如何适应 Linux?

作为一个前 Windows 用户如何适应 Linux?

我全职使用 Linux 已有大约 8 年了。有时我会帮助别人从 Windows 迁移到 Linux。因为我不经常使用Windows,所以我经常发现自己忘记了操作系统之间的一些差异。

我想要一份可以为此类用户提供的指南,以帮助他们更轻松地使用 Linux。该指南应包括驱动器安装系统(C:\bar\/foo/bar/)和软件安装等内容。

有很多名为“从 Windows 迁移/移动到 Linux”或类似内容的指南,但几乎所有指南似乎都充满了 Linux 宣传或安装说明。对于其他目的来说这很好,但我想要为那些已经决定搬家的人提供一份指南(例如,因为他们喜欢开源的概念),并且已经为他们安装了系统。所以安装后“我已经从 Windows 迁移到 Linux,现在怎么办?”涵盖的指南类型实际的普通 Windows 用户(使用计算机进行网上冲浪、文档编辑、电影观看、玩游戏等的人)可能会遇到的差异(即非哲学或高技术性)。有这样的指南吗?

答案1

Microsoft Windows 和 GNU/Linux 以及其他类 UNIX 系统都基于截然不同的用户交互方法。事实上,最烦人的事情之一是当人们试图映射概念时,例如,当有人抱怨某些发行版默认情况下不提供图形登录屏幕,因为它是“反直觉的”(阅读:它违背了人们的期望)一生都在使用 Windows NT 的人)。

对此最好的建议是:把你的期望留在门口,不要寻找“等同物”,相反,将其视为你正在尝试学习的一门与你的母语截然不同的外语。询问如何做到这一点以及如何做到这一点将帮助您学习一些东西,但请始终记住,您需要学习一种新的逻辑,一种新的哲学,您开始学习的系统背后的设计决策和期望使用与您原来的系统有很大不同。

恕我直言,一个好主意确实是总结一些更重要的差异,以便新人熟悉它们并知道有什么需要学习。

  • 就像 sr_ 提到的,命令行。即使 Windows 的非 NT 分支是在命令行操作系统之上启动的,它也与 UNIX shell 相差甚远。

    • 告诉用户有关 shell 的信息以及可以用它们做什么,如果他们了解 MS-DOS 或 Windows 命令提示符,则警告他们功能和特性与很多,例如,了解 UNIX shell 的人可以同时对一堆文件执行多项任务。那它可以让您从小型、简单的实用程序构建块。 UNIX shell 是许多人在 UNIX 世界中日常生活所需要的唯一东西。
    • 向用户解释 shell 和终端(或终端仿真器)之间有更清晰的分离也是我要做的一件事,这将有助于消除将来可能出现的一些误解,并提供一个 UNIX 领域的选择示例。 Shell 是您用来运行命令、启动程序和执行操作的工具外壳脚本。有几个贝壳。
    • 与 Windows NT 不同,Windows NT 启动图形界面并从图形环境启动内容,X 更像是 UNIX 下的用户程序,您也可以从文本终端启动,即使许多发行版默认启动一些图形环境。启动时的登录屏幕。
  • 文件系统

    • 不同的规则,不同的约定。你可以使用你想要的文件名,但不仅仅是被皱眉,空间实际上会在很多地方破裂。告诉他们避免在名称中使用空格可能是个好主意,如果他们想使用脚本进行一些批处理,这会省去一些麻烦。
    • 没有单独的根对于不同的文件系统,有一个/可以统治它们。一旦安装,您就无法完全看到一个文件系统与另一个文件系统之间的区别(除非由于文件系统限制而不允许您执行某些操作,例如 FAT 中的名称)。
    • 告诉他们可能会很有趣链接,它们实际上在 Windows NT 下可用,但最终用户并不经常使用。并解释说这是不是与“桌面快捷方式”同义。
    • 传统的方法是将文件系统列在fstab.尽管存在一些技巧可以处理您朋友拥有的带有一些随机文件的随身碟,但值得一提的是有一个fstab以及它的作用。然后告诉他们有关pmount或其他可以让他们即时安装随身碟的工具。
  • 权限:处理可热插拔的设备(例如笔式驱动器)或用于写入内容的设备(例如 DVD 刻录机),或者网络摄像头和蓝牙适配器,需要用户拥有使用设备的权限。这是一件好事,但有些用户可能会对此产生冲突,以至于有些人甚至开始制作工具,为通过图形登录屏幕登录的人提供自动使用这些设备的权限……Windows 也有类似的分离,但是由于设计糟糕的工具的反馈循环在非管理员帐户上失败,这不鼓励人们在 Windows 下使用非特权帐户,人们最终基本上不知道将管理帐户保留为管理帐户的想法目的,使用不太特权的帐户使用其他一切。我认为微软甚至最终使用工具来放弃某些进程中的特权。告诉他们susudo(如果他们使用那个),大约用于权限管理的组(例如 Plugdev 和 Gentoo 下的游戏)。

    • (同时,警告他们,组中的更改只有在从真实终端登录后才会生效,任何运行帐户都不会看到这一点;我不知道 Windows 是如何做到这一点的,但我见过很多人与此发生冲突...)
  • 选择:做同样的事情有很多方法,为了同样的目的你可以做很多事情。不同的 shell、不同的窗口管理器、不同的 Web 浏览器、不同的终端模拟器。提醒他们,他们看到的第一件事并不是他们唯一可以使用的东西,即使发行版默认为这一点,也可能有其他选择。
  • 包管理:告诉他们 Linux 如何处理包管理,并提示盲目地从包管理器中安装包不是一个好主意就像您从程序网站下载普通的 .EXE 一样。

长话短说实际上应该是:不要假设事情与 Windows 类似,请记住,您正在处理不同世界中的不同操作系统。

答案2

一个主要区别是 Linux 系统(实际上是一般的类 UNIX 系统)上的命令行更加可用。就这样命令行简介牙线手册网也许不是最糟糕的开始。

它涵盖了基础(语法、动作)、高级(例如管道、进程、文件系统结构)和高级主题(例如权限、SSH、安装软件)以及各种文本编辑器、有关脚本编写的基础知识...哦,和词汇表这对于初学者来说可能有用。

答案3

您能做的最好的事情可能是 1) 请记住 Linux 不是 Windows,并且其行为并不总是像 Windows 一样;2) 阅读您正在使用的窗口管理器的文档,而不是 Linux 文档。

如果你只想成为一名用户,那么阅读 Linux 文档可能不是你想要的。不过,像 Mint 这样的用户友好发行版可能比其他发行版拥有更好的用户文档。

相关内容