您的位置:首页 > 运维架构 > Linux

《Unix & Linux 大学教程》 - 第二十一章 学习笔记

2012-09-24 16:29 288 查看
学习笔记,内容基础,适合初学者。

阅读之前,请务必花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 & Linux 大学教程》 - 第十四、十五章 学习笔记 使用shell:初始化文件

《Unix & Linux 大学教程》 - 第十六、十七章 学习笔记 过滤器:简介和基本操作

《Unix & Linux 大学教程》 - 第十八章 学习笔记 过滤器:统计和格式化

《Unix & Linux 大学教程》 - 第十九章(一) 学习笔记 过滤器:选取、排序、组合及变换

《Unix & Linux 大学教程》 - 第十九章(二)、第二十章 学习笔记 过滤器:选取、排序、组合及变换 正则表达式

《Unix & Linux 大学教程》 - 第二十一章 学习笔记 显示文件

《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记 vi文本编辑器(一)

《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记 vi文本编辑器(二)

《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记 vi文本编辑器(三)

《Unix & Linux 大学教程》 - 第二十三章 学习笔记 Unix文件系统

《Unix & Linux 大学教程》 - 第二十四章 学习笔记 目录操作

《Unix & Linux 大学教程》 - 第二十五章 学习笔记 文件操作

《Unix & Linux 大学教程》 - 第二十六章(一) 学习笔记 进程和作业控制

[b]《Unix & Linux 大学教程》 - 第二十六章(二) 学习笔记 进程和作业控制
[/b]






第二十一章:显示文件

部分显示文件的工具

程序作用章号
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个空格)

基本命令
h显示帮助信息
<Space>前进一屏
q退出
高级命令
g跳到第一行
G跳到最后一行
=显示当前行号和文件名
<Return>前进一行
n<Return>前进n行
b后退一屏
y后退一行
ny后退n行
d前进(向下)半屏
u后退(向上)半屏
<Down>前进一行
<Up>后退一行
<PageUp>后退(向上)一屏
<PageDown>后退(向下)一屏
ng跳到第n行
np跳到文本的n%行处
/pattern向前搜索指定模式
?pattern向后搜索指定模式
n重复搜索:相同方向
N重复搜索相反方向
!command执行指定的shell命令
v使用当前文件启动vi编辑器
-option改变指定的option
_option显示option的当前值
使用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,挤压):将多个空白行压缩成一个

基本命令
h显示帮助信息
<Space>前进一屏
q退出程序
高级命令
=显示当前行号
<Return>前进一行
d前进(向下)半屏
f前进一屏
b后退一屏
/pattern向前搜索指定模式
/重复上次搜索
!command执行指定的shell命令
v使用当前文件启动vi编辑器
关于进制

关于进制的信息请参阅数论有关书籍

含义计算机表示法发音
基10的101101“one hundred and one,一百零一”
基16的1010x101“hex one-zero-one,十六进制 1-0-1”
基8的1010101或0o101“octal one-zero-one,八进制 1-0-1”
基2的1010b101“binary one-zero-one,二进制 1-0-1”
hexdump与od

hexdump

语法

hexdump -C [file...]

-C(canonical,规范):自动使用合适的选项组合,生成规范输出(类似于下面的输出)

写道
……

000001f0 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................|

00000200 52 e5 74 64 04 00 00 00 e0 8d 01 00 00 00 00 00 |R.td............|

00000210 e0 8d 61 00 00 00 00 00 e0 8d 61 00 00 00 00 00 |..a.......a.....|

00000220 20 02 00 00 00 00 00 00 20 02 00 00 00 00 00 00 | ....... .......|

00000230 01 00 00 00 00 00 00 00 2f 6c 69 62 36 34 2f 6c |......../lib64/l|

00000240 64 2d 6c 69 6e 75 78 2d 78 38 36 2d 36 34 2e 73 |d-linux-x86-64.s|

00000250 6f 2e 32 00 04 00 00 00 10 00 00 00 01 00 00 00 |o.2.............|

00000260 47 4e 55 00 00 00 00 00 02 00 00 00 06 00 00 00 |GNU.............|

00000270 0f 00 00 00 04 00 00 00 14 00 00 00 03 00 00 00 |................|

00000280 47 4e 55 00 cd e8 22 bf c4 68 6a 94 7a 40 a8 5b |GNU..."..hj.z@.[|

00000290 8c b4 1d 06 e2 3a 81 f7 61 00 00 00 72 00 00 00 |.....:..a...r...|

……
hexdump -C [-s offset] [-n length] [file...]

offset是在文件开头略过的字节数(任何进制数)

length是要显示的字节数(十进制数)

hexdump -C -s 0x120 -n 96 /bin/ls | less

od
语法
od -Ax -tx1z [file...]
以规范格式显示二进制文件
-A(address,地址):指定偏移值进制(对于规范输出来说,指定x,以16进制显示偏移)
-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/



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: