| 7.1 基本操作 7.1.1 终端和键盘的基本约定 7.1.2 Linux的一段会话 7.1.3 注册 7.1.4 输入命令 7.1.5 敲错键盘的改正 7.1.6 提前输入 7.1.7 终止程序的运行 7.1.8 注销 7.1.9 信件 7.1.10 用户间通话 7.1.11 联机手册 7.1.1 终端和键盘的基本约定 Linux系统是以全双工的方式工作,即从键盘把字符输入系统,系统再将字符回送到终端并显示出来。通常,回送到终端的字符与输入字符相同,因此操作员看到的正是自己输入的字符。但也有个别的时候,系统不回送符号。例如,用户打入保密口令时,屏幕就没有显示。 键盘上大多数字符是普通打印字符,它们没有特殊含义。只有少数特殊字符指示计算机做专门的操作。其中最常见的特殊字符是回车键RETURN,它表示输入行结束;系统收到回车信息便认为输入的当前行结束,系统的响应是让屏幕光标回到下一行行首。 回车符只是控制符的一个例子。控制符是指控制终端工作方式的非显示字符。在一般终端上,回车键均占有一个键位,不过大多数控制符没有单独相应的键。所以输入一般控制符必须先按下控制键,或称作CTL、CNTL、CTRL键,然后再按所对应的字符键。例如,输入回车符可以直接按回车键,也可以先按控制键,再按m键。 CONTROL-m或CTL-m也是回车符。一些常用的控制符有:CTL-d,它表示终端的输入结束;CTL-g控制终端响铃;CTL-h称为退格键,用于改正输入的错误; CTL-i常称作Tab键,其功能是移动游标到下一个Tab位置,与标准打字机的Tab键类似。在LINUX系统里Tab键移动8个空格。我们并不一定需要使用控制符来实现相应的功能,因为有时这显得比较麻烦,在大部分终端上,退格和Tab等都有单独的键。 此外还有两个特殊键,一个是DELETE键,另一个是BREAK键。大多数LINUX系统中,DELETE键表示立即终止程序。在有些系统里,也用CTL-c终止程序。一般说来,BREAK键与DELETE键、CTL-c的功能基本相同。 7.1.2 Linux的一段会话 我们以用户和Linux系统的一段对话作为实例,给出一个程序片断,并给出相关命令的注解,你可以通过实习这个小程序来进一步了解Linux命令。(在本章的例子中,我们假设你的用户名是frank) login: frank 键入你的注册名 Password: 键入口令,系统不回送 You have mail. 提醒用户有邮件 $ 系统准备接收命令 $ 重复键入回车符 $ date 询问时间 Thu Mar 25 10:53:41 GMT 1999 $ who 询问谁在使用系统 frank tty1 Mar 24 22:24 renee tty2 Mar 25 10:02 qhua tty4 Mar 25 11:15 $ mail renee 写信给 renee subject:download 键入信件主题 Xteam Linux is ready to download. 信件内容 CTRL-d 信件结束并挂断 EOT 对话结束 $ 系统提示符 在这段对话中,用户frank通过一些简单命令与系统进行了成功的交流,实现了相应的功能,你也可以照样试试。下面进一步介绍其它命令和有趣的例子。 7.1.3 注册 Linux系统规定每个用户必须有一个注册名和一个口令。注册名可从系统管理员处得到。Linux系统能够连接各种各样的终端,系统通常使用小写字母。对于LINUX系统小写字母是至关重要,如果你的终端只有大写字母,这将给实际工作带来很多困难,最好还是另找一个合适的终端。 使用机器之前,应确保终端的开头设置恰当。终端开头的选择主要包括大小写,全双工、速度和波特率。接通终端要通过一些专门的方法,如拨通电话或某个专用的开关。在终端接通后,系统应显示: login: 假若终端显示的是一些杂乱的符号,可能是由传输速率不匹配而引起。应该检查一下速度开关或其它开关的设置。若检查后仍不能正常工作,可以慢慢地敲击几下BREAK键或INTERRUPT键。若仍不出现Login,那么应该另寻帮助。 出现Login后,应该用小写字母输入注册名,并按RETURN键。如果使用保密口令,系统将提出询问,在输入口令时系统不回送保密口令。 注册一旦成功,系统便响应一个提示符,表明系统已准备接收用户命令,提示符经常是一个美元符号$或百分号%。用户可以更改提示符号。提示符实际上是用户和系统的接口程序发出的,即命令解释程序Shell。 7.1.4 输入命令 终端显示提示符后,用户就可以输入命令请示系统执行。这里所谓命令就是请示调用某个程序。比如当用户输入date命令时,系统就去调用date程序显示当前的日期和时间,终端屏幕上会出现类似下面的信息: $ date Thu Mar 25 10:53:41 GMT 1999 当你输入命令时,一定不要忘记按回车健,因为系统只有收到回车键才认为命令行结束。 下一个命令可以试试who,即询问当前有哪些用户挂在系统里。 $ who frank tty1 Mar 24 22:24 renee tty2 Mar 25 10:02 qhua tty4 Mar 25 11:15 系统响应的第一列表示用户名,也就是用户的注册名,第二列表示终端名,即各用户使用的终端符号(tty为teletype的缩写),随后各列表示各用户注册登记的日期和时间。有兴趣的话你还可以试一下命令: $ who am i frank tty1 Mar 24 22:24 $ 这时系统仅回送用户自己的注册信息。假如用户打错了命令,系统将回答这一命令没有找到。 $ whom whom: command not found $ 当然,如果用户打错的命令恰好是系统的某一命令,系统就会执行该命令。 7.1.5 敲错键盘的改正 当命令从键盘输入时,如果敲错了键,并且在按回车键前发现了错误,则可以用两种方法改正。第一,逐字修改。用删字符一次擦除一个符号,随即输入正确的符号。第二,整行修改。用删行符一次删除一行,然后从头重新输入命令。 传统的LINUX系统中,删行符的省缺值为@,下面是命令行行首出现错误,删行后重新输入的例子: $ ddtae@ 命令敲错,删除整行 date Thu Mar 25 10:53:41 GMT 1999 删字符的省缺值为#,每个删字符删除前一字符,直至行首(不能超越行首)。当某键敲错时,可立即进行改正。如: $ dd#atte##e 随时改正 Thu Mar 25 10:53:41 GMT 1999 删字符和删行符的省缺值因系统而异。在许多Linux系统中用退格符(backspace)代替删字符。用户可以按下面的方法校验系统所用的删字符。 $ datee# 试用# datee#: command not found 删字符不是# $ datee¬ 试用 Thu Mar 25 10:53:41 GMT 1999 删字符是? 上面把退格符写成¬,以便读者看到这一符号。另一个经常使用的删行符是CTL-u。 当系统的程序或文件刚好要使用删字符、删行符时,可以前置反斜杠(backslash)\u31526符,以表示它们已不是删除符,而是符号本身。例如,要输入#符或@符时,可键入#或@。在输入@时系统可能将光标送到屏幕下一行行首,但这并不影响输入的结果,因为@已经记入系统缓冲区。 反斜杠有时也称作前导符(escape character),表示其后继符号作为一般符号。要删除一个反斜杠应键入二个删字符,即##。想一想这是为什么? 键盘输入的符号要经过一系列程序的检查和解释,符号最终作如何解释不仅取决于符号最终要送到哪,而且还取决于符号所经过的路径。除非关掉了回应(echo),否则键入的每个字符都立即回应,显示在终端上。在回车符输入之前,输入符号串暂时由系统内核保存起来,这样输入错误可由删字符或删行符改正。当删字符和删行符以反斜杠前导时,系统内核将不保留反斜杠,而只留下一符号。当回车符键入后,内核将符号串送到命令解释程序处理。 7.1.6 提前输入 Linux系统内核随时接收来自键盘的讯息,即使内核下正忙于处理其它事务也是如此。因此用户可以不断地键入,而不必等待系统的响应。假如系统正在进行终端输出,键入的字符和系统的输出显示在一起,键入的字符由系统单独存放,所以仍能得到正确的解释。 7.1.7 终止程序的运行 用户可根据具体系统的规定,用INTERRUPT、DELET或BREAK键来终止程序的运行。对于某些程序,如编辑程序ED,DELETE键只终止当前正在进行的编辑命令,并返回询问编辑命令的状态,而不退出编辑程序。关闭终端也能引起程序的终止。 当显示屏上输出信息太多太快,希望暂时停止输出,可以按CTL-S键。按CTL-S键之后,终端输出停止,用户程序也随之挂起,直至再按CTL-q键再次恢复输出为止。 7.1.8 注销 当系统回到询问命令状态时,按CTL-d键,这表示终端输入结束,用户工作结束。系统接收到终端的CTL-d键后,将完成注销的一系列例行操作,同时回送Login:到终端,等待下一个用户注册。有些系统仅以关闭终端实现注销。 7.1.9 信件 系统提供了用户之间通信的邮件系统,当用户打开终端注册登录时发现系统给出如下信息: you have mail. 这时用户可通过键入mail命令读取信件: $ mail mail程序将逐个显示用户的信件,并依照时间顺序,显示最新的信件。每显示一段信件,mail都询问用户是否要对该信件作些处理。若用户回答d,则表示删除信件;若仅按回车键,表示对信件不作任何改动(信件仍旧保存,下次还可读这一信件);若回答p,则要求重复显示信件;s filename表示要把信件存入所命名的文件;若回答q,表示要从mail退出。 我们在本章的第一个例子中演示了如何写一封信,作为练习,你可送信件给自己,然后键入mail读取自己发的信件,看看会有什么效果。(发信给自己是一种设置备忘录的方法)。 $mail frank 给自己写信 subject: test This is a mail test CRL-d EOT $ $mail 查看信件 “/var/spool/mail/frank:”1 message 1 new >N frank@xteam.xteamlinux.com Thu Mar 25 11:00 13/403 “test” & Message 1: From frank Thu Mar 25 11:00:25 1999/3/25 Received: (from frank@localhost) by xteam.xteamlinux.com(8.8.4/8.8.4) id LAA05170 for frank;Thu 25 Mar 1999 11:00:25 GMT Date: Thu,25 Mar 1999 11:00:25 GMT From:RHS Linux User <frank@xteam.xteamlinux.com> Message-Id:<199903251142.LAA05170@xteam.xteamlinux.com> To:frank@xteam.xteamlinux.com Subject:test Status:R This is a mail test & mail命令还有很多其它用法,例如发送事先准备好的信件,或一次送信给若干人。还可以用其它方法送信件。 7.1.10 用户间通话 当Linux系统处于多用户的情况下,有时在终端上会突然显示出下述信息: Message from renee tty2… 并伴随出现一阵嘟嘟响声。这是用户renee想和你通话而产生的信号。若你用如下命令响应他: $ write renee 这就建立起了你和renee的通信线路,renee在他的终端上键入的内容同时显示在你的终端上,反之你键入的内容也显示在renee的终端上。为区分终端上哪些是你输入的,哪些是renee输入的,我们使用如下通话协议:(o)表示一段话说完,并让对方发话,(oo)代表通话结束并退出程序。 renee’s terminal: frank terminal: [renee@xteam renee]$ write frank $ Message from renee tty2… $write renee [renee@xteam renee]$Message from you tty1… did you forget lunch? (o) did you forgeet lunch? (o) ten minutes (o) ten minutes (o) ok (oo) ok (oo) ctl-d EOF Ctl-d EOF [renee@xteam renee]$ $ 除CTL-d键外,也可以使用DELETE退出write命令。 如果你不愿意别人干扰你的工作,可以使用mesg命令拒绝接受通话。当你向一个拒绝接收通话的用户发写命令、或者向没有注册的用户要求通话时,write命令会显示不能通话的原因。 7.1.11 联机手册 在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用man这个命令可以调阅其中的帮助信息,非常方便和实用。例如你要了解who命令的用法,键入: $ man who man将who命令的用法显示在终端上,也可以通过man命令查找man的用法,只需键入: $ man man  谈谈您的看法
|