字符界面进阶(重定向和管道)

上传人:第*** 文档编号:49211035 上传时间:2018-07-25 格式:PPT 页数:31 大小:986KB
返回 下载 相关 举报
字符界面进阶(重定向和管道)_第1页
第1页 / 共31页
字符界面进阶(重定向和管道)_第2页
第2页 / 共31页
字符界面进阶(重定向和管道)_第3页
第3页 / 共31页
字符界面进阶(重定向和管道)_第4页
第4页 / 共31页
字符界面进阶(重定向和管道)_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《字符界面进阶(重定向和管道)》由会员分享,可在线阅读,更多相关《字符界面进阶(重定向和管道)(31页珍藏版)》请在金锄头文库上搜索。

1、LOGO第3章 字符界面操作进阶本章目标学习使用linux流、管道、重定向.Introductionv 本章我们将涉及到 重定向标准 I/O 管道和过滤findv find find是目录树查录树查 找和执执行命令。它能根据要求在目录录及其 子目录录中查查找文件,并且可以对对匹配的文件运行命令。 find directories options action Options 常用如下 -name name 查查找名字为为name的文件 -user name 查查找属于用户户name的文件 -type fdlcb 查查找指定类类型的文件( “d” 代表目录录,“l” 代表连连接) -size +

2、/-nk 查查找指定大小的文件 (如 +10k意指大于 10KB) -exec command ; 执执行指定的文件 -print在标标准输输出中打印文件名 -ok command ; 在执执行命令前要求确认认 Eg: $find /tmp -type f -exec rm ;Find实例$ find /etc -type d -print$ find /home -name .bash_profile -exec more ;$ find /sbin /usr/sbin -name ”user*” -exec ls dl ;在/etc目录下查找目录文件并显示结果从/home目录开始查找文件.

3、bash_profile,并执行more命令从/sbin和/usr/sbin目录下查找名字以“user”开头的文件 ,并执行“ls -ld”命令grepv grep grep用来在文本文件内查查找内容,指定给给grep的文本模式 叫做“正则则表达式” 使用格式: grep 参数 匹配模式 filename 注意:该命令是按行查找,输出符合匹配的行 -v 输输出不匹配的行 -c 输输出满满足匹配模式的行数 -i 匹配时时忽略大小写 -n 在输输出符合要求的行之前输输出该该行在文件中的行号 Eg: $grep ttyp /home/JOHN/bookv 例: v 在当前目录下存在文件lookfor

4、,该文件内容共四行:abdabacb若要查找该文件中以字母a开头的行,则需命令:$grep a* lookfor$grep a lookfor实用工具v 正则则表达式 (RE) Linux定义义了使用正则则表达式的一套模式机制 指定给grep等的实用工具的文本模式叫做“正则表 达式”,由于正则表达式中有可能出现一些特殊符 号,所以必须使用引号将其括住。实用工具v Regular Expressions (RE) 正则则表达式字符 RE 字符表达式包括 .匹配任意一个字符 list匹配列表中的一个字符 range匹配指定范围围内的一个字符 range 匹配指定范围围之外的任意一个字符 与上面匹配

5、使用的量词词包括 * 匹配前一个字符0次或多次 n区配前一个字符n次 n,匹配前一个字符至少n次 n,m匹配前一个字符n次至m次vRegular Expressions (RE) RE 字符 控制字符包括 只在每行的开头头匹配正则则表达式 $ 只在行尾匹配正则则表达式 $ 空行 .* 任意字符串 .4$ 匹配一个含有四个字符的字符串不 包含. 在文件lookfor里查找以a开头的行 在文件lookfor里查找以b结尾的行 在文件lookfor里查找以a开头,以b结尾的行$grep a lookfor$grep b$ lookfor$grep ab$ lookfor$grep a.*b$ loo

6、kfor$grep a*b$ lookforCommand Input and Outputv 标准的I/O stdin标准输入,命令的默认输入位置 stdout标准输出,命令的默认输出位置 stderr标准的错误输出,命令的另一个输出位置 ,用于输出错误和各种诊断信息 这三种流可以想像成一个有3个元素的数组, stdin,stdout,stderr分别对应0,1,2Command Input and Outputv Standard I/O stdin 就是从键盘输入的字符 标准的输出会显示在终端屏幕上 标准的错误输出也会显示在终端屏幕上Command Input and Outputv重定

7、向 可以改变一个命令的标准输入或输出,使输出的结果不 显示在终端屏幕上,而是存入文件中 如在命令的末尾添加: filename 实际执行命令这前,命令解释程序会自动打开(如果 文件不存在则自动创建)且清空文件内容(文件中已 有数据将被删除)。 命令执行完毕会自动关闭该文件。 Stderr也是显示到终端,但他和stdout是不同的流, 当重定向stdout后,stderr仍输出到终端可以通过 : 2filename来重定向stderr流 2errs可以把错误信息重定向到errs文件中。 who am i 每条命令按顺序执行 v 命令分隔符 | ; 一条命令的结束,另一条命令的开始Pipes an

8、d Filters管道和过滤器v 管道允许一系列进程的输入输出流连接在一起,而将这些命令 连接成为管道 v 管道可以连接2个以上命令,通过过滤器服务程序,多级管道在 linux中是非常常见的 v 过滤程序应用于管道,从而实现对管道的过滤Pipes and Filtersv Pipes管道 如果用户希望通过一个命令来处理另一个命令的输出,可 以通过重定向来完成。先重定向到一个临时文件,再把临 时文件做为另一命令的输入。$who tmpfile $ wc l tmpfile 统计当前登陆系统的用户信息(一行一名用户信息) $ grep “ttyp” tmpfile tmpfile 刷选出文本中含有

9、匹配字符的行 $ wc l file2This is an example!D v注意:D表示正常退出C表示异常中断v 连接 一个文件可以有许多连接,连接分为硬连接和符号连接两种 。 ln 建立一个文件的新连接. 可选参数为 -s符号连接或软连接 -n不要覆盖已存在的文件名 -f强制覆盖已存在的文件名 符号连接是现有文件或目录的指针,可以建立在不同的文件 系统中,例如,对于一个已存在的文件file1,建立它的符号 连接file2: $ln s file1 file2 直接用ln命令可以建立硬连接,硬连接是建立一个新的目录 表项,必须在同一文件系统,而且只能应用于文件,例如, 建立file1的硬

10、连接file3: $ln file1 file3The bash Shellv vi 编辑编辑 器vi程序主要用于文本的编辑,进入编辑界面后它主要有命令行模 式和插入模式两种。$vi 打开空的文档,编辑完成后需要输入文件名 进行保存$vi filename 打开已存在的文件 进入编辑界面后,默认进入命令行模式,若要改变 为插入模式,则通过字母 i 键进行切换。 插入模式转换为命令模式用ESC键切换 在命令模式下:: w 写入保存: q 退出v压缩 compress:压缩文件后缀为Z 用法: o $ compress somefilename o $ compress -d somefilena

11、me.Z压缩命令v压缩 bzip2和bunzip2 文件被压缩成.bz2格式,使用命令bzip: bzip2 filename 例如:bzip2 a 在当前目录下生成文件a.bz2文件 对该类文件的解压缩使用命令bunzip2 例如:bunzip2 a.bz2压缩命令v压缩: gzip和gunzip 文件被压缩成.gz格式,使用命令gzip: gzip filename 例如:gzip a 在当前目录下生成文件a.gz文件 对该类文件的解压缩使用命令gunzip 例如:gunzip a.gz练习2v 在/etc目录中查找符合以下标准的所有的文件名和目录名 。 选择文件名为: l 以“p“开头

12、l 以“y“结尾 l 以“m“开头,以“d“结尾 l 以“m“或“g“开头 l 包含“o“并且“o“后面跟着(不一定紧跟着) “u“ l 在文件名中包含字符串“conf“ l 以“s“开头并且包含一个“n“ l 文件名正好四个字母 l 文件名的首字符为非小写字母 l 在文件名的任意地方有一个数字练习3v 实践一下正则表达式。首先我们要设置好环境, 输入以下命令: v$cd v$cd /etc v$ls -a /data v$cd v这样,/etc目录下的所有文件的列表就会保存在 你的主目录下的data文件中。 v在以下步骤中,使用下面的命令格式 v$grep regexp data v注意:下面每个表达式应匹配几行。v 写出可以在data文件中查找所有行的正则表达式: v l 以“p“开头 v l 以“y“结尾 v l 以“m“开头以“d“结尾 v l 以“e“,“g“或“m“开头 v l 包含“o“,它后面跟着“u“ v l 包含“o“,隔一个字母之后是“u“ v l 以小写字母开头 v l 包含一个数字 v l 以“s“开头,包含一个“n“ v l 只含有4个字母 v l 只含有4个字母,但不包含f

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号