「蓝桥」认识 Linux

为了让你今后的学习更舒畅,我们今天先来学习一下 Linux 系统~

知识点

  • Linux 简介
  • 实验环境的使用
  • Linux 终端
  • Linux 目录结构
  • Linux 文件的基本操作
  • 总结

Why Linux

Windows 可能给了你电脑启蒙,但在计算机世界里,Linux 的地位比 Windows 更加重要,没有 Linux 就没有现在的互联网生态。

迄今为止,80% 以上的智能手机,都使用着基于 Linux 内核的 Android 系统;全球排名前 500 的超级计算机中,98% 在用 Linux;绝大部分你所使用的互联网产品,也都运行在 Linux 系统的服务器上……

与 Windows 相比,Linux 可能没那么容易上手,但却是用来学习计算机技术最好的工具。进程、线程是什么?文件是如何管理的?网络如何互联?书本上的解释始终是云里雾里,但通过亲手在 Linux 中操作,你会恍然大悟:原来这些概念是这么回事。

Linux 提供了一个驱动力,让你去接触和掌握计算机的核心秘密。在 Linux 出现以前,这些秘密只有极少数精英才能掌握,现在变成了全世界每个人都可以平等享用的盛宴。

同时 Linux 是一个安全、稳定、自由的系统,你可以把它定制成任何你想要的样子。在企业里,非常多的 IT 技术工程师都会用 Linux 作为开发机,也会把 Linux 打造成 Web 或数据库服务器等。Linux 的用途还有很多,等着你去探索~

Linux

进入实验环境

根据课程的不同,实验楼提供了 4 种实验环境,分别为:桌面环境、终端环境、Jupyter Notebook、Web IDE。而本课程和实验楼的大部分课程,使用的都是你眼前的 Linux 桌面环境。

实验桌面上的程序包括下面几类:

  • Xfce 终端Linux 中控制电脑的窗口,打开它你可以通过 Linux 命令控制电脑的一切。Linux 中很多操作都需要输入命令来进行,这一点与 Windows 上依靠鼠标操作是不同的,这个输入命令的入口就叫「终端」
  • Firefox 浏览器:浏览器,可以用在需要前端界面的课程里。
  • GVim:一款好用的 Vim 编辑器,具体用法可参考课程 Vim 编辑器
  • geditSublime:同样是代码编辑器,如果你对 gvim 的使用不熟悉,可以用这两个作为代替。

双击桌面上的 Xfce 终端 打开终端,依次点击菜单上的 编辑 - 首选项, 可以修改终端的背景、字体、字号、光标样式等属性,右下角的输入法图标可以切换输入法。

右下角的输入法图标可以切换输入法

学习前的心理建设

Linux 的基本操作主要分为「目录操作」和「文件操作」两部分,在以后的学习中你会常常用到。

💡 提前的心理建设:

对于从未接触过 Linux 的同学来说,下面介绍的命令有些多,记不住会很烦躁,在这里要提前告诉大家:

不用硬记!
不用硬记!
不用硬记!

学习 Linux 常用命令,有点像学习 Windows、Mac 或者 PS、Word 的 快捷键,死记硬背是没有用的,在使用中多操作几次,自然就记住了。

下面的这些操作,希望你都能在环境中跟着敲一遍,最后整理成一个 脑图 或 笔记 ,以后忘了命令时随时翻阅。相信几次之后,你想忘都忘不掉了。

Linux 目录操作

首先我们来学习 Linux 目录的常用操作命令。

Linux 的目录类似于 Windows 系统中的文件夹。我们看一下刚刚打开的 终端 界面,它的第一行开头是:

shiyanlou:~/ $

这就代表着你当前所处的目录位置:打开终端后,会默认从当前的用户目录开始操作,这就好比你打开“我的电脑”,会默认显示所有磁盘的目录。

shiyanlou 代表你当前的用户名,如果你的用户名叫 tony,就会显示 tony:~/ $。后面的美元符号 $ 是「命令提示符」,提示你:请在它后面输入命令。

💡 查看目录中的内容:ls

我们来输入第一个命令:在 $ 后输入 ls ,可查看当前目录下的文件和目录。

图片描述

可以看到当前目录下,有 Code 和 Desktop 两个目录。(蓝色字代表是目录,白色字代表是文件)

💡 进入目录:cd

使用 cd 命令可进入其他目录,如果想进入 Code 目录,请输入(注意区分大小写):

cd Code

即可进入 Code 目录。

快捷操作

常用快捷键:

