经过一天的相处,你和你的新朋友相处是否融洽?你是否接纳了你的新伙伴?你是否想进一步了解她?

# 操作系统决定了性格

完成第 1 天的作业之后,你惊讶地发现,不同电脑的显示界面差别很大,操作方式也不太一样,里面安装的软件也不相同。你更喜欢哪个?

小卢老师提供了 3 台运行着不同操作系统的电脑,分别是 Linux、macOS 和 Windows。它们是当今主流三大计算机操作系统,有着不同的性格:

  • windows 经济适用,档次较低;
  • macOS 高端大气上档次;
  • Linux 是极客专用。

# Windows

绚丽多彩,善解人意,讨人喜欢,经济适用

在我国,Windows 的普及率最高,远远超过 macOS,更别提 Linux 了。Windows 被广泛使用 PC 领域,对软件和中文的支持也很不错,特别是一些大型游戏和专业软件。

# macOS

优雅端庄,追求极致,热情浪漫,消费力高

macOS 系统只能运行在苹果公司的电脑,因此使用范围较窄,但也正因如此,macOS 运行流畅,在一些专业领域广泛应用。同时 macOS 和 Linux 是亲戚关系,有相似的编程接口和命令行操作(很快会学到),所以很多 Linux 上的东西也能在 macOS 上使用。

# Linux

单纯专注,追求自由,乐于分享,甘于奉献,胸怀天下

Linux 伴随自由运动和黑客的分享精神而崛起,她天生就是多任务、多用户的操作系统,主要应用于服务器和嵌入式领域(比如安卓手机)。Linux 系统支持的硬件很多,并且更新很快,软件兼容性也很好,目前很多生物信息、科学计算、人工智能等软件都是首先支持 Linux 系统的。

虽然我们的目的是学习 Python 编程,对于初学者来说其实不需要关注操作系统的事情。但毕竟一旦选择了某个操作系统,未来一段日子里将与她朝夕相处,操作系统的性格也会潜移默化地影响到使用者。所以,为了培养 “独立之精神,自由之思想”,我建议使用 Linux 操作系统,后面的学习将会在一个叫 “Ubuntu” 的 Linux 发行版系统上进行。

# 启动你的 Linux

笔记本电脑已经预装了 Ubuntu,按下电源开关,稍等片刻将进入系统登录界面。现在输入用户密码,按下 Enter 键即可登录(前面我们说过,Linux 是多用户系统,所以你要记住你的用户名和密码哦)。

进入系统,我们会看到左侧有一个被称为 “Ubuntu Dock” 的面板,在键盘中按下 “Ctrl + Alt + T”,将会打开一个被称为终端(Terminal)的窗口,接下来我们将在这里输入一些命令来和电脑交流。

# 操作 Linux 命令

先来熟悉以下十条命令:

命令 英文解释 中文解释
ls List directory contents 列出目录的内容(这里的 “目录” 也称为 “文件夹”)
cd Change directory 改变工作目录
mkdir Make directory 创建一个目录
cp Copy files or directories 将指定的文件或目录复制到另一个文件或目录中
mv Move files or directories 移动文件或目录的位置,或修改文件或目录的名称
rm Remove files or directories 删除一个或多个文件或目录
touch Create a new file or change its timestamp 修改文件时间戳,或者新建一个不存在的文件
cat Concatenate files and print 文本输出命令,通常是用于查看某个文件的内容
echo Display a line of text 字符串输出,可以通过重定向将内容输出到文件
pwd Print name of working directory 显示工作目录的路径名称

现在,我们在前面打开的终端中输入这些命令,在终端中你会看到有一串提示符,就像这样:

其中,rudy 是当前登录的用户名称,OptiPlex-7050 是机器的名称,它们之间有一个 @ 符号隔开,接着后面有个冒号,冒号后面有个蓝色的~符号,表示当前操作的位置是在家目录(也就是 rudy 用户专属的文件夹),最后还有一个 $ 符,它在提醒你 “现在你可以输入命令啦”。大胆地输入命令吧,别忘了最后还要敲回车键(Enter 键)通知电脑你已经输入完毕了!

OK,接下来我们根据下面的提示完成练习:

  1. 打开一个新的终端;
  2. 输入 pwd 看看你现在在哪里;
  3. 输入 ls 看看当前文件夹里都有什么;
  4. 输入 touch file.txt 创建一个名为 file.txt 的文件,文件通常有个后缀(也就是 txt),文件名和后缀之间用。隔开;
  5. 输入 cat file.txt 查看文件内容(我们还没写内容,你当然看不到任何东西);
  6. 输入 echo "hello" > file.txt 命令,将会在文件中写入 hello 单词;
  7. 再次输入 cat file.txt 看看;
  8. 输入 mkdir test 创建一个叫 test 的文件夹;
  9. 输入 mv file.txt test 将 file.txt 文件移动到 test 目录中;
  10. 输入 cd test 进入 test 目录,你会发现提示符中的~变成了~/test(说明目录切换成功);
  11. 输入 pwd 看看现在的目录路径;
  12. 输入 ls 看看 file.txt 文件在不在这里面;
  13. 输入 cp file.txt file2.txt 把 file.txt 文件复制一份,并命名为 file2.txt ;
  14. 再次输入 ls 看看 file2.txt 是否存在;
  15. 输入 cat file.txt file2.txt 看看两个文件的内容是否一致;
  16. 输入 rm file.txt 把 file.txt 删掉;
  17. 输入 ls 看看 file.txt 是否真的被删除了;
  18. 输入 cd .. 切换到上一级目录(先记住: . 表示当前目录, .. 表示上一级目录);
  19. 输入 rm -r test 将整个 test 目录删除;
  20. 输入 ls 看看还能不能找到 test 目录。

