日期:2014-05-16  浏览次数:20602 次

《Unix & Linux 大学教程》 - 第七、八章 学习笔记

学习笔记,内容基础,适合初学者。

?

阅读之前,请务必花30秒查看前言说明(在第一、二章前面部分)

《Unix & Linux 大学教程》 - 第一、二章 学习笔记???Unix简介 & 什么是Linux?什么是Unix

《Unix & Linux 大学教程》 - 第三、四章 学习笔记? ?Unix连接 & 开始使用Unix

《Unix & Linux 大学教程》 - 第五、六章 学习笔记? ?GUI:图形用户界面 & Unix工作环境

《Unix & Linux 大学教程》 - 第七、八章 学习笔记? ?Unix键盘使用 & 能够立即使用的程序

《Unix & Linux 大学教程》 - 第九、十章 学习笔记? ?文档资料:Unix手册与Info & 命令语法

《Unix & Linux 大学教程》 - 第十一、十二章 学习笔记? ?shell & 使用shell:变量和选项

《Unix & Linux 大学教程》 - 第十三章 学习笔记? ?使用shell:命令和定制

?

?

第七章:Unix 键盘使用

基础知识

信号:

intr(interrupt):ctrl+c,用来终止程序,少数终端将delete映射到intr上。此映射可修改。

可以停止一个僵死的程序,一些程序封闭了intr信号,防止不小心按下^C。

取消shell中输入并没有执行的命令

?

quit:^\,同intr,并生成一个磁心文件(core file),用于调试程序。如果没有调试过程序,但是一个名为core的文件出现在一个目录中,那么意味着运行的程序出现严重错误而终止(最常见的是段故障segmentation fault,当程序试图访问不是为该程序分配的内存时就会发生这种故障,例如:不正确的使用指针)。

(关于磁心文件的来历和使用在书中第128页。)

?

stop:^S,发送stop信号,Unix暂停屏幕显示。

start:^Q(qontinue即continue),发送start信号,重新启动屏幕显示。

?

eof(end of file):文件结束信号,^D。

封闭eof信号

Bash:设置环境变量IGNOREEOF,例如

$ IGNOREEOF=2
$ echo $IGNOREEOF
2
$ Use "exit" to leave the shell.
$ Use "exit" to leave the shell.?

按下^D后会显示Use "exit" to leave the shell.

Korn Shell:设置ignoreeof,命令、提示不同而已

C-Shell:设置ignoreeof,命令、提示不同而已

?

erase:删除最后一个键入的字符。backspace或delete,取决于键盘及其映射。

^H与^?

backspace与^H相同,用来发送BS码。delete与^?相同,用来发送DEL码,^?只是缩写,并不是真正的键组合。其意味着:whichever key on your keyboard that sends the code that used to be called DEL(您的键盘上某一个用来发送DEL码的键)。

后来Unix系统被配置成backspace等同于^?而不是^H。这种情况下,^?映射到erase而不是^H。

远程连接Unix主机时,按下backspace可能发生意想不到的情况。在自己机器上面可以删除最后的字符,可是远程机器上却没有,而是显示的^H。

这是因为本地机器将^H映射到了erase而远程机器将^?映射到了erase,可以通过修改映射来解决。

stty erase ^H

?

werase:删除最后一个键入的单词。通常是ctrl+w

kill