按按键盘的 上下键 试试? 可快速选择前面输过的命令。

输入 cd .. 可以回到上一级目录,类似 Windows 的「向上」。

cd ..

cd - 表示回到上一次所在的目录,类似 Windows 的「后退」。

cd -

cd ~ 表示回到当前用户的主目录,类似 Windows 的「回到桌面」。

cd ~

cd / 表示进入根目录,它是一切目录的父目录

cd /

全试过一遍后,我们输入cd ~ 返回用户主目录,继续后面的学习。

💡 注意:上面的快捷操作,符号都必须是英文符号,否则会报错。

查看目录结构:tree

使用 tree 命令,可以列出一个文件夹下的所有子文件夹和文件(以树形结构来进行列出)。

tree

下图为 Linux 操作系统目录结构的简介,最左边就是根目录:

还记得怎么进入根目录吗?我们来点刺激的,输入:

cd /

再输入:

tree

执行指令后,终端会像走马灯一样,遍历出系统里的所有目录和文件,这时按下 ctrl + c 键即可停止。

绝对路径

Linux 进入目录的方式有绝对路径相对路径两种。

之前我们都是用 相对路径 进入目录的,这相当于你在 Windows 系统下,在当前文件夹中点击下一个文件夹进入;

绝对路径 是一个以根目录 / 为起点的完整路径,如: /home/shiyanlou/Code,可以类比 Windows 上的 C:\Users\电脑用户名\Desktop

使用 pwd 命令可以获取当前目录的绝对路径:

有了绝对路径后,不管你当前在哪个目录下,都可以通过指令进入指定目录:

cd /home/shiyanlou/Code

💡 提示:如果忘记了目录名、文件名或命令,可使用 Tab 键自动补全,还可避免输入错误;连续按两次 Tab 可以显示全部候选结果。

新建目录

使用 mkdir 命令可创建目录,mkdir mycode 的意思就是新建一个名为 mycode 的目录。

先输入cd ~ 返回用户主目录,然后练习一下:

还可以在 mkdir 后加入 -p 参数,一次性创建多级目录,如:

请按照上面的步骤,尝试一下创建多级目录的操作,然后点击「下一步」按钮~

Linux 文件操作

下面是 Linux 中对文件的常用操作,包含新建、复制、删除等。

💡 新建空白文件

使用 touch 命令可以新建文件,比如我想再新建一个名为 “hello” 的文件,可输入:

touch hello

“hello” 文件就被创建出来了,用 ls 命令查看一下:

touch命令

(该命令不会覆盖已有同名文件)

💡 复制

使用 cp 命令(Copy)复制文件到指定目录下,比如要把 hello 文件复制到 one/two 这个目录下:

cp hello one/two/
tree one

如果要复制目录,需要在 cp 后加上 -r ,然后接上 目录名 目标目录名

mkdir test
cp -r test one/two
tree one

上面的操作中,我们先新建了一个 test 目录,然后把它复制进了 one/two 这个目录中,再通过tree one 直接查看 one 的目录结构。

💡 删除

使用 rm 命令删除文件:

ls
rm hello
ls

删除目录要加上 -r 选项,类似 cp -r 拷贝目录,会删除目录和目录下的所有内容:

mkdir test
ls
rm -r test
ls

💡 移动文件 / 目录与重命名

使用 mv 命令可以移动文件或目录。

首先,我们进入到 /home/shiyanlou 目录,使用 touch 创建空文件 test1

cd ~
touch test1

然后,我们创建一个新目录 dir1ls 查看一下

mkdir dir1
ls

使用 mv 命令 将 test1 移动到 dir1 目录,代码如下:

mv test1 dir1

然后进入 dir1 目录查看一下

cd dir1
ls

mv 命令还可以用来重命名,如 mv test1 test2, 会把 test1 重命名为 test2

ls
mv test1 test2
ls

查看文件内容

使用 cat 命令,可以将文件中的内容打印到屏幕上,使用方法是 cat 文件路径

现在还没有文件,我们先从其他地方复制过来一个:

cp /etc/passwd passwd
ls

这样就把 passwd 文件从 /etc 目录拷贝到了当前目录中,然后我们用 cat passwd 显示文件中的内容:

cat passwd

使用 cat -n 可以带行号地打印文件内容:

cat -n passwd

编辑文件

写代码需要用到文本编辑器,这里给新手推荐两个简单、好用的编辑工具:geditSublime

SublimeText

Sublime Text 是一套跨平台的文本编辑器,支持基于 Python 的插件,支持语法高亮,具有轻量、入门简单等特点。