不知不觉,你已经掌握了我们前面列出的十条 Linux 命令!给自己一点掌声吧~

什么?你还没掌握?赶紧多练习几遍!

操作命令截图

# 文本编辑器

前面我们用 echo 命令往文件中写入了一个单词 “hello”,那我们想多写点内容怎么办?

接下来我们会使用一个叫 vim 的编辑器。打开一个新的终端,输入 vim file.txt 命令,意思是使用 vim 工具打开 file.txt 文件,如果这个文件不存在,则创建一个。

但是你随便敲几个字母发现根本没有显示出来!这是因为模式不对,vim 有三种模式,分别是命令模式、编辑模式和末行模式。当你启动 vim 时,初始状态是命令模式,你可以 i、a 或 o 三个字母中的任意一个,即可切换到编辑模式,进入编辑模式之后就可以往文件写东西啦。

在编辑模式下按下 Esc 键,则切换回命令模式。假如这时候你写完内容想保存,则在命令模式下按冒号键切换到末行模式,输入 w 回车保存文件,输入 q 则退出 vim,如果你想保存后直接退出,则输入 wq

现在,你只要学会编辑文本、移动光标、保存、退出这几个功能就可以了。

练习三种模式的主要功能

  • 命令模式:复制、粘贴、删除、移动光标、查找
  • 编辑模式:编辑文本
  • 末行模式:保存、退出、替换

编辑模式下的一些操作

  • 用鼠标任意的选中某行,就是已经复制完成了。在容易的地方按下滚轮即粘贴(Linux 的一种特色)
  • 按 ctrl+n 可以实现单词补全。(单词必须是当前文件中的单词,如果不存在则不能补全)

命令模式下的一些操作

  • 向右移动一个单词:w
  • 向左移动一个单词:b
  • 向右移动 80 个字符:80 右箭头(数字和方向,可以随意选取)
  • 快速向左向右移动光标:ctrl + 左右箭头
  • 移动光标到行首:0
  • 移动光标到行尾:$
  • 移动光标到文件最后一行:G
  • 移动光标到文件第一行:1G(数字可以随意选取)
  • 复制光标所在行开始的 2 行:2yy(数字可以随意选取)
  • 将复制的行粘贴到光标所在行的下面:小写 p(小写是下面大写则是上面)
  • 删除光标所在行开始的 3 行:3dd(数字可以随意选取)
  • 删除光标开始到单词结尾:dw
  • 删除光标开始到行首部分:d0
  • 删除光标开始到行尾部分:d$
  • 撤销上一步的操作:u
  • 重复前一步的操作:ctrl+r
  • 重复前一步的操作:ctrl+r
  • 查找 root: /root   按 n 或 N 向下、向上继续查找(root 是文件中的全部单词)

末行模式(:属于指令的一部分)

  • 存盘指令:w

  • 另存指令:w 文件名

  • 存盘并退出指令:wq

  • 退出指令:q

  • 强制退出不存盘指令:q!

  • 将光标定位到第 3 行 指令 :3(数字可以随意选取)

  • 将光标所在行的第一个 A 字母替换为 B 字母的指令 😒/A/B

    • (如果要替换行中的所有的 A,则需要加上字母 g 为:s/A/B/g)
    • (如果要替换文件中的所有的 A,则需要在加上 % s 为:% s/A/B/g)
    • (如果要替换文件中指定的行数,则需要变为:2,10s/A/B/g(数字可以随意选取))
    • (如果要替换文件中指定的行数到最后一行,则需要变为:2,$s/A/B/g(数字可以随意选取))
  • 显示出行号的指令:set nu

什么?太难了你要走啦?

好吧,其实除了 vim 这种命令式的编辑器,在 Linux 上我们还可以使用很多图形界面的编辑器,比如 gedit 和 Sublime Text,以及一些办公软件。

在图形界面中,刚刚我们费劲脑汁去记的命令都不用管了,比如复制、粘贴、编辑、查找、替换、保存、退出等操作都可以在菜单栏中找到,用鼠标点点点就能完成。

gedit 编辑器

Sublime Text 编辑器

对于这些编辑器,常用快捷键有:

  • Ctrl + C:复制
  • Ctrl + V :粘贴
  • Ctrl + F :查找
  • Ctrl + S:保存

注意:这些快捷键操作在 Linux 和 Windows 上都可以使用,如果是 macOS,则需要把 Ctrl 键换成 Command 键。

# 作业

(1)给你的电脑安装 Ubuntu 系统。

(2)反复练习 Linux 命令,直到不看文档也可以完成上面的练习。

(3)对比 Vim 和图形界面编辑器,找出它们的异同点。

(4)使用 Microsoft Office 分别新建、编辑、保存 Word、Excel、PowerPoint 文档,同时观察其文件名后缀。