详解Unix/Linux Shell的输入输出
Shell的I/O语法难以理解,更难以正确使用。Shell的输入输出语法有两个难点:重定向和文件描述符。我以前对Shell I/O的理解也有错误。最近重新整理思路,决定写一篇文章来总结I/O重定向。
先介绍几个基本概念:
1)文件(File):在Unix/Linux中,文件类型有七种,这七种类型是:目录、符号链接(指向另一个文件)、套接字文件、块设备文件、字符设备文件、命名管道文件、普通文件。这意味着,I/O设备被Unix/Linux视为“特殊”的文件,所以对设备进行输入输出等同于读写文件。
2)文件描述符(File Descriptor
):实际上,Shell中的文件描述符等同于C语言中的文件结构(参见《The C Programming Languag》的7.5节),它是一个包含文件信息的结构,这些信息包括:缓冲区的位置,缓冲区中当前字符的位置,文件是否到达末尾等。一个Shell脚本有10个文件描述符。其中,0、1、2是标准输入、标准输出和标准错误,我们可以任意使用的文件描述符是3到9。
3)重定向(Redirect):在Shell中,我们可以对命令(命令就是程序或脚本)的标准输入、标准输出和标准错误进行重定向,使其指向其他文件。
下面开始讨论Shell输入/输出的的两种情况:
1)输入输出
2)
3)
在此声明,可以随意转载或引用,但请注明出处,谢谢。
相关文档:
red hat linux 下安装 oracle 10g
racle考资料:
Oracle官方网站: http://download.oracle.com/docs/html/B10813_01/toc.htm
一、以root用户登录, 进行如下操作:
1 检查硬件要求
* 主要包括:
********************************************************************
* 内存: & ......
本文以数据库中的数据表UserInfo为实例展示数据库表的创建及数据记录的录入。
#!/bin/sh
#variables definition
#database location
db=/conf/db
#
#create table userInfo
#name: User name
#passwd: Password
#Privilege: User privilege -- Administrator:0 Operator:1
#
echo "create table UserInfo(n ......
[/home/brimmer/src]$ ctags -R
"
-R"表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。"
tags"文件中包括这些对象的列表:
l
用
#define定义的宏
l
枚举型变量的值
l  ......
Linux下的定时器有两种,以下分别介绍:
1、alarm
如果不要求很精确的话,用alarm()和signal()就够了
unsigned int alarm(unsigned int seconds)
函数说明:
alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds为0,则之前设置的闹钟会被取
......