学习笔记,内容基础,适合初学者。
阅读之前,请务必花30秒查看前言说明(在第一、二章前面部分)
《Unix & Linux 大学教程》 - 第一、二章 学习笔记 Unix简介 & 什么是Linux?什么是Unix
第二十一章:显示文件
部分显示文件的工具
程序 | 作用 | 章号 |
less | 分页程序:每次一屏的显示数据 | 21 |
more | 分页程序(已经废弃,在BSD中使用) | 21 |
pg | 分页程序(已经废弃,在System V中使用) | -- |
cat | 显示整个文件,没有分页 | 16 |
head | 显示文件的第一步分 | 16、21 |
tail | 显示文件最后一部分 | 16、21 |
grep | 显示包含/不包含特定模式的行 | 19、20 |
vi | 文本编辑器:显示和编辑文件 | 21 |
view、vi-R | 只读文本编辑器:显示但不允许修改文件 | 22 |
hexdump | 显示二进制文件 | 21 |
od | 显示二进制文件 | 21 |
基础知识
程序/命令
less
语法
less [-mMsIN] [+command] [-xtab] [file...]
command自动执行的命名
tab是希望使用的制表间距
file是文件名称
-s(squeeze,挤压):将多个空白行压缩成一个
-m(more):显示内容占文件的百分比
-M:显示文件名和行号以及内容占文件的百分比
-I(ignore case):忽略大小写
+:指定less从什么地方开始显示数据,加号之后任何内容都会作为初始命令执行
less +/buffer file (从buffer字符串开始显示)
less +37g file (从第37行开始显示)
-N(number,数字):输出中显示行号(默认对空白行编号),类似nl(默认不对空白行编号)
-x:选项后跟数字,告诉less按指定的正则区间(regular interval)设置制表符
less -x4 file (file文件的制表符设置为4个空格)
基本命令 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||
高级命令 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
使用less显示多个文件
:n(next) | 切换到列表中的下一个文件 |
:p(previous) | 切换到列表中的前一个文件 |
:x | 切换到列表中的第一个文件 |
:e(examine) | 在列表中插入一个新文件 |
:d | 从列表中删除当前文件 |
:f | 显示当前文件的名称 |
= | 同:f |
/*pattern | 向前搜索指定的模式 |
?*pattern | 向后搜索指定的模式 |
less file1 file2:一次只显示一个文件,需要手动切换文件(:n和:p)
在多个文件中搜索时,可以使用/*和?*来代替/和?,这样可以在所有文件中搜索,否则只会在当前文件中搜索。
环境变量
PAGER:设置默认的分页程序
export PAGER=less
LESS、MORE
export LESS='-Ms'(设置less默认启动选项)
export MORE='-s'(设置more默认启动选项)
more
语法
more [-s] [file...]
-s(squeeze,挤压):将多个空白行压缩成一个
基本命令 | ||||||||||||||||||
|
||||||||||||||||||
高级命令 | ||||||||||||||||||
|
关于进制
关于进制的信息请参阅数论有关书籍
含义 | 计算机表示法 | 发音 |
基10的101 | 101 | “one hundred and one,一百零一” |
基16的101 | 0x101 | “hex one-zero-one,十六进制 1-0-1” |
基8的101 | 0101或0o101 | “octal one-zero-one,八进制 1-0-1” |
基2的101 | 0b101 | “binary one-zero-one,二进制 1-0-1” |
hexdump与od
hexdump
语法
hexdump -C [file...]
-C(canonical,规范):自动使用合适的选项组合,生成规范输出(类似于下面的输出)
hexdump -C [-s offset] [-n length] [file...]
offset是在文件开头略过的字节数(任何进制数)
length是要显示的字节数(十进制数)
hexdump -C -s 0x120 -n 96 /bin/ls | less
-t(type of format,格式类型):控制数据显示方式(对于规范输出来说,指定x1,以16进制显示数据,每次一个字节;指定z,在每行末尾显示相应的ASCII值)
-j(jump over,跳过):指定从文件开头跳过多少字节
-N(number of bytes,字节数量):限制输出字节数量
od -Ax -tx1z -j 0x120 -N 96 /bin/ls (以16进制显示偏移,以16进制显示数据,每次显示一个字节,每行末尾显示相应ASCII值,从偏移0x120开始,显示96字节 - 6行输出)
名词解释
设备驱动程序:为操作系统和特定类型的设备提供接口的程序
终端驱动程序:当使用Unix的基于文本的CLI(命令行界面)时,控制终端的驱动程序称为终端驱动程序
line discipline:线路规程
规范模式(canonical mode):(Unix主要线路规程之一)在规范模式中,键入的字符累积在一个缓冲区(存储区域)中,除非按下Return键,否则不会向程序发送任何东西。(比如shell)
原始模式(raw mode):(Unix主要线路规程之一)在原始模式中,只要键一按下,字符就直接发送给程序。(比如less、vi、Emacs)
cbreak模式(稀有模式):原始模式变种。大多数输入都直接发送给程序,少数几个非常重要的键是由终端驱动程序直接处理的。5个特殊信号的键:intr(^C)、quit(^\)、susp(^Z)、stop(^S)、start(^Q)
转贴请保留以下链接
本人blog地址
http://su1216.iteye.com/
http://blog.csdn.net/su1216/