正在学习Linux,记录一下学习历程。参考《Unix&Linux大学教程》(幽默感+事无巨细),进行了精简摘要和总结。
文件显示程序综述
用分页程序显示文件:
分页程序:用来每次一屏地显示文本数据的程序
主要有l:ess,more
用cat显示文件:
一次显示整个文件(不是每次一屏),若文件过长,则只能看到文件尾部
显示文件的一部分:
head:显示文件开头
tail:显示文件末尾
grep:显示所有包含(或不包含)特定模式的行
用文本编辑器显示文件:
主要有:vi,Emacs,gdeit,nano
用来显示二进制文件的程序:
主要有:hexdump,od
Less简介
less与more:
more这个名字来自于:在每次满屏后,都会有一个提示词more
more只能前进,不能后退。
这在实际的使用中,有许多不便,有人说:“我们需要一个向后退的more “。另一个人说:”是,我们需要less“。
less即可以less,也可以more。而more只能more。
使用less
基本命令 | |
h | 显示帮助信息 |
<space> | 前进一屏 |
q | 退出程序 |
高级命令 | |
g | 跳到第一行 |
G | 跳到最后一行 |
= | 显示当文件名,行号和进度 |
<return> | 前进一行 |
n<return> | 前进n行 |
b | 后退一屏 |
y | 后退一行 |
ny | 后退n行 |
d | 前进(向下)半屏 |
u | 后退(向上)半屏 |
<down> | 前进一行 |
<up> | 后退一行 |
ng | 跳到第n行 |
np | 跳到文本的n%处 |
/pattern | 向前搜索指定模式 |
?pattren | 向后搜索指定模式 |
n | 重复搜索:相同方向 |
N | 重复搜索:相反方向 |
!command | 执行指定的shell命令 |
v | 使用当前文件启动vi编辑器 |
-option | 改变指定的option |
_option | 显示option的当前值 |
ps:每当搜索模式时,less将高亮显示文件中出现的搜索模式,高亮将一直保持,知道输入另一个搜索。
pps:less的很多命令直接取自vi
选项
-s 将多个空白行替换为一个空白行
-c 从顶端向下显示每一屏数据(默认为新行从平面底部向上滚动)
-C 写新数据之前将整个屏幕清空
-m 显示一个浏览文件百分比
-M 显示文件名,行号以及浏览文件百分比
-E 当显示到文件的末尾时,自动退出程序(适用于长文件)
-F 在整个文件可以一次显示时,自动退出程序(是拥有非常短的文件)
+command command作为初始命令,指定less从什么地方开始显示数据
-I 忽略大小写
-N 显示行号
显示多个文件
:n | 切换到列表中的下一个文件 |
:p | 切换到列表中的前一个文件 |
:x | 切换到列表中的第一个文件 |
:e | 在列表中插入一个新文件 |
:d | 在列表中删除当前文件 |
:f |
显示当前文件的名称(同=) |
= | 显示当前文件的名称 |
/*pattern | 向前搜索指定的模式 |
?*pattern | 向后搜索指定的模式 |
ps:当使用/*和?*搜索时,less将整个列表视作一个大文件。
观测不断增长的文件末尾
tail的-f选项,允许逐行观看一个文件的增长过程。
可以使其后台运行(使用&),也可以令起一个窗口。
原始模式和成熟模式
设备驱动程序:为操作系统和特定类型的设备(通常时某些类型的硬件)提供接口的程序。
终端驱动程序:当使用基于文件的CLI(命令行界面)时,控制终端的驱动程序。
终端驱动程序必须提供一个交互式用户界面,因此使用了线路规程。
线路规程:对数据进行特殊的预处理和后处理。
线路规程主要有两种:
模范模式(canonical mode):键入的字符积累在一个缓冲区(储存区域)中,除非按下<return>,否则不会向程序发送任何东西
原始模式(raw mode):只要键一按下,字符就直接发送给程序
shell工作在模范模式中,除非按下<return>健,否则不发送任何东西。
less工作在原始模式中,它能够完全接管命令行和屏幕,根据自己的需要显示行及处理字符。即按下健时,less能够立即响应。
ps:模范模式中,程序发送整行。原始模式中,程序发送单个字符。