A brief introduction to Linux

1 minute read

Published:

This is a brief introduction to installation and basic instructions of Ubuntu system. At the same time, it introduces the basic use of vim, replacing apt sources and using oh-my-zsh to beautify the command terminal.

零基础Linux入门

这一系列文章是我应北京大学学生发展支持组织(SDS)邀请编写,我曾担任2021年秋季学期计算机系统导论(ics)助教,这篇文章是ics lab从0到1系列的第一篇。

万事开头难

我的命令行终端界面

本文我们介绍Linux环境的配置,从0开始,包括

  • 安装虚拟机和ubuntu系统
  • 基本的linux命令
  • vim的基本使用
  • 更换apt源
  • 使用oh-my-zsh美化命令终端

今后的文章中还会包括

  • 使用VSCode remote在本地图形界面下写代码
  • 从autolab获得writeup和handout
  • 使用gcc编译,gdb调试
  • 使用git进行版本控制

1 配置Linux环境

Linux是一大类操作系统,有很多发行版,比如Ubuntu、Debian等等,ics lab中我们通常使用Ubuntu系统。

要想在你的电脑上运行Ubuntu,你需要安装一台虚拟机,再在虚拟机中安装Ubuntu系统。

注意,如果你使用苹果M1系列芯片的电脑,建议你使用安装着linux的云服务器,比如ics课程会提供的calss machine,跳过这一节继续阅读

下载Ubuntu镜像

我们可以到Ubuntu的官网https://ubuntu.com/download/desktop下载Ubuntu 20.04LTS版本的ISO文件,当然你也可以选择别的版本,但我们建议你下载带有LTS后缀的偶数desktop版本,这些版本bug较少,在ics的lab中图形界面是有用的。

ISO文件可以理解为一个安装包,在安装时,它假装自己是一张插入电脑的系统光盘。

下载完之后放在电脑上,不用点开它,你得到了一个文件名类似ubuntu-20.04-desktop-amd64.iso这样的iso镜像文件。接下来我们安装vmware虚拟机软件

Ubuntu官网下载系统ISO文件

安装vmware虚拟机软件

我们可以在vmware官网https://www.vmware.com/products/workstation-player.html下载vmware workstation player软件,当然你也可以安装pro版本,请支持正版,但激活码也可以在网上寻找。

vmware官网下载vmware workstation player软件

你可以选择VirtualBox等开源软件替代,或者Windows10自带的Hyper-V虚拟机。

下载完vmware软件之后双击安装,一切设置都默认即可

给虚拟机安装系统

进入vmware,选择“创建新的虚拟机”,按照默认指示操作,不停下一步,其中

  • 选择“安装程序光盘映像文件”,点击“浏览”,找到刚刚下载的ubuntu-20.04-desktop-amd64.iso这样的文件
  • “客户机操作系统”选择“Linux”
  • 根据要求设置账号密码,自己记住账号密码 就这样一路默认做下去即可得到安装完的ubuntu虚拟机。

每次使用完Ubuntu之后,可以使用“挂起该虚拟机“来保持住当前工作状态,无需把虚拟机关机。

2 Linux基本命令

在哪里输命令

如果是desktop版,在虚拟机的桌面内,快捷键ctrl+shift+T可以打开一个终端,在终端里输入命令。

如果是server版,你看到的界面就是终端,可以输入命令。

我的配置和美化完之后的命令行终端如下,顺着本文一步一步做就能得到这个效果

我的命令行终端界面

基本操作命令

以下用testdir表示我们操作的目录(也就是文件夹),testfile表示我们操作的文件

  • 如果要求输入账号密码,在输入密码时不会显示,不用担心,正常输入就行
  • sudo前缀加在一个命令之前,可以提供超级用户权限
  • ./testfile前缀表示当前目录下的testfile文件,../testfile表示当前目录的上一级目录下的某某某文件
  • /是系统主目录,~/是你的账户的目录
  • ls命令可以列出当前目录下的非隐藏文件,ls -al或者ll命令可以列出当前目录下的所有文件
  • mkdir testdir可以创建空目录

输入上述命令的效果,注意到第二次ls可以看到新建的文件夹,输入的密码不会显示

3 vim文本编辑器

vim是一个文本编辑器,类似Windows下的记事本或者vscode,但它是在命令行下工作的,无需图形界面就能运行。

这里我们介绍最基本的vim用法,让大家可以用它做基本的系统配置,以后就能使用VSCode Remote(本文会介绍)来更方便的操作

我们常规的编辑操作依次是

  • 在命令行输入vim testfile打开或者新建本目录下的文件
  • 按下键盘上的i,然后看到光标,输入文字或者删除文字
  • 按下键盘上的esc,如果需要保存再退出,输入:wq,如果不保存就退出,输入:q!

如果还没有安装vim,可以用vi testfile命令来代替

下面我们具体解释指令

vim testfile可以在当前目录下打开testfile文件,如果没有testfile文件就创建一个空的testfile文件,此时跳出vim的界面


![vim状态转移](/images/Linux/vimm.png)


- 刚进入```vim```后就处于命令模式,此时底部显示文件名

![创建空文件的vim的界面,命令模式](/images/Linux/vim.png)

- 输入```i```进入输入模式,此时底部显示```-- INSERT --```,可以
    - 在光标后用键盘输入文字
    - 用删除键删除文字
    - 用方向键移动光标

![vim输入模式,底部显示```-- INSERT --```](/images/Linux/vimi.png)


- 输入完毕后按```esc```键返回命令模式
- 在命令模式输入```:```也就是```shift+;```进入底线命令模式,此时光标在底部,显示```:```,此时输入命令,回车执行
    - 输入```q!```退出且不保存编辑
    - 输入```wq```保存编辑并退出
    - 如果被提示权限不够,```q!```退出之后重来,加上```sudo vim```来打开并编辑

![vim底线命令模式,光标在底部,显示```:```](/images/Linux/vimwq.png)


总之,我们常规的编辑操作依次是
- ```vim testfile```打开或者新建文件
- 按下键盘上的```i```,然后看到光标,输入文字或者删除文字
- 按下键盘上的```esc```,如果需要保存再退出,输入```:wq```,如果不保存就退出,输入```:q!```

4 apt换源与安装软件
------

```apt```是Linux下的包管理器,可以理解为应用商店,我们可以使用命令

sudo apt install 某某某软件

来安装软件。但它下载软件速度慢,我们可以进行换源操作,换成国内阿里云的镜像,方法是把```/etc/apt/sources.list```文件中默认的```http://archive.ubuntu.com/```替换为```mirrors.aliyun.com```,以```Ubuntu 20.04```为例

cd /etc/apt/ sudo mv sources.list sources.list.old sudo vim sources.list


在```vim```里按下```i```,然后右键粘贴以下

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse


按下```esc```,然后输入```:wq```回到命令行

sudo apt update


换源完成,此时```sudo apt install```软件速度大大加快,其他版本的换源可以参考阿里云官网[https://developer.aliyun.com/mirror/ubuntu](https://developer.aliyun.com/mirror/ubuntu)

5 (可选)oh-my-zsh美化
------

可以选择安装zsh和oh-my-zsh来美化命令行

如果你的电脑没有安装```zsh```可以使用

sudo apt install zsh


来安装```zsh```,然后安装oh-my-zsh,使用命令

$ sh -c “$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)” ```

参考oh-my-zsh的官网https://ohmyz.sh操作即可,我的配置效果如下 oh-my-zsh界面