实验环境中内置了 Sublime Text2 编辑器,点击实验环境左下角 应用程序菜单 - 开发 - sublime 即可打开:

启动 sublime 后,依次点击菜单栏的 File - New File 或 按下ctrl + n,可以新建文件,然后在 sublime 中写入以下内容:

hello shiyanlou

然后按 ctrl + s 保存文件到桌面,命名为 hello

在终端中查看一下:

测试成功!

gedit

gedit 是 Linux 系统自带的文本编辑器,比 Sublime 更简单,我们会在以后介绍。

有一定基础的同学,也可以使用 Vim 编辑器

Vim 编辑器是功能强大的跨平台文本文件编辑工具,支持 Linux / Mac OS X / Windows 系统。Vim 素有编辑器之神的称号,但学习曲线陡峭,需要系统学习才能使用好它。

实验楼有系统的 **Vim 教程**,但不建议现阶段学习(自带劝退属性),先学会 Python 才是正经事。

帮助命令

在 Linux 环境中,如果你遇到困难,可以使用 man 命令,它是 Manual pages 的缩写。例如输入 man cat ,可以获取 cat 命令的详细的帮助文件。进入到 man 的页面后,按 q 可以退出 man。

有些命令可以使用 --help 选项查看帮助文档。

对于初学者而言,查看帮助信息的文档未必看得懂,所以寻求帮助的最佳途径是:

利用互联网和搜索引擎去快速查找相关命令的使用范例,并亲自在 Linux 上进行模仿练习。

超级重要的总结

“第一节课程的学习就要结束了,但结束之前,小楼还有一些压箱底的东西要告诉你。”

想要成为编程世界中的王者,必须做到三件事:

「练习」
「思考」
「总结」

在今后的学习中,你表面上是在修炼 「编程能力」,同时也在修炼「学习能力」。这两种能力,都能确定地提高你未来的地位和收入,并决定你的人生尺度。

这个世界进步得太快:算盘被计算器取代、纸张被电子产品取代、农民和矿工被现代化机械取代……甚至设计师、文案这种创造性的工作,也会被人工智能取代。

但如果,这世界需要我们学什么的时候,我们都可以主动去学,并且很快学好,那么 —— 焦虑、担心这些负面情绪将不复存在,你会变得更快乐,也会比身边 99% 的人走得更远。

其实能看到这里的你,已经站在 90% 人的前面了,接下来,我们会继续通过文字和任务,去引导你培养这两种能力。

当然,最最最重要的,还是你自己去「 做 」

这节课结束之后,交给你两个简单但非常重要的「任务」

任务1、课后总结

找一个脑图或笔记工具,把今天学到的知识点总结进去,并用自己的语言进行注解。

你可以使用 XMind 免费版(需下载),或 幕布 (笔记工具,可在线编辑),或其他任何脑图、笔记工具。

你的总结应该类似这样:

任务2、完成课后练习

第二个任务是一个课后挑战:用今天学到的 Linux 基本操作,完成一个综合练习。

题目很简单,却是你迈向独立思考的重要一步,请务必完成。

(点击上方的「章节列表」,选择下一个实验「创建代码文件」,即可进入挑战)

我在前面等你~

挑战:创建代码文件

介绍

在这个挑战中,你需要在指定的目录下创建一个代码文件,然后拷贝到指定的目录。

挑战全程在 Xfce 终端中操作,忘记命令时可以翻阅上节的笔记,这是你的第一个挑战,加油!

目标

  1. 请在 /home/shiyanlou 目录下创建 shiyanlou.py 文件。
  2. 在文件中输入以下内容:
print('hello shiyanlou')
  1. 进入 Code 目录,新建名为 test 的目录,然后将刚创建的 /home/shiyanlou/shiyanlou.py 文件复制到目录 /home/shiyanlou/Code/test 中。

提示语

  1. touch 创建文件
  2. 可使用 Sublime、gedit、Vim 等编辑器
  3. mkdir 创建目录
  4. cd ~ 返回 home 目录
  5. cp 复制
  6. 使用 Sublime 写入代码后,注意保存的位置。

请务必注意文件的路径,确保文件路径为 /home/shiyanlou/shiyanlou.py/home/shiyanlou/Code/test/shiyanlou.py。可使用 pwd 命令自查,否则将无法通过检测。

知识点

  • Linux 目录结构
  • Linux 文件操作
  • cp 命令
  • mkdir 命令

作者: Hugh

Welcome to Wan's world~