python学习第二课:Linux 系统~

知识点

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

Windows 可能给了你电脑启蒙,但在计算机世界里,Linux 的地位比 Windows 更加重要,没有 Linux 就没有现在的互联网生态。
迄今为止,80% 以上的智能手机,都使用着基于 Linux 内核的 Android 系统;全球排名前 500 的超级计算机中,98% 在用Linux;绝大部分你所使用的互联网产品,也都运行在 Linux 系统的服务器上……
与 Windows 相比,Linux 可能没那么容易上手,但却是用来学习计算机技术最好的工具。进程、线程是什么?文件是如何管理的?网络如何互联?书本上的解释始终是云里雾里,但通过亲手在 Linux 中操作,你会恍然大悟:原来这些概念是这么回事。
Linux 提供了一个驱动力,让你去接触和掌握计算机的核心秘密。在 Linux 出现以前,这些秘密只有极少数精英才能掌握,现在变成了全世界每个人都可以平等享用的盛宴。
同时 Linux 是一个安全、稳定、自由的系统,你可以把它定制成任何你想要的样子。在企业里,非常多的 IT 技术工程师都会用 Linux 作为开发机,也会把 Linux 打造成 Web 或数据库服务器等。Linux 的用途还有很多,等着你去探索~
python学习第二课:Linux 系统~
linux桌面上的程序包括下面几类:

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

python学习第二课:Linux 系统~
双击桌面上的 Xfce 终端 打开终端,依次点击菜单上的 编辑 – 首选项, 可以修改终端的背景、字体、字号、光标样式等属性,右下角的输入法图标可以切换输入法:
python学习第二课:Linux 系统~
 
Linux 的基本操作主要分为「目录操作」和「文件操作」两部分,在以后的学习中你会常常用到。

提前的心理建设:

对于从未接触过 Linux 的同学来说,下面介绍的命令有些多,记不住会很烦躁,在这里要提前告诉大家:
不用硬记!
不用硬记!
不用硬记!
学习 Linux 常用命令,有点像学习 Windows、Mac 或者 PS、Word 的 快捷键,死记硬背是没有用的,在使用中多操作几次,自然就记住了。
下面的这些操作,希望你都能在环境中跟着敲一遍,最后整理成一个 脑图 或 笔记 ,以后忘了命令时随时翻阅。相信几次之后,你想忘都忘不掉了。
首先我们来学习 Linux 目录的常用操作命令。
Linux 的目录类似于 Windows 系统中的文件夹。我们看一下刚刚打开的 终端 界面,它的第一行开头是:

shiyanlou:~/ $

这就代表着你当前所处的目录位置:打开终端后,会默认从当前的用户目录开始操作,这就好比你打开“我的电脑”,会默认显示所有磁盘的目录。
shiyanlou 代表你当前的用户名,如果你的用户名叫 tony,就会显示 tony:~/ $。后面的美元符号 $ 是「命令提示符」,提示你:请在它后面输入命令。

 查看目录中的内容:ls

我们来输入第一个命令:在 $ 后输入 ls ,可查看当前目录下的文件和目录。
python学习第二课:Linux 系统~
可以看到当前目录下,有 Code 和 Desktop 两个目录。(蓝色字代表是目录,白色字代表是文件)

💡 进入目录:cd

使用 cd 命令可进入其他目录,如果想进入 Code 目录,请输入:

cd Code

即可进入Code目录。
python学习第二课:Linux 系统~
常用快捷键:
按按键盘的 上下键 试试? 可快速选择前面输过的命令。
输入 cd .. 可以回到上一级目录,类似 Windows 的「向上」。

cd ..

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

cd -

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

cd ~

python学习第二课:Linux 系统~
cd / 表示进入根目录,它是一切目录的父目录

cd /

python学习第二课:Linux 系统~
全试过一遍后,我们输入cd ~ 返回用户主目录,继续后面的学习。
注意:上面的快捷操作,符号都必须是英文符号,否则会报错。
 
使用 tree 命令,可以列出一个文件夹下的所有子文件夹和文件(以树形结构来进行列出)。

tree

python学习第二课:Linux 系统~
下图为 Linux 操作系统目录结构的简介,最左边就是根目录:
python学习第二课:Linux 系统~
还记得怎么进入根目录吗?我们来点刺激的,输入:

cd /

再输入:

tree

执行指令后,终端会像走马灯一样,遍历出系统里的所有目录和文件,这时按下 ctrl + c 键即可停止。
Linux 进入目录的方式有绝对路径相对路径两种。
之前我们都是用 相对路径 进入目录的,这相当于你在 Windows 系统下,在当前文件夹中点击下一个文件夹进入;
而 绝对路径 是一个以根目录 / 为起点的完整路径,如: /home/shiyanlou/Code,可以类比 Windows 上的 C:\Users\电脑用户名\Desktop
使用 pwd 命令可以获取当前目录的绝对路径:
python学习第二课:Linux 系统~
有了绝对路径后,不管你当前在哪个目录下,都可以通过指令进入指定目录:

cd /home/shiyanlou/Code

