Linux本身只是操作系统的内核。内核是使其他程序能够运行的基础。它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行与内核之上。其中有些程序是必需的,如命令行解析器(shell),它用于用户交互和编写shell脚本(.bat文件)。
Linux桌面环境介绍
Unix/Linux本身是没有图形界面的,我们在Unix/Linux发行版上看到的图形界面只是运行在Linux系统之上的软件,以前是XFree86,现在是xorg。而这套软件有事通过X窗口系统(X Window System,也常被称为X11或X)实现的.X本身只是工具包及架构协议,而xorg是X架构规范的一个实现体,也就是说它是实现了X协议规范的一个提供图形用户界面服务的服务器,就像实现了http协议提供web服务的Apache。如果只有服务器也是不能实现一个完整的桌面环境,还需要一个客户端,称之为X Client。目前流行的客户端功能桌面环境有KDE,GNOME,XFCE,LXDE。你可以自己选择不同的桌面环境,甚至可以定制属于自己的专属桌面。
Linux终端
Terminal:通常我们使用Linux时,不是直接与系统打交道,而是通过一个叫做shell的中间程序来完成。在图形界面下为了实现让我们在一个窗口中完成接受用户输入和显示输出,Linux系统提供了一个叫做终端模拟器的程序(Terminal)。下面是比较常见的终端模拟器:gonme-terminal,kconsole,xterm,rxvt,kvt,nxterm和eterm。终端和控制台还是有区别的:终端本质上对应着Linux上的/dev/tty设备,Linux的多用户登录就是通过不同的/dev/tty设备完成的,Linux默认提供了6个纯命令行界面的terminal,来让用户登录,在物理机系统上可以通过[Ctrl]+[Alt]+[F1]~[F6]进行切换。当你切换到其中一个终端后想要切换回图形界面,可以按下[Ctrl]+[Alt]+[F7]来完成。
Shell
通常在图像界面中对实际体验带来差异的不是上述的不同发行版本的各种终端模拟器,而其shell(壳)。有壳就有核,这里的核指的是UNIX/LINUX内核,Shell指的是“提供给使用者的使用界面”的软件(名利解析器)。Shell就是可以接受用户输入命令的程序。它之所以被称作Shell是因为他隐藏了操作系统底层的细节。同样的Unix/Linux下的图形用户界面GNOME和KDE,有时也叫“虚拟shell”或“图形shell”。
Unix/Linux操作系统下的Shell既是用户交互界面,也是控制系统的脚本语言。
在Unix/Linux中比较流行常见的Shell有bash,zsh,ksh,csh等。Ubuntu终端默认使用的是bash,默认桌面环境是GNOME或Unity。
命令行操作体验————重要的快捷键
[Tab] 使用Tab键来进行命令补全,当你忘记某个命令的全称时,只需要输入的他开头的一部分,按下Tab键即可。
[Ctrl+c]强行终止当前程序。有时按Ctrl+c没响应,可能只是运行的程序需要耐心的等待一下。
[Ctrl+d]键盘输入结束时退出终端。
[Ctrl+s]暂定当前程序,暂停后按下任意键恢复运行。
[Ctrl+z]将当前程序放到后台执行,回复到前台为命令fg。
[Ctrl+a]将光标移至输入行头,相当与Home键。
[Ctrl+e]将光标移至行末,相当于End键。
[Ctrl+k]删除从光标所在位置到行末。
[Alt+Backspace]向前删除一个单词。
[Shift+PageUp]将终端显示向上滚动。
[Shift+PageDown]将终端显示向下滚动。
上键可以恢复之前输入过的命令。
通配符是一种特殊的语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配。当查找文件夹时,可以用它来代替一个或多个真正字符,当不知道真正字符或懒得输入完整名称时,通常使用通配符代替一个或多个真正的字符。
终端里输入的通配符是由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}
在命令行中获取帮助
在Linux环境中,如果遇到困难,可以使用man命令,它是Manual page的缩写。Manual pages是在Unix或类Unix操作系统在线软件文档的一种普遍形式。内容包括计算机程序,正则的标准和惯例,甚至是抽象的概念。用户可以通过执行man命令调用手册页。man手册为了方便查找,做了分册处理,在Research Unix,BSD,OS X和Linux中,手册通常被分为8个区段,安排如下:1区段 :一般说明;2区段:系统调用;3区段:库函数,涵盖了C标准函数库;4区段:特殊文件(通常是/dev中的设备)和驱动程序;5区段:文件格式和约定;6区段:游戏和屏保;7区段:杂项;8区段:系统管理命令和守护进程。要查看相应区段的内容,就在man后面加上相应区段的数据即可,如 man 3 printf。一般包括以下内容:name:该命令或函数的名称,接着一行简介。SYNOPSIS:对命令的正式描述,描述它如何运行,以及需要什么样的命令行参数,对于函数,介绍函数所需的参数,以及哪个头文件包含该参数的定义。DESCRIPTION:命令或函数功能的文本描述;EXAMPLE:常用的一些示例;SEE ALSO:相关命令或函数的列表。在man手册中,你可与i使用/<keyWord>来查找,用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。使用space翻页,Enter向下滚动一行,使用j,k进行向前或后滚动一行。按下h键显示使用帮助,按q退出。若想知道某个名利的作用,可以使用--help参数。
实验楼后面的test
安装banner、toilet和figlet
$ sudo apt-get update;sudo apt-get install sysvbanner
$ banner Linux // 在屏幕中用#号打印出Linux
$ printerbanner -w 50 A //-w参数指定打印宽度
$ sudo apt-get update;sudo apt-get install toilet
$ toilet happy //打印出奇怪的happy 哈哈~
$ sudo apt-get update;sudo apt-get install figlet
$ figlet forever //打印出华文云彩感觉的forever
P.S:实验楼真是个好东东 www.shiyanlou.com 非五毛哦~