📄 tlfc讲义7-9-10章.txt
字号:
1,2d0
< a
< b
5a4,5
> f
> g
实用工具
7.4.2 find
find是目录树查找和执行命令。它能根据要求在目录及其子目录中查找文件,并且可以对匹配的文件运行命令和shell脚本。
find directories … options … action
options 常用如下
-name name 查找名字为name的文件
-user name 查找属于用户name的文件
-type [fdlcb] 查找指定类型的文件( “d” 代表目录,“l” 代表连接)
实用工具
options 常用如下
-size [+/-]n[ck] 查找指定大小的文件 (如 +10k意指大于10 KB)
-inum number 查找指定inode号的文件
选项-name支持通配符(*、?、[ ])
也可以用whereis来查找文件的位置
查找后操作可为 –print
-exec command{}\
-ok command{}\
实用工具
7.4.3 grep
在文本文件中查找内容。
-v 输出不匹配的行
-c 输出满足匹配模式的行数
-i 匹配时忽略大小写
-n 输出该行在文件中的位置
实用工具
7.4.4 Regular Expressions (RE)正则表达式
模式识别机制
所有的正则表达式必须用单引号包括
1.模式匹配字符
. 匹配除换行符之外的任何一个单 个字符。 空格也将作为字符。例如,p.p可以匹配 pep、pip、pcp等。
实用工具
[list] 匹配列表中的其中一个字符
[range] 匹配指定范围中的一个字符
[^ ] 匹配以外的一个字符
Examples:
grep ‘[abc]’ /etc/passwd
grep ‘[^abc]’ /etc/passwd
实用工具
2.配合使用量词:
* 匹配其前一个字符零次或多次实例,例 如,bugs*将匹配bugs(一个s)或bug (没有s)。
.* 表示匹配任何数量的任何字符
\{n\} 匹配前一个字符n次
例: grep ‘[o]\{2\}’ /etc/passwd
实用工具
3.控制字符
^ 当用于正则表达式的开始时,它要求后面 的正则表达式要出现再一行的开始。不在 正则表达式的开始时,^只代表本身。
$ 当用于正则表达式的结尾时,它要求前面 的正则表达式要出现在一行的结尾。
例: grep ‘^a’ passwd grep ‘h$’ passwd
ls –l |grep ‘^d’ grep ‘^ds[0-9]’ /etc/passwd
grep ‘^[a-zA-Z]*[0-9]’ /etc/passwd
实用工具
4.如果要表示特殊字符需要在前面加上反斜杠\
\..$ 匹配倒数第二个字符是.的行
^…$ 匹配只有3个字符的行
^[0-9]\{3\}[^a~z] 匹配以3个数字开头跟着是一非小写字符的行
^\([A-Z][A-Z]\)*$ 匹配只包含偶数个大写字母的行
例:ls –a |grep ‘^\.[abc]’
grep ‘^[a-z]\{2\}[0-9]’ passwd
实用工具
7.4.5 sed 实用程序
1. 管道过滤器,不修改它操作的文件,为了保护修改,sed的输出必须重定向到一个文件。
2. 简单用法:sed ‘command’ file
1)q命令
例:sed ’12q’ lilo.conf 列出前12行
sed ‘/^ds1/q’ passwd 输出直到ds1为开头的行为止
实用工具
2)p命令
例:sed –n ‘/games/p’ passwd
说明:这里的-n表示禁止sed 向屏幕输出所有搜索过的行。
3)s命令
例:sed ‘s/label/la/g’ lilo.conf >ab1.txt
sed ‘1,20s/ label/la/g’ lilo.conf >ab2.txt
用s进行查找替换
说明:g表示在全局查找
实用工具
练习:
sed –n ‘/^games/,/^ds1/p’ passwd
7.4.6 awk实用程序
是一种解释性的编程语言,可用来过滤文本,常与sed配合使用。
7.4.7 Perl语言
跨平台的程序设计语言;也可用来建立和维护Web服务器
第九章 文档编辑器vi
是一个虚拟显示行编辑器
文本输入模式,不支持鼠标操作
功能强大,运行速度快
在命令模式下,键盘输入被视为命令
在文本插入模式下,键盘输入被视为文本
Vi 介绍
vi filename
三种操作模式
命令模式 输入命令或移动光标,默认 的模式,支持大量的编辑命令
插入模式 输入文本
ex模式 输入扩展命令
以只读方式打开
view filename(类似功能的命令是什么)
vi模式转换
vi myfile
insert
mode
$
command
mode
ex
mode
I i a A
O o c
<Esc>
x q wq
:
<Esc>
命令模式
键盘输入被视作指令
上下左右移动
h 左 j 下 k 上 l 右
gg 首行
G 末行
0 移至行首
$ 移至行末
nG 移至第n行
h
j
k
l
命令模式
键盘输入被视作指令
按屏幕进行移动
^F 下卷一屏
^B 上卷一屏
^D 下卷半屏
^U 上卷半屏
删除命令
x 删除光标下的字符
X 删除光标前面的字符 思考:误删了怎么办?
dd 删除一行
n dd 删除n行
dw 删除至下一词首
D 删除至行尾
dgg 删除至文档首
dG 删除至文档尾
说明:本次删除的内容是存放在缓存里
复制 粘贴命令
yy 复制一行
nyy 复制n行
ygg 复制至文档首
yG 复制至文档尾
p 将缓存中的内容粘贴到光标后
P 将缓存中的内容粘贴到光标前
思考:剪切如何实现呢?
查找命令
/word 从当前光标位置向下查询
?word 从当前光标位置向上查询
n 重复往后查找
N 重复往前查找
替换查找
:1,$s/old/new/g 用new字符串替换所有old
:1,20s/old/new/gc 前20行中,用new字符替换old, 每次替换前要求确认
:n,ms/old/new/g
c 要求用户确认
撤销
u 撤销上一次操作
U 将当前行恢复为原貌
退出
w 保存
w! 强制保存
wq 保存退出
wq! 强制保存并退出
q 不保存退出
q! 不保存强行退出(无论文档是否修改)
一些特殊用法
:r filename 读入一个文件,并将文件内容合并到当前行后。
:!shell command 执行shell命令
:r!shell command 将shell命令的输出插入到文档中
:set all
其他编辑器
1.基于终端环境
pico, emacs等
2.基于X Window环境
xemacs, xedit, gedit等
第十章 Turbolinux应用程序
GIMP
XPAINT
LYX
Mozilla
ENLIGHTENDSM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -