Linux字符界面及文本编辑器.docx
《Linux字符界面及文本编辑器.docx》由会员分享,可在线阅读,更多相关《Linux字符界面及文本编辑器.docx(26页珍藏版)》请在冰豆网上搜索。
Linux字符界面及文本编辑器
学习情境3字符界面及文本编辑器
情境引入
尽管Linux图形化用户界面为用户提供了简便、易用、直观的操作平台,但目前图形化用户界面还不能完成所有的系统操作,部分操作还必须在字符界面下进行;字符界面占用系统资源较少且操作更直接,系统运行更快速和高效。
因此从事嵌入式开发和Linux服务器管理的人员都喜欢使用字符界面及Shell命令来进行工作。
3.1子学习情境:
字符界面及Shell命令简介
任务描述
一家从事Linux嵌入式开发的公司招聘了一名新职员,为尽快让该员工适应工作岗位,公司拟对他进行有关培训,培训的一项内容就是Shell命令使用技巧,以便该员工能尽快熟悉字符界面及Shell命令的有关知识和使用方法。
任务实施流程
学习字符界面下注销、重启与关机
相关资讯
1.Shell的功能
Linux中有多种Shell,其中缺省使用的是Bash。
Linux系统的Shell作为操作系统的外壳,是用户和Linux内核之间的接口(即为用户提供使用操作系统的接口),它是命令语言、命令解释程序及程序设计语言的统称。
当从Shell向Linux传递命令时,内核会做出相应的反应。
从用户登录到用户注销的整个期间,用户输入的每个命令都要经过Shell的解释才能执行。
Shell可执行的用户命令可分为两大类:
内置命令和实用程序,其中实用程序又分为四类,如表3-l所示。
表3-1SheIl可执行的用户命令
命令类型
功能
内置命令
为提高执行效率,部分最常用命令的解释器构筑于Shell内部
实用程序
Linux程序
存放在/bin、/sbin目录下Linux自带的命令
应用程序
存放在/usr/bin、/usr/sbin等目录下的应用程序
Shell脚本
用Shell语言编写的脚本程序
用户程序
用户编写的其他可执行程序
2.字符界面的优点
Linux系统的图形化用户界面为用户提供了简便、易用、直观的操作平台,但使用字符界面的工作方式仍然十分常见,在字符界面下使用相关的Shell命令可以完成操作系统的所有任务。
这主要是因为:
·目前的图形化用户界面还不能完成所有的系统操作,部分操作仍然必须在字符界面下进行。
·字符界面占用的系统资源较少,同一硬件配置的计算机仅运行字符界面比运行图形化用户界面时速度要快。
·对于熟练的系统管理人员而言,字符界面更加直接高效。
要熟练运用Linux操作系统,字符界面及Shell命令是必须掌握的核心内容。
掌握Shell命令后,无论是使用哪种发行版本的Linux都会感到得心应手、运用自如。
3.虚拟终端
Linux的字符界面也称为虚拟终端(VirtualTerminal)或者虚拟控制台(VirtualConsole)。
使用Windows操作系统的计算机时,用户使用的是真实终端。
而Linux具有虚拟终端的功能,可为用户提供多个互不干扰、相互独立的工作界面。
使用Linux操作系统的计算机时,用户面对的虽然是一套物理终端设备,但是仿佛在操作多个终端。
Linux默认有7个虚拟终端,其中第l~6个虚拟终端总是字符界面,而第7个虚拟终端是图形化用户界面,且必须启动图形化用户界面后才存在。
每个虚拟终端相互独立,用户可用相同或不同的账号登录各虚拟终端,同时使用计算机。
虚拟终端之间可以相互切换:
·使用【Alt+F1】~【Alt+F7】组合键可从字符界面的虚拟终端切换到其他虚拟终端。
·使用【Ctrl+Alt+Fl】~【Ctrl+Alt+F6】组合键可从图形化用户界面切换到字符界面的虚拟终端(如果是在VMware虚拟机中安装的Linux系统,则需长按此组合键直到界面切换)。
任务准备
1.一台装有RHEL5Server操作系统的计算机,且配备有CD或DVD光驱、音箱或耳机。
2.启动计算机,以超级用户“root”(口令为“root123”)登录。
任务实施
步骤1.了解Shell命令
(1)Shell命令提示符
成功登录Linux后会出现Shell命令提示符,如:
[root@rhel5hbzyetc]#超级用户的命令提示符
[hbzy@rhel5hbzy~]$普通用户hbzy的命令提示符
其具体含义分别为:
·[]内@之前为已登录的用户名(如root、hbzy),[]内@之后为计算机的主机名(如rhel5hbzy)。
如果没有设置主机名,则默认为localhost。
其次为当前目录名(如etc,~),~表示用户的主目录,超级用户root的主目录为/root,普通用户的主目录为/home中与用户名同名的目录,如hbzy的默认主目录为/home/hbzy。
·[]外为Shell命令的提示符号,“#”是超级用户的提示符,“$”是普通用户的提示符。
(2)Shell命令格式
Shell命令由命令名、选项和参数三个部分组成,其基本格式如下所示:
命令名[选项][参数]↓
·命令名:
是描述该命令功能的英文单词或缩写,如查看时间的date命令,切换目录的cd命令等。
在Shell命令中,命令名必不可少,且总是放在整个命令行的起始位置。
·选项:
是执行该命令的限定参数或功能参数。
同一命令采用不同的选项,其功能不相同。
选项可以有一个,也可以有多个,甚至可以没有。
选项通常以“-”开头,当有多个选项时,可以只使用一个“-”符号,如“ls-l-a”命令与“ls-la”命令功能完全相同;部分选项以“--”开头,这些选项通常是一个单词;少数命令的选项不需要“-”符号。
·参数:
是执行该命令所需的对象,如文件、目录等。
根据命令的不同,参数可以有一个、多个或没有。
·回车符“↓”:
任何命令行都必须以回车符Enter(用“↓”表示)结束。
需要特别指出的是,在命令基本格式中,方括号部分表示可选部分;命令名、选项与参数之间,参数与参数之间都必须用一个或多个空格分隔。
【提示】Linux系统严格区分英文字母的大小写,同一字母的大小写被看作不同的符号。
因此,无论是Shell的命令名、选项名还是参数名都必须注意大小写。
步骤2.了解Linux的运行级别
运行级别是指Linux为适应不同的需求,在启动时规定的不同运行模式。
Linux有7个运行级别,如表3-2所示。
表3-2运行级别
运行
级别
说明
运行
级别
说明
0
关机
4
保留的运行级别
1
单用户模式
5
完整的多用户模式,自动启动图形化用户界面
2
多用户模式,但不提供网络文件系统(NFS)
6
重新启动
3
完整的多用户模式,仅提供字符界面
如果运行级别设置为5(默认情况),系统启动后将自动进入图形化用户界面;如果希望启动后仅出现字符界面,则将运行级别设置为3。
运行级别的信息保留在/etc/inittab文件中,修改该文件中启动时的运行级别就可决定图形化用户界面的启动方式。
只有超级用户才能修改/etc/inittab文件。
无论是使用桌面环境下的文本编辑器(gedit),还是利用vi文本编辑器等都能对/etc/inittab文件进行编辑。
步骤3.学习字符界面的登录
(1)从图形化用户界面切换到虚拟终端
默认情况下,Linux启动后直接进入图形化用户界面。
按【Ctrl+Alt+F1】组合键(Vmware虚拟机中的Linux系统必须长按该组合键约2秒)切换到第1个虚拟终端。
出现如图3-1所示的字符界面。
图3-1字符登录界面
【提示】在此字符界面上,第一行信息表示当前使用的Linux发行版本是RedHatEnterpriseLinuxServer,版本号为5,又名Tikanga。
第二行信息显示Linux内核版本是2.6.18-8.e15,以及本机的CPU型号是i686(Linux将Intel奔腾以上级别的CPU,包括奔腾II、奔腾III和奔腾IV都表示为i686)。
第三行信息显示本机的主机名为rhel5hbzy。
如果用户未设置主机名,则使用系统的默认主机名localhost。
光标在“login:
”后,表明正在等待输入用户名。
输入用户名“root”并按【Enter】键,出现“Password:
”字样,输入口令“root123”并按【Enter】键,成功登录Linux系统,如图3-2所示,系统等待用户输入Shell命令(如果用户名或口令有误,系统要求重新输入)。
只要不是第一次登录系统,屏幕都会显示该用户账号上次登录系统的时间以及登录的终端号。
由于Linux操作系统有内部邮件系统,用户登录后有时会出现类似“Youhavaamail”等信息,提示用户有新的电子邮件。
图3-2成功登录后的字符界面
【提示】与Windows不同的是:
Linux字符界面下输人口令时,屏幕上没有任何显示内容,并不会出现类似“******”的字符串来提醒用户已经输入几个字符。
(2)直接启动并登录字符界面
•启动文本编辑器:
单击“应用程序”→“附件”→“文本编辑器”菜单项,弹出如图3-3所示的文本编辑器窗口。
•打开/etc/inittab文件:
单击工具栏上的“打开”按钮,弹出如图3-4所示窗口,在“位置”栏后输入/etc/inittab,打开inittab文件,如图3-5所示。
•修改运行级别:
在inittab文件中,将内容为“id:
5:
initdefault”的行的数字“5”改为“3”,保存并退出文本编辑器。
•重启计算机,直接进入如图3-1所示的字符界面,输入用户名和口令登录。
图3-3文本编辑器图3-4打开inittab文件
图3-5编辑inittab文件
【提示】inittab文件中以“#”开头的内容都是注释信息,“id:
5:
initdefault”行中数字为5表示启动时自动启动图形界面;数字为“3”表示启动时只出现字符界面。
(3)手工启动图形化用户界面
如果运行级别为“3”,启动时不会自动启动图形化用户界面,而用户却需要使用桌面应用程序,那么用户可从任何一个虚拟终端手工启动图形化用户界面:
在Shell命令提示符后输入命令“startx”,系统执行与XWindow相关的一系列程序,出现如图3-6所示的图形化登录界面,输入用户名和口令进入图形用户界面。
此时启动图形化用户界面的那个虚拟终端将被相关进程占用,而第7个虚拟终端显示图形化用户界面。
【提示】桌面操作完成后,可关闭图形化用户界面。
以下两种方法均可关闭图形化用户界面:
·单击顶部面板上【系统】→【注销】菜单项,在弹出的对话框中单击“注销”按钮,在弹出的确认对话框中单击“确定”按钮,返回到手工启动图形界面的虚拟终端。
·按【ctrl+Alt+Backspace】组合键返回到手工启动图形界面的虚拟终端。
图3-6图形界面
步骤4.学习字符界面下注销、重启与关机
(1)注销
在命令提示符后输入命令“exit”并按【Enter】键(或按【Ctrl+d】组合键),当前用户退出登录状态,虚拟终端回到如图3-1所示的字符登录界面,等待其他用户登录。
【提示】已经登录的用户如果不再需要使用系统,则应该注销,即退出登录状态。
Linux是多用户操作系统,注销表示一个用户不再使用系统,而正在使用计算机的其他用户不会受到影响。
(2)重启
在命令提示符后输入命令“reboot”(或“shutdown–rnow”)并按【Enter】键,计算机执行重启操作。
【提示】当运行级别为“3”时,重启后进入如图3-1所示的字符登录界面;当运行级别为“5”时,重启后进入如图3-6所示的图形化用户登录界面。
(3)关机
在命令提示符后输入命令“halt”(或“shutdown–hnow”)并按【Enter】键,计算机立即开始关机操作。
【提示】在关机(或重启)过程中,Linux会终止所有在后台运行的守护进程,保存缓存中的有关数据,卸载所有的文件系统,然后关闭电源(或重启)。
知识与技能拓展
1.字符界面下的中文显示
RHEL5Server字符界面默认使用英文,即使在安装时指定系统的默认语言为简体中文,字符界面下中文字符也不能正常显示,需要安装zhcon等中文平台。
2.Shell命令处理方式
·如果用户输入的是内置命令,则由Shell的内部解释器进行解释,并交由内核执行。
·如果用户输入的是实用程序命令,且给出了命令路径,则Shell按照用户提供的路径在文件系统中查找。
如果找到则调入内存,交由内核执行;否则输出提示信息。
·如果用户输入的是实用程序命令,但没有给出命令路径,则Shell会根据PATH环境变量所指定的路径依次查找。
如果找到则调入内存,交由内核执行;否则输出提示信息。
3.关机与重启的实用技巧
由于Linux是多用户操作系统,可能有多个用户在同时使用,立即关机(或重启)可能导致其他用户的工作被突然中断。
因此,系统管理员在关机(或重启)之前都会发出提示信息,提醒所有登录用户即将关机(或重启),且预留一段时间让用户结束各自的工作并退出登录。
常用关机和重启命令如下:
shutdown–h1010分钟后关机
shutdown–r1010分钟后重启
如果在命令提示符后输入命令“shutdown-h10”并按【Enter】键,系统每一分钟向所有终端发送一次“ThesystemisgoingDOWNforsystemhaltin10minutes(系统将在10分种后关闭)”等提醒信息。
预定时间到期后执行关机操作
【提示】在预定时间到期之前可按【Ctrl+C】组合键取消关机操作,系统停止发送提示信息。
任务总结
通过本任务的实施,应掌握下列知识和技能:
·虚拟终端和字符界面的概念
·字符界面的优点
·Shell的功能
·Shell命令类型、命令提示符、格式(重点、难点)
·Linux的运行级别
·字符界面的登录(从图形界面切换、直接启动登录)(重点)
·手工启动图形化用户界面(重点)
·字符界面下的注销、重启与关机(重点)
3.2子学习情境:
Shell命令使用实例
任务描述
某公司与一所高职学校联合进行“基于工作过程”的教材开发,项目组组长为方便管理,决定创建一个工作目录work,并在该目录中再创建photo、document等子目录,以便分类存放相关文档,并将root目录下的文件pict1.png复制到photo子目录下。
另外为合理安排工作进度,还要制订一个工作计划文件task。
任务实施流程
创建新文件
相关资讯
1.Shell命令的相关帮助方法
Shell命令是熟练运用Linux的基石,但Shell命令数量众多、选项繁杂,不易掌握,学会求助十分重要。
(1)列出Shell命令集
•在字符界面下或图形界面终端中按【Tab】键2次可以显示出所有shell命令。
•用help、manbuiltin或manbash命令可以列出所有的内部命令。
•用ls/bin命令可以列出Linux系统最基础、所有用户都能使用的外部命令。
•用ls/sbin命令可以列出只有超级用户root才能使用的、管理Linux系统的外部命令。
•用ls/usr/bin及ls/usr/local/bin命令可以列出所有用户都能使用的可执行程序目录。
•用ls/usr/sbin、ls/usr/local/sbin或ls/usr/X11R6/bin命令可以列出只有超级用户root才能使用的、涉及系统管理的可执行程序目录。
(2)man命令
用man命令可以显示指定命令的手册页帮助信息。
格式:
man命令名
例如:
输入“mancd”命令后显示出“cd”命令的用法说明,用户可以使用上下方向键、【PgDn】、【PgUp】键前后翻阅帮助信息,按【q】键退出man命令。
(3)--help选项
使用--help选项也可以获取命令的帮助信息,但不是所有的命令都有该选项。
help选项提供的帮助信息多为中文。
格式:
命令名--help
例如:
输入“ls--help|more”命令显示“ls”命令的帮助信息。
由于帮助信息较长,使用管道|和more命令分页显示帮助信息。
【提示】管道是Shell的一大特征,它将多个命令前后连接起来形成一个管道流。
管道流中的每一个命令都作为一个单独的进程运行,前一个命令的输出结果作为后一个命令的输入,从左到右依次执行每一个命令。
利用符号“|”实现管道功能。
2.Shell命令通配符
Shell命令中可以使用通配符来同时引用多个文件以方便操作。
Linux中Shell命令的通配符包括下列5种:
(1)通配符“*”:
代表任意长度的任何字符。
(2)通配符“?
”:
代表任何一个字符。
(3)字符组通配符“[]”、“-”和“!
”:
“[]”表示指定的字符范围,“[]”内的任意一个字符都用于匹配。
“[]”内的字符范围可以由直接给出的字符组成,也可以由起始字符、“-”和终止字符组成,如果使用“!
”则表示不在这个范围之内的其他字符。
例如:
ls*.png显示当前目录中所有.png图片文件
ls/root/u*显示/root目录中以u开头的所有文件和目录。
lsb?
显示当前目录中首字母为b,文件名只有两个字符的所有文件和目录
ls/bin/[csh]*显示/bin目录中首字母为c或s或h的所有文件和目录。
ls/bin/[!
csh]*显示/bin目录中首字母不是c或s或h的所有文件和目录。
ls/bin/[a-h]*显示/bin目录中首字母是a~h的所有文件和目录。
3.自动补全
自动补全是指用户在输入命令名、文件或目录名时,只需要输入前几个字母,然后利用【Tab】键自动找出匹配的命令、文件或目录,大大提高工作效率。
(1)自动补全命令名
用户只输入命令名的开头一个或几个字母,然后按1次【Tab】键,系统会自动补全能够识别的部分(若不能识别则命令名不发生变化);再按1次【Tab】键,系统显示出符合条件的所有命令供用户选择。
(2)自动补全文件或目录名
用户在输入文件或目录名时,只输入文件或目录名的开头一个或几个字母,然后按1次【Tab】键,系统会自动补全能够识别的部分(若不能识别则文件或目录名不发生变化);再按1次【Tab】键,系统显示出所有符合条件的文件或目录供用户选择。
4.中断Shell命令
如果一条命令花费了很长的时间来运行,或在屏幕上产生了大量输出,可按【Ctrl+c】键来中断它(在正常结束之前,中止它的执行)。
任务准备
1.一台装有RHEL5Server操作系统的计算机,且配备有CD或DVD光驱、音箱或耳机。
2.启动Linux切换到字符界面,以超级用户“root”(口令为“root123”)登录。
任务实施
步骤1.查看当前路径
输入命令pwd显示当前目录的绝对路径。
如图3-7所示。
命令格式:
pwd。
图3-7显示当前路径
【提示】路径分绝对路径和相对路径。
绝对路径是指从根目录“/”到当前目录(或文件)的路径,而相对路径是指从当前目录到其子目录(或文件)的路径。
目录之间的层次关系以“/”分隔。
步骤2.显示当前目录中的子目录及文件
输入命令ls显示当前目录下的子目录及文件,如图3-8所示。
通常绿色代表文件,蓝色代表的是目录。
图3-8显示root目录下的目录及文件
【提示】ls命令有两种格式:
格式
(1):
ls[选项]
功能:
查看当前目录的所有文件和子目录
格式
(2):
ls[选项]文件或目录
功能:
查看指定目录或文件的信息。
ls配合不同的选项,显示效果有所不同,如表3-3所示。
如输入命令ls/root/user1,显示user1目录下的子目录及文件。
表3-3ls命令的选项
选项
效果
-a
显示所有文件和子目录,包括“.”开头的隐藏文件和隐藏子目录
-A
与a选项功能基本相同,只是不显示“.”和“..”目录
-l
显示文件和子目录的详细信息包括文件类型和权限、所有者、所属组群、文件大小、最后修改时间、文件名等信息
-d
如果参数是目录,则只显示目录的信息而不显示其中所包含的文件的信息
-F
显示文件名,并使用一些符号来表示文件类型如“/”表示其为目录
-t
按照时间顺序显示文件,越新的文件越排在前面
-R
不仅显示指定目录下的文件和子目录信息,且递归地显示各子目录中的文件和子目录信息
--color
以不同颜色显示文件类型
步骤3.创建工作目录work
输入命令mkdirwork在当前root目录下创建工作目录work,如图3-9所示。
(命令格式:
mkdir[目录])
接着输入ls命令显示root目录下的内容,可以看到work已被创建。
如图3-10所示。
图3-9创建目录
图3-10显示当前目录下的所有文件和子目录
步骤4.切换目录到work子目录下
输入命令cd/root/work从当前目录/root切换到work子目录下,如图3-11所示。
(命令格式:
cd[目录])。
图3-11切换目录
步骤5.在工作目录work下创建子目录photo、document
输入命令mkdirphoto和命令mkdirdocument,在当前目录work下建立子目录photo和document。
接着输入ls命令显示当前目录/root/work下的内容,如图3-12所示。
可以看到所创建的两个子目录已经存在。
图3-12创建子目录并显示
步骤6.复制文件pict1.png
输入命令cp/root/pict1.png/root/work/photo/pict1.png将/root目录下的文件pict1.png复制到photo子目录下,接着输入命令ls/root/work/photo显示子目录photo下的内容,如图3-13所示。
可以看到pict1.png已成功复制到photo子目录下。
图3-13复制文件
【提示】复制文件的命令格式:
cp[源文件名][目标文件名]
步骤7.创建工作计划文件task
输入命令cat>task,然后在当前光标处输入字符信息,如图3-14所示。
按【Ctrl+d】键结束输入,返回到命令提示符状态。
图3-14创建文件
【提示】输入输出重定向
Shell不使用标准输入、标准输出或标准错误输出端口而重新进行指定的情况称为输入输出重定向。
(1)输出重定向“>”
输出重定向指命令执行的结果不在标准输出(屏幕)上显示,而是保存到某一文件,用符号“>”来实现。
指定文件不需要预先创建,输出重定向能新建指定文件;如果指定文件已存在,则其原内容将被覆盖。
(2)附加输出重定向“>>”
功能与输出重定向基本相同,不同的之处在于:
附加输出重定向将输出内容添加在原来文件已有内容的后面,而不会覆盖其内容。
(3)错误输出重定向“2>”和“&>”
•将程序执行结果显示在屏幕上,而错误信息重定向到指定文件,使用“2>”符号。
•将程序执行结果和错误信息都重定向到同一指定文件,使用“&>”符号。
(4)输入重定向“<”
输入重定向与输出重定向完全相反,是指不从标准输入(键盘)读入数据,而是从指定文件读入数据,用符号“<”来实现。
输入重定向并不常用,但少数命令(如path)不接受文件名为参数,必须使用输入重定向。
知识与技能拓展
1.常用Shell命令
(1)date命令
格式:
date[MMDDhhmm[YYYY]]
功能:
查看或修改