python学习第二课:Linux 系统~
提示:如果忘记了目录名、文件名或命令,可使用 Tab 键自动补全,还可避免输入错误;连续按两次 Tab 可以显示全部候选结果。
 
使用 mkdir 命令可创建目录,mkdir mycode 的意思就是新建一个名为 mycode 的目录。
先输入cd ~ 返回用户主目录,然后练习一下:
python学习第二课:Linux 系统~
还可以在 mkdir 后加入 -p 参数,一次性创建多级目录,如:
python学习第二课:Linux 系统~
请按照上面的步骤,尝试一下创建多级目录的操作.
 
下面是 Linux 中对文件的常用操作,包含新建、复制、删除等。

💡 新建空白文件

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

shiyanlou:~/ $ touch hello

“hello” 文件就被创建出来了,用 ls 命令查看一下:
python学习第二课:Linux 系统~
(该命令不会覆盖已有同名文件)

💡 复制

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

shiyanlou:~/ $ cp hello one/two/
shiyanlou:~/ $ tree one
one
 └── two
      ├── hello
      └── three
2 directories, 1 file
shiyanlou:~/ $

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

shiyanlou:~/ $ mkdir test
shiyanlou:~/ $ cp -r test one/two
shiyanlou:~/ $ tree one
one
 └── two
      ├── hello
      ├── test
      └── three
3 directories, 1 file

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

💡 删除

使用 rm 命令删除文件:

shiyanlou:~/ $ ls
Code  Desktop  hello  one
shiyanlou:~/ $ rm hello
shiyanlou:~/ $ ls
Code  Desktop  one

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

shiyanlou:~/ $ mkdir test
shiyanlou:~/ $ ls
Code  Desktop  one  test
shiyanlou:~/ $ rm -r test
shiyanlou:~/ $ ls
Code  Desktop  one

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

使用 mv 命令可以移动文件或目录。
首先,我们进入到 /home/shiyanlou 目录,使用 touch 创建空文件 test1

shiyanlou:~/ $ cd ~
shiyanlou:~/ $ touch test1

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

shiyanlou:~/ $ mkdir dir1
shiyanlou:~/ $ ls
Code  Desktop  dir1  one  test1

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

shiyanlou:~/ $ mv test1 dir1

然后进入 dir1 目录查看一下

shiyanlou:~/ $ cd dir1
shiyanlou:dir1/ $ ls
test1

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

shiyanlou:dir1/ $ ls
test1
shiyanlou:dir1/ $ mv test1 test2
shiyanlou:dir1/ $ ls
test2

写代码需要用到文本编辑器,这里给新手推荐两个简单、好用的编辑工具:gedit 和 Sublime 。
Sublime Text
Sublime Text 是一套跨平台的文本编辑器,支持基于 Python 的插件,支持语法高亮,具有轻量、入门简单等特点。
实验环境中内置了 Sublime Text2 编辑器,点击实验环境左下角 应用程序菜单 - 开发 - sublime 即可打开:
python学习第二课:Linux 系统~
启动 sublime 后,依次点击菜单栏的 File – New File 或 按下ctrl + n,可以新建文件,然后在 sublime 中写入以下内容:

hello shiyanlou

然后按 ctrl + s 保存文件到桌面,命名为 hello
python学习第二课:Linux 系统~
在终端中查看一下:
python学习第二课:Linux 系统~
测试成功!
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 选项查看帮助文档。
python学习第二课:Linux 系统~
对于初学者而言,查看帮助信息的文档未必看得懂,所以寻求帮助的最佳途径是:
利用互联网和搜索引擎去快速查找相关命令的使用范例,并亲自在 Linux 上进行模仿练习。
 
第一节课程的学习就要结束了,但结束之前,还有一些压箱底的东西要告诉你。”
python学习第二课:Linux 系统~
想要成为编程世界中的王者,必须做到三件事:

「练习」

「思考」

「总结」

在今后的学习中,你表面上是在修炼 「编程能力」,同时也在修炼「学习能力」。这两种能力,都能确定地提高你未来的地位和收入,并决定你的人生尺度。
这个世界进步得太快:算盘被计算器取代、纸张被电子产品取代、农民和矿工被现代化机械取代……甚至设计师、文案这种创造性的工作,也会被人工智能取代。
但如果,这世界需要我们学什么的时候,我们都可以主动去学,并且很快学好,那么 —— 焦虑、担心这些负面情绪将不复存在,你会变得更快乐,也会比身边 99% 的人走得更远。
其实能看到这里的你,已经站在 90% 人的前面了,接下来,我们会继续通过文字和任务,去引导你培养这两种能力。
当然,最最最重要的,还是你自己去「 做 」
这节课结束之后,交给你两个简单但非常重要的「任务」
找一个脑图或笔记工具,把今天学到的知识点总结进去,并用自己的语言进行注解。
你可以使用 XMind 免费版(需下载),或 幕布 (笔记工具,可在线编辑),或其他任何脑图、笔记工具。
你的总结应该类似这样:
python学习第二课:Linux 系统~
第二个任务是一个课后挑战:用今天学到的 Linux 基本操作,完成一个综合练习。
题目很简单,却是你迈向独立思考的重要一步,请务必完成。
python学习第二课:Linux 系统~

发表评论