基本概念及操作
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 Client)。当前大家熟知的比较流行的实现了客户端功能的桌面环境有:KDE、GNOME、XFCE、LXDE等。这意味着在Linux上用户可以自己选择安装不同的桌面环境,甚至可以定制自己的专属桌面。
Linux桌面架构 vs Windows桌面架构Linux桌面的使用
Linux桌面的使用大致跟Windows桌面使用一致,有兴趣的可以在自己计算机中安装完整的Linux发行版或其Live CD体验。
Linux终端的使用
1.Terminal
通常我们在使用Linux时并不直接与系统打交道,而是通过一个叫做Shell的中间件来完成。在图形界面下,为了实现在一个窗口中接受用户输入和显示输出,Linux系统还提供了一个叫终端模拟器的程序(Terminal),比较常见的终端模拟器有:gnome-terminal、kconsole、xterm、rxvt、kvt、nxterm和eterm。不过终端和控制台是有区别的:
终端本质上是对应着Linux上的/dev/tty设备,Linux的多用户登记就是通过不同的/dev/tty设备完成的,Linux默认提供6个纯命令行界面的“Terminal”(准确的说这里应该是6个virtual consoles)让用户登录。在物理机系统上,用户可以通过使用 [Ctrl]+[Alt]+[F1]~[F6] 进行切换,也可以通过使用 [Ctrl]+[Alt]+[F7] 切换回图形界面。
2.Shell
UNIX/Linux操作系统下的Shell既是用户交互的界面,也是控制系统的脚步语言。这点有别于Windows下的命令行,虽然Shell也提供了很简单的控制语句。在Windows操作系统下,可能有些用户从来都不会直接使用Shell,然而在UNIX系列操作系统下,Shell仍然是控制系统启动、X11启动和很多其他使用工具的脚本解释程序。
在UNIX/Linux中比较流行常见的Shell有bash、zsh、ksh、csh等,Ubuntu终端默认使用的是bash,默认的桌面环境是GNOME或者Unity(基于GNOME)。
3.命令行操作
1)重要的快捷键
-
[Tab]
使用 Tab 键进行命令补全,当你忘记某个命令的全称时你可以只输入它的开头一部分然后按下 Tab 键就可以得到提示或者帮助补全命令。当然 Tab 不止补全命令,补全目录、补全命令参数都是没有问题的。 -
[Ctrl+c]
当存在只有光标在闪烁无法继续输入命令或者不停地输出一大堆你不想要的结果,你想要立即停止并恢复到可控的状态时,这时候可以使用 Ctrl+c 键来强行终止当前程序,但不会使终端退出。 -
其他常用的快捷键
按键 | 作用 |
---|---|
Ctrl+d | 键盘输入结束或退出终端 |
Ctrl+s | 暂停当前程序,暂停后按下任意键恢复运行 |
Ctrl+z | 将当前程序放到后台运行,恢复到前台命令为 fg |
Ctrl+a | 将光标移至输入行头,相当于 Home 键 |
Ctrl+e | 将光标移至输入行末,相当于 End 键 |
Ctrl+k | 删除从光标所在位置到行末 |
Ctrl+w | 向前删除一个单词 |
Alt+Backspace | 向前删除一个单词 |
Shift+PgUp | 将终端显示向上滚动 |
Shift+PgDn | 将终端显示向下滚动 |
2)查询历史输入命令
-
最简单的方式是使用键盘上的方向 上 键,恢复之前输入过的命令
-
使用快捷键 Ctrl+r 搜索历史输入的命令
3)使用通配符
通配符是一种特殊语句,主要有星号(*)、问号(?)和句号(.),用来对字符串进行模糊匹配(比如文件名、参数名)。
shiyanlou:Code/ $ grep -r Z.ao [8:45:55]
reg.txt:ZhaoXueYong
终端里面输入的通配符是由Shell处理的,不是由涉及到的命令语句处理的。当Shell在命令的参数值里遇到通配符时,Shell会先将其当做路径或文件名去磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就讲该通配符作为一个普通的字符传递给命令,然后交由命令处理。
- 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 page的缩写。使用方法如下:
man <command_name>
man手册的内容很多,涉及了Linux使用过程中的方方面面,为了便于查找,内容是做了分区段处理的,在Research UNIX、BSD、OS X和Linux中,手册通常被分成8个区段,具体如下:
区段 | 说明 |
---|---|
1 | 一般命令 |
2 | 系统调用 |
3 | 库函数,涵盖了C标准库函数 |
4 | 特殊文件(通常是/dev中的设备)和驱动程序 |
5 | 文件格式和约定 |
6 | 游戏和屏保 |
7 | 杂项 |
8 | 系统管理命令和守护进程 |
想要获取更详细的帮助,还可以使用info命令,不过通常使用man就足够了。当然如果只想快速查看它的一些参数的作用,可以使用--help,大部分命令都会带有这个参数。例如:
ls --help