独不迁的秋橘斋 忘却是自由的一种形式。

第 0 章:课程简介和 Linux 与 Shell 入门

欢迎来到 Maki’s Lab 计算机科学与信息技术组开设的 CSE1A10 程序设计导论!

第 0 节

接下来,让我们谈一些关于我们课程的内容。

关于本课程

程序设计导论,顾名思义,本课程主要探讨一些我们在进行程序设计时离不开的一些工具。

简明计算机发展史演义

是的,我给这段取名叫做演义,因为我并没有专门研究过计算机和计算机科学发展史,因此我无法保证完全严谨,因此大家也只需要将它当作演义故事来听就好。

用于计算的设备其实从古时候就有了,例如大家舒熟悉的算盘,便是一个典型。而人们想要 “保存” 对数字的记忆更是可以追溯到结绳记事。而我们的故事要从帕斯卡说起。

adding machine

上面这个机器便是帕斯卡发明的滚轮式加法器(Pascal’s calculator),它之所以被发明出来,是因为帕斯卡当时正是以为税务监督员,平日繁杂的计算让他烦躁不已,这个年轻的数学天才因此就发明了这种滚轮式加法器(或者叫 “帕斯卡计算器”),它的工作原理相当简单———我们可以看见我们图片上的计算器有六个拨盘,上面有显示数字的区域,因此我们它最多可以显示六位数。例如我们要计算 123 + 377 这个运算,我们就在百位(也就是倒数第三个转盘),在指向一的位置的隔片顺时针转动金属触点,然后我们能看到显示数字的区域显示了 “123” 的百位 “1”,我们以此类推,在十位输入 “2”,在个位输入 “3”。我们便能看到我们的显示区域显示了 “123”。这时候,我们继续回到我们的百位,将指向三位置的隔片推到金属触点,我们会看见 “1” 变成 “4”,以此类推,但到了个位数时,帕斯卡加法器发现我们输入的数字 “7” 和原来的数字 “3” 的和大于九之后,就会自动向十位进一位,而十位的 “9” 进了一位,也变成了十,因此会再进一位,最后显示数字的区域会变成 “500”。

而加法器,加法器——正如它的名字一样,它只能应付加减法(将齿轮逆时针拨动)。而这时,就到了一个叫做巴贝奇的人出场。当时他接到工作,

为什么要用 Linux 呀?

本课程我们将会使用 Ubuntu(当然,我们对 Windows 用户更加友好的 WSL,如果你愿意使用实机安装 Ubuntu 那也是再好不过的)进行教学。

原来可以用 WSL!

WSL 也即是 Windows Subsystem for Linux(适用于 Linux 的 Windows 子系统)。

内核?发行版?它们什么区别吗?

提到 Linux,如果你有一些相关的了解,可能知道 Ubuntu, Debian,Redhat,OpenSUSE 之类的东西。它们和 Linux 有什么关系吗?事实上,它们都是 发行版,你可以理解成基于 Linux 的内核,加上一些独特的工具,就组成了各具特色的 发行版

什么是 Shell?

文字接口。

让我们的手脏起来!

理论全是灰色,敬爱的朋友,

生命的金树才是长青。

——《浮士德》

Get your hands dirty!我们已经了解了不少关于 shell 的内容,这时候就来动手试一试我们讲过的内容!

不要看见 shell 就害怕!我们这门课用不到太多复杂的指令,跟着我一步一步来:

首先,我们输入 ls,也就是 list。它的用途就是列出我们当前目录中的所有文件。因为我们刚刚设置完 WSL,所以 shell 并没有任何输出。

既然如此,那我们就创建一个文件夹吧!专门存放我们 CSE1A10 的资料。我们输入:

$ mkdir cse1a10

然后我们在输入 ls 命令。我们能看到有一个蓝色的 “cse1a10” 被输出了!这就是我们的文件夹。

ls 还可以展示出更多的信息,让我们输入:

$ ls -l

包管理器

在本课程中,我们使用 Ubuntu,而 Ubuntu 是基于 Debian 这个发行版再开发的。所以 Ubuntu 也可以使用 Debian 的 deb 软件包,而 deb 的包管理器,我们一般使用 dpkg,它可以方便的帮我们安装、卸载一个 deb 软件包。但是现在,我们有一个更强大,更灵活的,基于 dpkg 的前端 aptapt 可以非常方便的帮助我们搜索、安装远程服务器上的 deb 软件包,让我们试试吧!

$ sudo apt install tldr

让我们进入 Vim 吧!天啊!等等!

好的!那么我们已经使用 touch 创建了一个文件,那么让我们试着编辑一下它吧。你可能已经听到很多人说 Vim 或者 Emacs 是相当强大的工具。那我们先来试试 Vim 吧!我们在控制台输入:

$ vim test.txt

好的!我们很顺利的就在我们的终端里看到了 vim 的界面。我们随便按几个键。嗯?怎么没反应?哎!是不是程序卡住了?我退出程序再重新打开这个文件吧。哦!天啊!我要怎么才能退出这个 vim?

看来我们遇到了一个大问题,要怎么解决呢?直接拔掉电脑的电源肯定是一个过于粗暴的方法了。但是时间到这里也差不多了,这个问题我们就留在下节课解决吧,毕竟创造一个悬念(或者说一个大麻烦)是激起你兴趣最好的方法,那也让我用这个方法吊住你的胃口吧。

第 1 节

好了好了,我知道你的电脑已经尴尬的显示 vim 的界面很久了(或者说你已经关机重启了?)让我们先退出 vim 吧。这个过程有些复杂,请跟着我一步一步做。