第1页:第21章显示文件
本页为第21章显示文件的章节封面,标示本章讲解的less、more、head、tail与二进制查看工具。
第2页:本章需要解决的几个问题
- 怎么控制文件的显示?
- less显示多个文件时,怎么在文件之间切换?
- 显示二进制文件时,什么是规范格式?如何使用hexdump和od?
第3页:文件显示程序综述文件文本文件二进制文件
本页为课件图示页,源文件仅保留小节标题“21.1文件显示程序综述文件文本文件二进制文件”,建议对照原图补充图示说明。
第4页:文件显示程序综述文本文件显示示意图
本页为课件示意图,图中可见:在标准输出上显示在文本编辑器中显示。
第5页:文件显示程序综述文本文件显示示意图
本页为课件示意图,图中可见:整个显示分页显示catless | more | p。
第6页:文件显示程序综述文本文件显示示意图
本页为课件示意图,配合图形说明21.1文件显示程序综述文本文件显示小节的结构与流程。
第7页:文件显示程序综述文件文本文件二进制文件
本页为课件图示页,源文件仅保留小节标题“21.1文件显示程序综述文件文本文件二进制文件”,建议对照原图补充图示说明。
第8页:21.1文件显示程序综述示意图
本页为课件示意图,图中可见:二进制文件显示hexdump | od在标准输出上显。
第9页:21.2 less简介:启动、停止、帮助
- 停止
- 按q
- 帮助
- 按hman lessless--help
第10页:21.4使用less
- 初学者使用less的技巧(1)使用-m选项,可以显示当前所在文件的位置;(2)从<Space>、h、q三个命令入手,逐渐掌握所有命令。
第11页:21.5使用less在文件中搜索
- 向前搜索/pattern
- 向后搜索?pattern搜索成功后,会高亮显示匹配成功的文本
第12页:使用less在文件中搜索:/buffer
- 例子/buffer?buffer/buf[:lower:]*nN_I-I
第13页:21.6原始模式和成熟模式
- 设备驱动程序为特定类型的设备提供接口的程序。
- 终端驱动程序控制终端的驱动程序。
第14页:原始模式和成熟模式:线路规程终端驱动程序
- 线路规程终端驱动程序对输入信号的处理方式。
- 两种主要的线路规程-规范模式/成熟模式,如shell-原始模式,如vi
第15页:21.7 less使用的选项
- 语法定义:less[-cCEFmMsX][+command] [-xtab][file…]其中:command:less自动执行的第一条命令tab:希望使用的制表间距
第16页:21.7 less使用的选项
- 选项:-s (squeeze):将多个空白行挤压为一个空白行-c (clear):从顶端向下显示每一屏数据-C (Clear):在写新数据之前,先清屏-m (more):展示已显示内容占文件的比例-M (More):展示文件名、行号和已显示比例-E (End):显示到文件末尾时,自动退出
第17页:21.7 less使用的选项
- 选项:-F (Finish automatically):文件在一次显示后自动退出+:指定less从什么开始显示数据例如:less +G /etc/termcapless +37g /etc/termcapless +37 /etc/termcapless +/buffer /etc/termcap
第18页:21.7 less使用的选项
- 选项:-I (Ignore case):忽略大小写-N (number):在输出中显示行号-x:告诉less按指定的正则区间设置制表符
第19页:less使用的选项:less运行时选项的
- less运行时选项的设置和取消:设置选项:输入-option取消选项:再次输入-option查看选项状态:输入_option
第20页:21.8使用less和cat的时机
- 准则
- 显示小文件用cat显示大文件用less
第21页:21.9使用环境变量定制分页程序
- PAGER变量
- 设置希望使用的分页程序如:export PAGER=less
- LESS变量
- 设置less启动时使用的选项如:export LESS=‘-CFMs’
第22页:21.10使用less显示多个文件
- 实现机制
- less维护一个文件列表,可以添加或删除列表中的文件,也可以使用命令在列表中的文件间进行切换。
第23页:使用less显示多个文件:多文件操作命令
- 多文件操作命令:含义命令切换到列表中的下一个文件:n切换到列表中的上一个文件:p切换到列表中的第一个文件:x在列表中当前文件的后面插入一个新文件:e从列表中删除当前文件:d显示当前文件的名称:f显示当前文件的名称=向前搜索指定的模式/*pattern向后搜索指定的模式?*pattern
第24页:21.11使用more显示文件
- 语法定义
- more[-cs][file…]
- 基本命令
- 含义命令帮助h前进一屏<Space>退出q
第25页:21.13显示文件文件的
- 开头
- head
- 语法定义
- head[-nlines][file…]其中:lines:希望显示的行数,默认是10行
第26页:21.13显示文件文件的:末尾
- 语法定义:tail[-n[+]lines][file…]其中:lines:希望显示的行数,默认是10行+lines:从第lines行开始显示
- 末尾:tail
第27页:观察不断增长的文件的末尾:tail-f
- 语法定义:tail-f[-nlines][file…]其中:-f:显示结束后,不退出程序,一直等待,伴随着文件的增长,有更多的输出。
第28页:观察不断增长的文件的末尾:tail-f
- tail-f存在的问题
- 由于tail-f一直运行,不退出,无法执行其它程序。
- 解决方法
- 1.后台运行:tail-f result &2.在单独的终端窗口或虚拟控制台中运行。
第29页:显示二进制文件:hexdump、od
- hexdump语法定义hexdump-C[-soffset][-nlength][file…]其中:offset:在文件开头略过的字节数length:要显示的字节数注意:offset可以是任何进制的数length只能是十进制的数
第30页:显示二进制文件:hexdump、od
- hexdump显示效果ASCIIHEXADECIMALOFFSET| …./lib…04 00 00 00 2000130
第31页:显示二进制文件:hexdump、od
- od语法定义od-Ax-tx1Z[-joffset][-Nlength][file…]其中:-A:指定使用哪一种计数系统表示偏移值-t:控制数据显示的方式