知识点
- 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 的用途还有很多,等着你去探索~
linux桌面上的程序包括下面几类:
- Xfce 终端:Linux 中控制电脑的窗口,打开它你可以通过 Linux 命令控制电脑的一切。Linux 中很多操作都需要输入命令来进行,这一点与 Windows 上依靠鼠标操作是不同的,这个输入命令的入口就叫「终端」。
- NetSurf 或 Firefox 浏览器:浏览器,可以用在需要前端界面的课程里。
- GVim:一款好用的 Vim 编辑器,具体用法可参考课程 Vim编辑器。
- gedit、Sublime:同样是代码编辑器,如果你对 gvim 的使用不熟悉,可以用这两个作为代替。
双击桌面上的 Xfce 终端
打开终端,依次点击菜单上的 编辑
– 首选项
, 可以修改终端的背景、字体、字号、光标样式等属性,右下角的输入法图标可以切换输入法:
Linux 的基本操作主要分为「目录操作」和「文件操作」两部分,在以后的学习中你会常常用到。
提前的心理建设:
对于从未接触过 Linux 的同学来说,下面介绍的命令有些多,记不住会很烦躁,在这里要提前告诉大家:
不用硬记!
不用硬记!
不用硬记!
学习 Linux 常用命令,有点像学习 Windows、Mac 或者 PS、Word 的 快捷键,死记硬背是没有用的,在使用中多操作几次,自然就记住了。
下面的这些操作,希望你都能在环境中跟着敲一遍,最后整理成一个 脑图 或 笔记 ,以后忘了命令时随时翻阅。相信几次之后,你想忘都忘不掉了。
首先我们来学习 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
下图为 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 中对文件的常用操作,包含新建、复制、删除等。
💡 新建空白文件
使用 touch
命令可以新建文件,比如我想在新建一个名为 “hello” 的文件,可输入:
shiyanlou:~/ $ touch hello
“hello” 文件就被创建出来了,用 ls
命令查看一下:
(该命令不会覆盖已有同名文件)
💡 复制
使用 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
然后,我们创建一个新目录 dir1
,ls
查看一下
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
即可打开:
启动 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% 人的前面了,接下来,我们会继续通过文字和任务,去引导你培养这两种能力。
当然,最最最重要的,还是你自己去「 做 」。
这节课结束之后,交给你两个简单但非常重要的「任务」:
找一个脑图或笔记工具,把今天学到的知识点总结进去,并用自己的语言进行注解。
你可以使用 XMind 免费版(需下载),或 幕布 (笔记工具,可在线编辑),或其他任何脑图、笔记工具。
你的总结应该类似这样:
第二个任务是一个课后挑战:用今天学到的 Linux 基本操作,完成一个综合练习。
题目很简单,却是你迈向独立思考的重要一步,请务必完成。