欢迎来到天天文库
浏览记录
ID:43271387
大小:360.00 KB
页数:76页
时间:2019-10-07
《UNIXshell及其shell编程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第八章UNIX文件系统高级操作8.1shell读写文件UNIX系统的标准流当程序读、写数据,视为来自数据源的流、去向目的地(数据汇)的流。数据源、汇可以是文件、设备、内存或是网络连接等,想象数据在这其中“流”动一样。在UNIX系统中,文件(按字节组织)之间,设备之间的信息传递是按字节流完成的。因此信息流的概念在UNIX中很重要。8.1.1命令处理流由命令处理即“加工”,要输入和输出的信息可以看作信息流。如果不考虑“信息流”中包含的具体内容,只关心“信息流”和“加工”之间的关系,我们可以将命令处理中的“信息流”描述为:“命令输入流”“命令输出流”,它们都属于命令
2、处理流。8.1.2信息流文件描述符标准定义默认映射对象0标准输入流stdin键盘1标准输出流stdout显示器2标准错误流stderr输出错误信息8.2shell输入输出重定向默认状态下,shell将命令的输入流设定为键盘,输出流设定为显示器,错误流也定义为显示器。但是在有些情况下,我们可以改变这些流的设定。改变流的设定常用的符号有>,>>,<三个符号。例如:ls-l>ls.txtls-l/home/user1>ls.txtls-l/home/user1>>ls.txt8.2shell输入输出重定向重定向符<表示将标准输入从键盘重新定义到另外的流。例如:pro
3、g,>>也能够混合使用,例如:progoutfile表示prog命令从infile中获取命令参数,然后将执行结果输出到文件outfile中。8.3错误流重定向在UNIX系统中,错误信息流是指在命令或程序执行中出现错误时系统给出的提示或警告信息,UNIX中将它们作为一个独立的标准输出流进行定义,错误信息流通常定义为显示器。当然,用户也可以根据需要对它进行重定
4、向。不同的shell在这方面有所不同。Cshell中使用的错误流重定向符是:>&,例如:ccabc.c>&log.txt,即将编译过程中的输出流和错误流定向为log.txt文件。在Bshell中则不用,需要如下书写:ccabc.c2>log.txt过滤命令——按列或域截取命令cut格式:cut[option][file]参数:–c<列界>,-f<域号>,-d<间隔符>[root@redhat]#cat/etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:
5、x:2:2:daemon:/sbin:/sbin/nologin.......................................sunying:x:501:…:/home/sunying:/bin/bash[root@redhat]#cut–c1-8/etc/passwd[option]file截取文件/etc/passwd的每一行的第1到第8个字符,并显示root:x:0bin:x:1:daemon:x..........sunying:[root@redhat]#过滤命令——按列或域截取命令cut[root@redhat]#cat/etc/p
6、asswdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin...........................................sunying:x:501:501:……:/bin/bash[root@redhat]#cut–d:-f1,3-4/etc/passwd截取文件/etc/passwd的每一行的第1,3,4域(单词),分隔符为:root:0:0bin:1:1daemon:2:2...
7、....sunying:501:501[root@redhat]#过滤命令——其它补充命令:grep[option]模式文件名功能:按指定选项在指定文件(组)中搜索特定的内容。参数说明:-c打印匹配的行数-i模式不区分大小写-l只显示含指定模式的文件名-L只显示不含指定模式的文件名-n同时显示行号例:在file.txt文件中查找abc字符串并显示行号grep-nabcfile.txt字计数(行l、字w、字符c):wc[-lwc][file]翻译字符(-s紧凑):tr–s<原字符集><兑现字符集>[file]还有sort——排序,more——分屏输出命令8.4管
8、道线处理管道线可以实现将一个程序或命令
此文档下载收益归作者所有