unix脚本总结与应用实例 - 图文(2)

2019-03-22 14:56

19027008.doc Confidentiality level 密级

22.cal命令 ........................................................................................................................ 45 23.tty命令 ........................................................................................................................ 45 24.banner命令 ................................................................................................................. 45 25.find命令 .......................................................................................................................... 45 26.cut命令 ........................................................................................................................ 45 27.paste命令 ................................................................................................................... 46 28.rm命令 ............................................................................................................................ 47 29.mkdir命令 ....................................................................................................................... 47 30.cat命令 ........................................................................................................................... 48 32.groupadd和mkgroup命令 ............................................................................................... 48 33.ln命令 ............................................................................................................................. 48 34.su命令 ............................................................................................................................. 49 35.setenv命令 ...................................................................................................................... 49 36.repeat命令 ...................................................................................................................... 49 37.getopts命令 ..................................................................................................................... 49 38.sort命令 .......................................................................................................................... 50 38.kill命令和trap命令 ......................................................................................................... 50 39.操作系统和数据库检查(IBM)(一):检查核心参数的配置 ............................. 51 40.操作系统和数据库检查(IBM)(二):检查时区的配置 ..................................... 52 41.操作系统和数据库检查(IBM)(三):检查硬件错误 ......................................... 52 42.操作系统和数据库检查(IBM)(四):检查硬盘错误 ......................................... 52 43.操作系统和数据库检查(IBM)(五):检查交换区的使用情况 ......................... 52 44.操作系统和数据库检查(IBM)(六):检查内存的使用情况 ............................. 52 45.操作系统和数据库检查(IBM)(七):检查系统的运行情况 ............................. 52 46.操作系统和数据库检查(IBM)(八):检查文件系统的使用情况 ..................... 52 47.操作系统和数据库检查(IBM)(九):检查文件系统的属性 ............................. 53 48.操作系统和数据库检查(IBM)(十):HACMP检查 ........................................... 53 49.操作系统和数据库检查(IBM)(十一):检查数据库的DR状态 ........................ 53 50.操作系统和数据库检查(IBM)(十二):检查数据库的运行状态 ..................... 54 51.操作系统和数据库检查(IBM)(十三):数据库检查 ......................................... 55 52.操作系统和数据库检查(IBM)(十四):检查数据库的运行日志 ..................... 55 53.fsck命令 ......................................................................................................................... 55 54.useradd和mkuser命令 ................................................................................................... 56 54.exec命令 ......................................................................................................................... 56 54.tr命令 .............................................................................................................................. 56 六.杂项 ........................................................................................................................................ 57

1.setenv PATH和set path = (....) ......................................................................................... 57 2.awk中输出单引号 ........................................................................................................... 57 3.awk或read找出文件行字符数大于80的行 ..................................................................... 57 4.shell脚本程序中的用户切换: ....................................................................................... 57 5.shell中删除文件且不显示输出信息和出错信息 ........................................................... 58 6.shell变量赋初值时存在特殊字符 ................................................................................... 58 7.sed的参数串中存在/特殊字符 ........................................................................................ 58

All rights reserved 版权所有,侵权必究

Page 6 , Total 83 第6页,共83页

19027008.doc Confidentiality level 密级

8.find在一个目录下找包含一个字符串的所有文件 ........................................................ 58 9.shell中确定一个文件的存在,文件ins_billdb ............................................................... 58 10.read的参数与实际域的个数不同 .................................................................................. 58 11.grep获取主机名和IP地址 .............................................................................................. 59 12.grep确定变量不是数字 ................................................................................................. 60 13.确定字符串是否是ip地址 ............................................................................................. 60 15.grep和awk列出某个目录下的一级子目录 ................................................................... 61 16.用printf将一个数打印成逗号分隔的形式 .................................................................... 61 17.iTELLIN示例一:在ksh中使用数组 ............................................................................ 62 18.iTELLIN示例二:从文件中读取参数: ..................................................................... 63 19.iTELLIN示例三:包含其它脚本文件 ....................................................................... 64 20.iTELLIN示例四:初始化一个临时文件供使用 ....................................................... 65 21.iTELLIN示例五:分解字符串 ................................................................................... 65 22.iTELLIN示例六:替换配置文件中的值 ................................................................... 66 24.iTELLIN示例八:用另外的文件作为函数库 ............................................................ 67 25.iTELLIN示例九:解压缩文件到一个目录 ............................................................... 68 26.iTELLIN示例十:判断操作是否成功 ....................................................................... 70 27.iTELLIN示例十一:封装创建一个组的函数 ........................................................... 71 28.iTELLIN示例十二:封装创建一个用户的函数 ....................................................... 72 29.iTELLIN示例十三:判断一个字符串是否是正整数 ............................................... 74 30.iTELLIN示例十四:判断当前用户是否有root权限.............................................. 75 31.iTELLIN示例十五:判断一个字符串是否是整数 ................................................... 75 32.iTELLIN示例十六:删除某个文件夹下若干天以来未改动的文件 ....................... 76 33.各种Unix环境对ksh的影响: .................................................................................... 76 34.set 使用注意点: ........................................................................................................ 77 35.判断对端节点的文件是否存在: ................................................................................. 77 36.awk的split函数的使用: .......................................................................................... 77 37.统计字符串在文件中出现的次数: ............................................................................. 77 38.如何进行精确匹配: ..................................................................................................... 81

