字符界面及vim编辑器.ppt
Linux实用教程,第4章走进Linux图形界面,对Linux服务器进行管理时,经常需要进入字符界面进行操作,使用命令需要记住该命令的相关选项和参数。vi编辑器可以用于编辑任何ASCII文本,它功能非常强大,可以对文本进行创建、查找、替换、删除、复制和粘贴等操作。,4.1字符界面简介,对Linux服务器的维护基本上都是在命令行界面下进行的,本节主要讲述如何进入命令行界面以及在命令行界面下如何关机、重启计算机。,进入Linux命令行界面,Fedora 8系统的命令行界面可以通过字符界面、图形界面下的终端以及虚拟控制台等多种方式进入。,安装Fedora 8系统之后,系统启动默认进入的是图形化界面,如果用户希望系统引导之后自动进入字符界面,则需要修改/etc/inittab文件。,1Linux字符界面,图4-1使用gedit打开/etc/inittab文件,图4-2字符界面登录提示,图4-3已登录字符界面,Fedora 8系统桌面环境提供了打开终端命令行界面的方式,终端方式允许用户通过输入命令来管理计算机。,2使用终端,图4-4终端命令行界面,图4-5编辑终端配置文件,Fedora 8系统允许多个用户同时登录,还允许用户进行多次登录,这是因为Linux系统提供了虚拟控制台的访问方式。,3使用虚拟控制台,4.1.2关闭和重启系统,在Linux系统下常用的关闭和重启系统的命令有“shutdown”,“halt”,“reboot”和“init”,但每个命令的内部工作过程是不同的。,使用“shutdown”命令可以安全地关闭系统,有些用户会使用直接断掉电源的方式来关闭计算机,这是十分危险的。Linux系统与Windows系统不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至会损坏某些系统的硬件设备。,1“shutdown”命令,命令语法:shutdown 选项 时间 警告信息【例4.1】立即关闭系统。【例4.2】定时45分钟后关闭系统。【例4.3】重新启动系统,并发出警告信息。,使用“halt”命令就是调用“shutdown h”命令执行关闭系统。命令语法:halt 选项【例4.4】使用“halt”命令关闭系统。,2“halt”命令,“reboot”命令的工作过程与“halt”命令相似,不过“reboot”是引发主机重启,而“halt”是引发主机关闭系统。“root”的参数与“halt”相似。【例4.5】使用reboot命令重启计算机。,3“reboot”命令,“init”命令是所有进程的祖先,它的进程号始终为“1”,所以发送“TERM”信号给“init”会终止所有的用户进程和守护进程等。“shutdown”命令就是使用这种机制。“init”定义了7个运行级别,其中“init 0”为关闭系统,“init 1”为重启。,4“init”命令,4.1.3系统运行级别,Linux系统运行级别是一种状态,它由列在/etc/rc.d/rc.d目录中的服务来定义,其中是代表运行级别的符号。,Linux运行级别有如下7种。0:停止运行,所有进程中止,关闭系统。1:单用户模式,用于维护系统,只有少数进程运行。2:多用户模式,除了NFS服务没有启动外,其他和运行级别3一样。3:完整的多用户模式,进入Linux系统的字符界面。,4:没有使用(可由用户定义)。5:完整的多用户模式(带有基于X Window的图形界面)。6:重新引导计算机。,【例4.6】显示当前系统运行级别。【例4.7】切换运行级别为2,并显示当前系统运行级别。【例4.8】关闭计算机。【例4.9】重启计算机。,4.2在Linux下获取帮助,Linux系统中的每个命令都具有众多的参数和选项,要一一记住那是不可能的,可借助Linux的帮助功能。本节主要介绍在Linux系统下如何使用帮助功能。,4.2.1使用man手册页,man是一种显示Unix/Linux在线手册的命令。可以用来查看命令、函数或文件的帮助手册,另外它还可以显示一些gzip压缩格式的文件。man命令格式化并显示在线的手册页。,命令语法:man 选项 命令名称【例4.10】显示ls命令的man手册页。,表4-1man手册页组成内容,表4-2man手册页类型,4.2.2使用help命令,使用help命令可以查找Shell命令的用法,只需在所查找的命令后输入“help”命令,然后就可以看到所查命令的内容了。命令语法:命令 help【例4.11】查看mkdir命令帮助。,4.2.3whereis命令,使用whereis命令可以查找命令所在的位置。命令语法:whereis 选项 命令名【例4.12】查找ls命令在什么目录下。,4.3Shell基础,在Linux系统中,Shell是最常使用的程序,其主要作用是侦听用户指令、启动指令所指定的进程并将结果返回给用户,本节主要讲述Shell的基本使用方法。,4.3.1Shell起步,在AT&T工作的Dennis Ritchie和Ken Thompson两人设计UNIX的时候,他们想要为用户创建一种与他们的新系统交流的方法。那时的操作系统带有命令解释器。命令解释器接受用户的命令,然后解释它们,因而计算机可以使用这些命令。,当登入系统或打开一个终端窗口时,首先看到的是Shell提示符。以普通用户zhangsan登入名为PC-LINUX的主机,当前工作目录是/home/zhangsan,如下所示:zhangsanPC-LINUX$以root用户登录系统的提示符如下所示:rootPC-LINUX#,要运行命令的话,只需要在提示符后敲进命令,然后再按“回车”键。一个Shell命令可能含有一些可选项和参数,其一般格式为:Shell命令可选项参数,Linux系统由以下3个重要的部分组成:(1)内核;(2)Shell;(3)应用程序。,内核部份,操作者不易和它直接沟通,因此,必须要有一个友善的界面,使得操作时能更为方便,这个界面便是Shell。通俗地讲,Shell就是位于核心和操作者之间的一层使用者界面。,Shell的本意是“壳”的意思。在核心的外面,包覆着一层外壳,用来负责接收使用者输入的指令,然后将指令解译成核心能够了解的方式,传给核心去执行,再将结果传回至预设的输出周边设备。,4.3.2Shell类型和功能,Linux系统中的Shell,除了可作为命令编译器之外,它也是一种不错的编程语言,是系统管理维护时的重要工具。由于Linux系统对Shell的处理,采用独立自由开放的方式,因此,Shell的种类相当多,目前流行的Shell有sh,csh,ksh,tcsh和bash等。,在Linux系统中的bash具有以下功能:(1)兼容BourneShell(sh);(2)包含CShell以及KornShell中最好的功能;(3)具有命令列编写修改的能力;(4)具有工作控制的能力,可控制前台和后台程序;(5)具有Shell编程能力。,4.3.3开始使用bash,当用户登录到Linux系统后,一旦出现提示符号时,便可以开始输入操作命令了。命令可分为如下两大类:(1)bash内置的命令;(2)应用程序。,表4-3bash中使用的通配符,1通配符,表4-4特殊字符及引号,2特殊字符及引号,表4-5常用控制组合键,3常用控制组合键,4.4Shell实用功能,Linux系统是在命令行下面诞生的,因此,Linux中的命令行有许多非常实用的功能,在本节中将详细讲解这些实用功能。,4.4.1命令行自动补全,在Linux系统中有太多的命令和配置文件,可以使用命令补全功能快速地写出文件名和命令名称。如果需要快速地从当前所在的目录跳转到/usr/src/redhat/目录,可以执行以下操作:rootPC-LINUX#cd/u/sr/r 是按“Tab”键的意思,使用“Tab”键也称为“命令行自动补全”,这在平常应用中是不可缺少的。,4.4.2命令历史记录,通过按向上方向键,可以向后遍历最近在该控制台下输入的命令。用向下方向键可以向前遍历命令。与“shift”键连用的话,还可以遍历以往在该控制台中的输出。也可以编辑旧的命令,然后再运行。,通过光标和功能键(Home,End等键),可以浏览并编辑命令行,还可以用键盘的快捷方式来完成一般的编辑,主要功能键如下。Ctrl+k:删除从光标到行尾的部分。Ctrl+u:删除从光标到行首的部分。AltT+d:删除从光标到当前单词结尾的部分。Ctrl+w:删除从光标到当前单词开头的部分。Ctrl+a:将光标移到行首。,1编辑命令行,Ctrl+e:将光标移到行尾。Alt+a:将光标移到当前单词头部。Alt+e:将光标移到当前单词尾部。Ctrl+y:插入最近删除的单词。!$:重复前一个命令最后的参数。【例4.13】使用命令行记录功能键。,Linux系统带有不少快捷方式,其中一部分是bash原来就有的,还有一些则是预先设置的。由于主目录是每位用户的活动中心,许多Linux系统对此有特殊的快捷方式。“”就是用户的主目录的简写形式。,2可用的Shell快捷方式,4.4.3命令的排列、替换和别名,在Shell中可以使用命令排列同时执行多个命令,可以使用命令替换将一个命令的输出当作另一个命令的输入,也可以将复杂命令定义别名。,如果希望一次执行多个命令,Shell允许在不同的命令之间,放上特殊的排列字符。这里将介绍最常用的两种方法。,1命令的排列,(1)使用“;”使用“;”命令时先执行命令1,不管命令1是否出错,接下来就执行命令2。命令语法:命令1;命令2【例4.14】使用排列命令“;”同时执行两个命令。,(2)使用“&”使用“&”命令时只有当命令1正确运行完毕后,才能执行命令2。命令语法:命令1&命令2【例4.15】使用排列命令“&”同时执行两个命令。,命令替换这种机制的语法如下。命令1$(命令2)除了使用“$()”之外,还可以使用后引号“”,命令语法如下所示。命令1 命令2 命令替换是一项很实用的功能。,2命令替换,在需要执行某一非常长的命令时,所有的命令以及命令的选项、参数都要一一输入,很枯燥也容易出现错误。可以为常用命令定义快捷方式,这些快捷方式可以用较简单的命令别名来定义。命令语法:alias 别名需要定义别名的命令,3命令别名,4.4.4文件名匹配和输出重定向,1文件名匹配,文件名匹配使得用户不必一一写出文件名称就可以指定多个文件。“*”可匹配一个或多个字符。第二个通配符是问号“?”。在匹配时,一个问号只能代表一个字符。,Linux系统的理念是汇集许多小程序,每个程序都有特殊的专长。复杂的任务不是由大型软件完成,而是运用Shell 的机制,组合许多小程序共同完成。管道就在其中发挥着重要的作用,它可以将某个命令的输出信息当作某个命令的输入,由管道符号“”来标识。命令语法:命令1|命令2|命令3【例4.16】使用简单的管道。【例4.17】使用复杂的管道。,2管道,有时,希望将命令的输出结果保存到文件中,或以文件内容作为命令的参数,这时就需要用到重定向。重定向不使用系统的标准输入端口、标准输出端口或标准错误端口,而进行重新的指定。重定向有5种方式,分别是:输出重定向、输入重定向、错误重定向、追加重定向以及同时实现输出和错误的重定向。,3重定向文件,(1)输出重定向 输出重定向,即将command命令的输出保存到文件file中,如果存在相同的文件,则覆盖file文件中的内容。命令语法:command file【例4.18】使用输出重定向将目录/boot的内容保存到文件/root/abc。【例4.19】使用echo命令和输出重定向创建文本文件/root/mm,内容是hello。,(2)输入重定向 输入重定向,即将文件file的内容作为 command命令的输入。命令语法;command file【例4.20】使用输入重定向将文件/root/mm的内容作为输入让cat命令执行。,()错误重定向 错误重定向,即将command命令执行的出错信息输出到文件file中。命令语法:command 2 file【例4.21】查看根本不存在的/root/kk文件,出现报错信息,将其保存到文件/root/b中。,()追加重定向 追加重定向,即将command命令执行的输出添加到已存在的文件file中。命令语法:command file【例4.22】使用追加重定向将数据写入文件/root/a。,()同时实现输出和错误的重定向 同时实现输出和错误的重定向,即可以同时实现输出重定向和错误重定向的功能。命令语法:command&file【例4.23】同时使用输出和错误重定向。【例4.24】同时使用输出和错误重定向。,文本编辑器有很多,图形模式下有gedit,kwrite等编辑器,文本模式下的编辑器有vi,vim(vi的增强版本)和nano。vi和vim是Linux系统中最常用的编辑器,本节主要讲述vi编辑器的使用。,4.5vi编辑器基本使用,4.5.1vi的基本概念,vi编辑器是所有Linux系统的标准编辑器,用于编辑任何ASCII文本,对于编辑源程序尤其有用。它功能非常强大,通过使用vi编辑器,可以对文本进行创建、查找、替换、删除、复制和粘贴等操作。vi编辑器有3种基本工作模式,分别是命令行模式、插入模式和末行模式。,控制屏幕光标的移动,字符、字或行的删除,移动、复制某区域及进入插入模式,或者到末行模式。,1命令行模式,只有在插入模式下,才可以做文字输入,按“Esc”键可回到命令行模式。,2插入模式,将文件保存或退出vi编辑器,也可以设置编辑环境,如寻找字符串、列出行号等。,3末行模式,4.5.2vi的基本操作,本小节主要讲述vi编辑器的基本使用,如使用vi编辑器创建文件、输入数据以及保存文件并退出。,在系统Shell提示符下输入vi及文件名称后,就进入vi编辑画面。,1进入vi编辑器,在命令行模式下按字母“i”就可以进入插入模式,这时候就可以开始输入文字了。,2切换至插入模式编辑文件,在命令行模式下,按冒号键“:”可以进入末行模式,,3退出vi及保存文件,图4-6vi的3种模式,4.5.3命令行模式操作,当在Shell提示符下输入“vi文件名”之后就进入了命令行模式,在命令行模式下是不能输入任何数据的。,进入插入模式的操作如下。按“i”:从光标当前位置开始输入文件。按“a”:从目前光标所在位置的下一个位置开始输入文字。按“o”:在光标所在的行的下面插入一行,从行首开始输入文字。按“I”:在光标所在行的行首插入。,1进入插入模式,按“A”:在光标所在行的行末插入。按“O”:在光标所在的行的上面插入一行。按“s”:删除光标位置的一个字符,然后进入插入模式。按“S”:删除光标所在的行,然后进入插入模式。,从插入模式切换为命令行模式只需按“Esc”键。,2从插入模式切换为命令行模式,vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母“h”,“j”,“k”及“l”,分别控制光标左、下、上、右移一格。按Ctrl+b:屏幕往前移动一页。按Ctrl+f:屏幕往后移动一页。按Ctrl+u:屏幕往前移动半页。按Ctrl+d:屏幕往后移动半页。,3移动光标,按数字“0”:光标移到所在行的行首。按“G”:移动到文本的最后一行。按“$”:移动到光标所在行的行尾。按“”:移动到光标所在行的行首。按“w”:光标跳到下个字的开头。按“e”:光标跳到下个字的字尾。按“b”:光标回到上个字的开头。,删除文字操作如下。“x”:每按一次,删除光标所在位置的一个字符。“nx”:例如,“6x”表示删除光标所在位置开始的6个字符。“X”:大写的X,每按一次,删除光标所在位置的前面一个字符。,4删除文字,“nX”:例如,“20X”表示删除光标所在位置前面20个字符。“dd”:删除光标所在行。“ndd”:从光标所在行开始删除n行。例如,“4dd”表示删除从光标所在行开始的4行字符。,复制操作如下。“yw”:将光标所在之处到字尾的字符复制到缓冲区中。“nyw”:复制n个字到缓冲区。“yy”:复制光标所在行到缓冲区。“nyy”:例如,“6yy”表示复制从光标所在行开始的6行字符。“p”:将缓冲区内的内容写到光标所在位置。,5复制,替换操作如下。“r”:替换光标所在处的字符。“R”:替换光标所到之处的字符,直到按 下“Esc”键为止。,6替换,“u”:如果误执行一个命令,可以马上按下“u”,回到上一个操作。按多次“u”可以执行多次撤销。,7撤销上一次操作,跳至指定行的操作如下。Ctrl+g:列出光标所在行的行号。“nG”:例如,“15G”,表示移动光标至该文本的第15行行首。,8退出指定的行,“ZZ”:存盘退出。,9存盘退出,“ZQ”:不存盘退出。,10不存盘退出,4.5.4末行模式操作,在使用末行模式之前,请记住先按“Esc”键确定已经处于命令行模式后,再按冒号“:”即可进入末行模式。,“set nu”:输入“set nu”后,会在文件中的每一行前面列出行号。,1列出行号,“set nonu”:输入“set nonu”后,会取消在文件中的每一行前面列出行号。,2取消列出行号,“n”:“n”号表示一个数字,在冒号后输入一个数字,再按“回车”键就会跳到该行了,如输入数字15,再按“回车”键就会跳到文本的第15行。,3跳到文件中的某一行,查找字符操作如下。“/关键字”:先按“/”键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按“n”会往后查找下一个关键字。“?关键字”:先按“?”键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按“n”往前查找下一个关键字。,4查找字符,“!命令”:运行Shell命令。,5运行Shell命令,替换字符操作如下。“s/a/x”:将光标所在行第一个a替换为b。“s/a/x/g”:将光标所在行所有的a替换为b。,6替换字符,“w”:在冒号后输入字母“w”就可以将文件保存起来。,7保存文件,离开vi编辑器操作如下。“q”:按“q”即退出vi,如果无法离开vi,可以在“q”后跟一个“!”强制符离开vi。“wq”:一般建议离开时,搭配“w”一起使用,这样在退出的时候还可以保存文件。,8退出vi编辑器,小 结,要进入Fedora 8系统的命令行界面可以通过字符界面、图形界面下的终端以及虚拟控制台等多种方式进入。在Linux系统下常用的关机/重启命令有shutdown,halt,reboot和init,但每个命令的内部工作过程是不同的。,小 结,Linux系统中的每个命令都具有众多的参数和选项,要一一记住那是不可能的。使用man手册页是一种不错的方法,man是一种显示Unix/Linux在线手册的命令。可以用来查看命令、函数或文件的帮助手册,另外它还可以显示一些gzip压缩格式的文件。,小 结,使用help命令可以查找Shell命令的用法,只需在所查找的命令后输入“help”命令,然后就可以看到所查命令的内容了。使用whereis命令可以查找命令所在的位置。例如,我们最常用的ls命令,是存放在/bin这个目录下的。,小 结,在Linux系统中,Shell是最常使用的程序,其主要作用是侦听用户指令、启动指令所指定的进程并将结果返回给用户,一个Shell命令可能含有一些可选项和参数。Shell的种类相当多,目前流行的Shell有sh,csh,ksh,tcsh和bash等。,小 结,Linux系统是在命令行下面诞生的,因此,Linux系统中的命令行有许多非常实用的功能,主要有命令行自动补全、命令历史记录、命令的排列、命令替换、命令别名、文件名匹配、管道、重定向文件等。,小 结,vi编辑器是所有Linux系统的标准编辑器,用于编辑任何ASCII文本,对于编辑源程序尤其有用。它功能非常强大,通过使用vi编辑器,可以对文本进行创建、查找、替换、删除、复制和粘贴等操作。vi编辑器有3种基本工作模式,分别是命令模式、插入模式和末行模式。,