实验楼Linux基础挑战2答案,实验楼-Linux基础-实验⼆Linux的
基本概念及操作
⼀、实验介绍
1.1 实验内容
实验楼环境介绍
常⽤ Shell 命令及快捷键
Linux 使⽤⼩技巧
1.2 实验知识点
Linux 基本命令
通配符的使⽤
查看帮助⽂档
⼆、桌⾯环境
1.Linux 桌⾯环境介绍
相对于现在的 Windows 系统,UNIX/Linux 本⾝是没有图形界⾯的,我们通常在 UNIX/Linux 发⾏版上看到的图形界⾯实际都只是运⾏在 Linux 系统之上的⼀套软件,类似 Windows95 之前的 Windows 的图形界⾯实则也只是运⾏在 DOS 环境的⼀套软件。⽽ Linux 上的这套软件以前是 XFree86,现在则是 xorg(X.Org),⽽这套软件⼜是通过 X 窗⼝系统(X Window System,也常被称为 X11 或 X)实现的,X 本⾝只是⼯具包及架构协议,⽽ xorg 便是 X 架构规范的⼀个实现体,也就是说它是实现了 X 协议规范的⼀个提供图形界⾯服务的服务器,就像实现了 http 协议提供 web 服务的 Apache 。如果只有服务器也是不能实现⼀个完整的桌⾯环境的,当然还需要⼀个客户端,我们称为 X Client,像如下⼏个⼤家熟知也最流⾏的实现了客户端功能的桌⾯环境 KDE,GNOME,XFCE,LXDE 。其中就有你看到的,实验楼⽬前使⽤的 XFCE 桌⾯环境,部分⽼⽤户可能可以回想起,实验楼之前使⽤的环境是 LXDE 。这也意味着在 Linux 上你可以⾃⼰选择安装不同的桌⾯环境,甚⾄可以定制⾃⼰的专属桌⾯。
三、Linux终端
3.1 终端的概念
通常我们在使⽤ Linux 时,并不是直接与系统打交道,⽽是通过⼀个叫做 Shell 的中间程序来完成的,在图形界⾯下为了实现让我们在⼀个窗⼝中完成⽤户输⼊和显⽰输出,Linux 系统还提供了⼀个叫做终端模拟器的程序(Terminal)。 下⾯是⼏个⽐较常见的终端模拟器:gnome-terminal,Konsole,xterm,rxvt,kvt,nxterm 和 eterm 。⽬前我们的实验中的终端程序是 xfce 桌⾯环境⾃带的 xfce-terminal 。不过要注意的是这⾥所说的终端(Terminal)和控制台(Console)是有区别的。
linux系统vim编辑器
终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多⽤户登陆就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令⾏界⾯的 “terminal”(准确的说这⾥应该是 6 个 virtual consoles)来让⽤户登录。在物理机系统上你可以通过使⽤[Ctrl]+[Alt]+[F1]~[F6]进⾏切换,不过在我们的在线实验环境中可能⽆法切换,因为特殊功能按键会被你的主机系统劫持。当你切换到其中⼀个终端后想要切换回图形界⾯,你可以按下[Ctrl]+[Alt]+[F7]来完成。
3.2 Shell
通常在图形界⾯中对实际体验带来差异的不是上述的不同发⾏版的各种终端模拟器,⽽是这个 Shell(壳)。有壳就有核,这⾥的核就是指UNIX/Linux 内核,Shell 是指“提供给使⽤者使⽤界⾯”的软件(命令解析器),类似于 DOS 下的 command(命令⾏)和后来的 。普通意义上的 Shell 就是可以接受⽤户输⼊命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。同样的
UNIX/Linux 下的图形⽤户界⾯ GNOME 和 KDE,有时也被叫做“虚拟 shell”或“图形 shell”。
UNIX/Linux 操作系统下的 Shell 既是⽤户交互的界⾯,也是控制系统的脚本语⾔。当然这⼀点也有别于 Windows 下的命令⾏,虽然该命令⾏也提供了很简单的控制语句。在 Windows 操作系统下,有些⽤户从来都不会直接使⽤ Shell,然⽽在 UNIX 系列操作系统下,Shell 仍然是控制系统启动、X11 启动和很多其它实⽤⼯具的脚本解释程序。
在 UNIX/Linux 中⽐较流⾏的常见的 Shell 有 bash、zsh、ksh、csh 等等,Ubuntu 终端默认使⽤的是 bash,默认的桌⾯环境是GNOME 或者 Unity(基于 GNOME),但我们的环境中使⽤的分别是 zsh 和 xfce。
3.2.1 命令⾏操作体验
在linux中,最最重要的就是命令,这就包含了2个过程,输⼊和输出
输⼊:输⼊当然就是打开终端,然后按键盘输⼊,然后按回车,输⼊格式⼀般就是这类的
#创建⼀个名为 file 的⽂件,touch是⼀个命令$ touch file
#进⼊⼀个⽬录,cd是⼀个命令$ cd /etc/
#查看当前所在⽬录$ pwd
输出:输出会返回你想要的结果,⽐如你要看什么⽂件,就会返回⽂件的内容。如果只是执⾏,执⾏失败会告诉你哪⾥错了,如果执⾏成功那么会没有输出,因为linux的哲学就是:没有结果就是最好的结果
开始
如图,双击桌⾯上的 Xfce 终端 图标打开终端后系统会⾃动运⾏ Shell 程序,然后我们就可以输⼊命令让系统来执⾏了:
1) 重要快捷键:
真正学习命令⾏之前,你先要掌握⼏个⼗分有⽤、必需掌握的⼩技巧:
[Tab]
使⽤Tab键来进⾏命令补全,Tab键⼀般是在字母Q旁边,这个技巧给你带来的最⼤的好处就是当你忘
记某个命令的全称时可以只输⼊它的开头的⼀部分,然后按下Tab键就可以得到提⽰或者帮助完成:
当然不⽌补全命令,补全⽬录、补全命令参数都是没问题的:
[Ctrl+c]
想想你有没有遇到过这种情况,当你在 Linux 命令⾏中⽆意输⼊了⼀个不知道的命令,或者错误地使⽤了⼀个命令,导致在终端⾥出现了你⽆法预料的情况,⽐如,屏幕上只有光标在闪烁却⽆法继续输⼊命令,或者不停地输出⼀⼤堆你不想要的结果。你想要⽴即停⽌并恢复到你可控的状态,那该怎么办呢?这时候你就可以使⽤Ctrl+c键来强⾏终⽌当前程序(你可以放⼼它并不会使终端退出)。
尝试输⼊以下命令:
$ tail
然后你会发现你接下来的输⼊都没有任何反应了,只是将你输⼊的东西显⽰出来,现在你可以使⽤Ctrl+c,来中断这个你⽬前可能还不知道是什么的程序(在后续课程中我们会具体解释这个tail命令是什么)。
⼜或者输⼊:
$ find /
显然这不是你想的结果,可以使⽤Ctrl+c结束。
虽然这个按着很⽅便,但不要随便按,因为有时候,当你看到终端没有任何反应或提⽰,也不能接受你的输⼊时,可能只是运⾏的程序需要你耐⼼等⼀下,就不要急着按Ctrl+c了。
其他⼀些常⽤快捷键
按键
作⽤
Ctrl+d
键盘输⼊结束或退出终端
暂停当前程序,暂停后按下任意键恢复运⾏
Ctrl+z
将当前程序放到后台运⾏,恢复到前台为命令fg
Ctrl+a
将光标移⾄输⼊⾏头,相当于Home键
Ctrl+e
将光标移⾄输⼊⾏末,相当于End键
Ctrl+k
删除从光标所在位置到⾏末
Alt+Backspace
向前删除⼀个单词
Shift+PgUp
将终端显⽰向上滚动
Shift+PgDn
将终端显⽰向下滚动
2) 学会利⽤历史输⼊命令
很简单,你可以使⽤键盘上的⽅向上键↑,恢复你之前输⼊过的命令,你⼀试便知。
3) 学会使⽤通配符
通配符是⼀种特殊语句,主要有星号(*)和问号(?),⽤来对字符串进⾏模糊匹配(⽐如⽂件名、参数名)。当查⽂件夹时,可以使⽤它来代替⼀个或多个真正字符;当不知道真正字符或者懒得输⼊完整名字时,常常使⽤通配符代替⼀个或多个真正字符。
终端⾥⾯输⼊的通配符是由 Shell 处理的,不是由所涉及的命令语句处理的,它只会出现在命令的“参数值”⾥(它不能出现在命令名称⾥, 命令不记得,那就⽤Tab补全)。当 Shell 在“参数值”中遇到了通配符时,Shell 会将其当作路径或⽂件名在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进⾏代换(路径扩展);否则就将该通配符作为⼀个普通字符传递给“命令”,然后再由命令进⾏处理。总之,通配符实际上就是⼀种 Shell 实现的路径扩展功能。在通配符被处理后, Shell 会先完成该命令的重组,然后继续处理重组后的命令,直⾄执⾏该命令。
⾸先回到⽤户家⽬录:
$ cd /home/shiyanlou
然后使⽤ touch 命令创建 2 个⽂件,后缀都为 txt:
$
可以给⽂件随意命名,假如过了很长时间,你已经忘了这两个⽂件的⽂件名,现在你想在⼀⼤堆⽂件中到这两个⽂件,就可以使⽤通配符:
$ ls *.txt
在创建⽂件的时候,如果需要⼀次性创建多个⽂件,⽐如:“love_,love_,... love_”。在 Linux 中⼗分⽅便:
$ touch love_{1..10}_
Shell 常⽤通配符:
含义
*
匹配 0 或多个字符
匹配任意⼀个字符
[list]
匹配 list 中的任意单⼀字符
[^list]
匹配 除list 中的任意单⼀字符以外的字符
[c1-c2]
匹配 c1-c2 中的任意单⼀字符 如:[0-9] [a-z]
{string1,string2,...}
匹配 string1 或 string2 (或更多)其⼀字符串
{c1..c2}
匹配 c1-c2 中全部字符 如{1..10}
4) 学会在命令⾏中获取帮助
在 Linux 环境中,如果你遇到困难,可以使⽤man命令,它是Manual pages的缩写。
Manual pages 是 UNIX 或类 UNIX 操作系统中在线软件⽂档的⼀种普遍的形式, 内容包括计算机程序(包括库和系统调⽤)、正式的标准和惯例,甚⾄是抽象的概念。⽤户可以通过执⾏man命令调⽤⼿册页。
你可以使⽤如下⽅式来获得某个命令的说明和使⽤⽅式的详细介绍:
$ man
⽐如你想查看 man 命令本⾝的使⽤⽅式,你可以输⼊:
man man
通常情况下,man ⼿册⾥⾯的内容都是英⽂的,这就要求你有⼀定的英⽂基础。man ⼿册的内容很多,涉及了 Linux 使⽤过程中的⽅⽅⾯⾯。为了便于查,man ⼿册被进⾏了分册(分区段)处理,在 Research UNIX、BSD、OS X 和 Linux 中,⼿册通常被分为8个区段,安排如下:
区段
说明
1
⼀般命令
2
系统调⽤
3
库函数,涵盖了C标准函数库

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。