All rights reserved 版权所有,侵权必究

Page 7 , Total 83 第7页,共83页

19027008.doc Confidentiality level 密级

Title 标 题:Unix 脚本编程总结与应用实例

Keywords 关键词:

unix,shell,正则表达式,匹配

Abstract 摘 要:

本文描述unix shell的各种应用实例。本文搜集整理常用的shell应用实例,以例子详述unix shell部分命令的使用,着重于正则表达式以及grep、sed、awk等命令,涵盖业务开发中需要使用到的unix shell编程命令,供查阅或者自测使用,面向对象为已经具备脚本编程基础的开发人员。 注:

文中大部分表达式在sco-unix unixware 7下使用sh测试通过,有些规则或表达式不能通过测试或结果不正确,在本文档中使用红色波浪下划线将其标出,使用时应注意验证其在不同shell下的表现。

本文不是命令手册,所以除部分命令如grep、sed、awk外,本文不详述讲述命令的各个参数,查看命令参数请使用man命令,本文着重于以实际例子讲述命令特征。

List of abbreviations 缩略语清单:

abbreviations缩略语 Description 描述 All rights reserved 版权所有,侵权必究

Page 8 , Total 83 第8页,共83页

19027008.doc Confidentiality level 密级

命令格式

一.shell与Unix平台

Unix平台 FreeBSD3.4 SGI IPIX6.5 HUPX-11 UnixWare 7 Solaris 8 (固有的) Solaris 8 (标准的) IBM AIX 4.3 IBM AIX 4.3 (可信的) Linux

二.shell基本知识

脚本参数:

shell脚本参数可以任意多,但只有前9各可以被访问,使用shift命令可以改变这个限制。参数从第一个开始,在第九个结束。

$0 程序名字

$n 第n个参数值,n=1..9 $* 所有命令行参数

$@ 所有命令行参数,如果它被包含在引号里,形如”$@”,则每个参数也各自被引号包括

$# 命令行参数个数 $$ 当前进程的进程ID(PID) $! 最近后台进程的进程ID $? 最近使用命令的退出状态

其他参数:

$CDPATH 包含一系列目录名,cd命令对他们诸葛进行搜索来查找作为参数传递给$EDITOR 程序(如e-mail程序)里使用的默认编辑器 $ENV

UNIX查找配置文件的路径

$HOME 用户初次登录时的起始目录名 $MAIL 用户的系统邮箱文件的名称

$MAILCHECK shell检查用户邮箱是否有新邮件并将结果通知用户的间隔时间(以秒为单位)

$PATH 包含用户的搜索路径的变量—shell用来搜索外部命令或程序的目录

$PPID 父进程的进程ID $PS1

系统第一个提示符,一般为$

Page 9 , Total 83 第9页,共83页

shell /bin/sh /sbin/sh usr/bin/sh $SHELL或/bin/sh /usr/bin/sh /usr/bin/ksh /usr/bin/sh /usr/bin/tsh /bin/sh 它的目录;如果该变量未设置,cd命令搜索当前目录

All rights reserved 版权所有,侵权必究

19027008.doc Confidentiality level 密级

$PS2 系统第二个提示符,一般为> $PWD

当前工作目录的名称

所在的代码行,一般用来输出错误行号

将命令行参数往左移n位,但$0不变

$TERM 用户的控制终端的类型. $LINENO shift [n]

export 变量名表 将变量名表所列变量传递给子进程 read 变量名表 从标准输入读字符串,传给指定变量 echo set env

变量名表 将变量名表指定的变量显示到标准输出 显示设置变量 显示目前所有变量

set命令可以重新设定参数表.如set hello wold命令会设定$*为字符串hello world,$n和$#也同时受影响。

shift命令可以将所有参数左移一个单位,$*、$n、$#均受影响。

数组(在sh中不支持,可以在ksh中使用):

${#varlist[@]}

数组元素个数 数组元素

${datalist[index]}

执行命令:

1) command :直接执行命令command

2) sh command:启动一个shell process执行命令command 3) . command:在本process中执行命令command

4) exec command:本Script将会被所执行的命令所取代,当这个命令执行完毕之後,

本Script也会随之结束。

echo 命令使用的特殊字符

\\b \\c \\f \\n \\r \\t \\v \\\\ \\ON

退格

显示新行,但是不把光标移到下一行 换页

换行(光标移到下一行) 回车 水平制表符 垂直制表符 反斜杠

ASCII码为八进制数N的字符

${#datalist[index]} 数组元素长度

set命令:

把各位置参数的值依次设为‖argument-list‖里指定的参数,即重新设置$*,$@,$1-$9

如: set ―hello‖ ―world‖ 则 $*和$@都变成 hello world $1为hello

Page 10 , Total 83 第10页,共83页

All rights reserved 版权所有,侵权必究


unix脚本总结与应用实例 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:18万吨粉状磷酸一铵项目可行性研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: