Skip to content

Linux (and Git)

当你看到这一章的时候,你应该已经熟练掌握了如何使用 Windows 系统,并且已经学完了一门语言,这时候开始实践这一篇章才是合适的。当然,在此之前,先看一看介绍来了解一下详情也是可以的。

有一种说法,Windows 是「弱智」的操作系统,Mac 是设计者的操作系统,而 Linux 是开发者的操作系统。前两者的描述并不准确,但最后一个却十分的恰当。市面上基本上全部的服务器都是用 Linux 进行管理,包括将来你在人工智能领域中训练模型所使用的服务器,因此学习 Linux 的基本使用是非常重要的一件事情。

笔者推荐读者可以在自己的 Windows 电脑上安装 Ubuntu1 双系统,我 之前的博客 非常详细的讲解了这些内容;同时直接租赁一个服务器也是值得推荐的,市面上现在大多数的显卡服务器都是按量付费,1小时也就几块钱,随用随停倒也不算很贵;而与此同时,网络上使用虚拟机安装 Ubuntu 的教程也很多。

在这里简单解释 Ubuntu 和 Linux 的关系,本质上我们在说 Linux 系统的时候,实际上是在描述使用了 Linux 内核的一系列操作系统,这些操作系统在内核的基础上提供了图形化支持以及各种各样的包,使得其成为一个真实可以供开发使用的系统。在众多操作系统中,Ubuntu 以其易用性脱颖而出成为了深度学习研究者的首选,不出意外在将来的时间里读者只会见到这一个操作系统,因此也没有必要学习其他来节外生枝。但可以简单提一句的是,对于一些更加极客的开发者来说,他们会使用 Arch[^archlinux]。

当你开始使用 Linux 操作系统,这意味着需要熟练使用命令行操作,简单向大模型提问,「向我介绍一下 Ubuntu 操作系统常见的命令行」,就可以获得你想要的答案,因此在这里不展开介绍。事实上,绝大多数时候你还是在图形化界面中按照 Windows 的操作逻辑进行操作,只有在需要运行你的代码的时候,你需要用命令行连到服务器,并使用 cd 移到路境下,conda 激活环境,并且 python 运行程序。

此时也可以向推荐另一个计算机扫盲的网站,这其中讲解了一些计算机的其他常识,同时简单介绍了 git 这个工具,这一版本管理的工具将在日后派上巨大用处,而廖雪峰专门为其 撰写的教程 也值得推荐。

Git 是一个非常重要的工具,关于如何进行版本管理、多人协作以及参与开源社区,可以说某种程度上,在任何的编程项目中初始化一个 git 仓库都是很正常的事情,上述的扫盲网站中关于 Git 的章节 笔者尤为推荐,这是你几乎必须了解的概念以及必须掌握的技巧。

当然,事实上上述的全部需求,在实战中一步一步向大模型提问也可以解决,所以实践出真章,在实践中学习也是一个好的选择。同时,对于想要进一步了解 Linux 系统的读者来说,阅读 Linux 101 是一个很不错的选择。

  1. Ubuntu 是一个基于 Debian 的开源 Linux 发行版,以易用性和社区支持著称,适合个人用户、开发者和服务器部署使用。它由 Canonical 公司维护,提供定期更新和长期支持版本,是最流行的桌面 Linux 系统之一,也广泛用于云计算和容器化环境。