1.向脚本传递参数
如果你拥有的参数多于9个,则不能使用$10来引用第10个参数。首先,必须处理或保存第一个参数($1),然后使用
shift 命令删除参数1.
2.管道与重定向
> 改变输出
< 改变输入
>> 追加
| 建立管道
3.文件描述符
1.文件描述符表
2.系统文件表
3.内存索引节点表
每个进程维护自己的文件描述符表。当进程调用文件描述符相关的函数或命令时,会对其进行修改操作;文件描述符中的每一项指向系统文件表;
系统文件表被所有进程共享,处于内核区,它与内存中的索引节点表对应。
特殊文件的妙用:
1./dev/null
可以把 /dev/null 想象为一个'黑洞'。它非常接近于一个只写文件,所有写入它的内容都会永远消息。
2./dev/zero
/dev/zero 也是一个伪文件,但事实上它会产生一个null流(二进制的0流,而不是ASCII类型)
3./dev/tty
当程序打开这个文件时,Linux会自动将它重定向到当前所处的终端。输出到此信息只会显示在当前工作的终端显示器上。
4.基本的文件检索
grep : 最早的文件匹配程序
egrep : egrep 和 fgrep 的命令只跟 grep 有很小的不同。egrep 是 grep 的扩展,支持更多的 re 元字符
fgrep : 就是 fixed grep 或 fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。
Linux 使用 GNU 版本的 grep。它功能更强,可以通过 -G,-E,-F 命令行选项来使用 egrep 和 fgrep 功能。
grep 的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板中包含空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果
被送到屏幕,不影响源文件的内容。
grep 可用于shell脚本,因为 grep 通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,
则返回2.
5.UNIX/Linux系统的设计与shell 编程
1.一切皆文件
2.UNIX编程的基本原则