Linux系统Shell编程基础知识储备

来源:互联网 发布:sql视图删除数据 编辑:程序博客网 时间:2024/06/05 10:29

===============================================================================

Shell程序由OS执行用户从键盘输入的命令。首先理解一个概念, Shell脚本,那什么是Shell脚本?,其实

Shell脚本是用shell语言写的程序,shell语言语法简单,关键字少,是一种解释型语言,程序由Shell解释

器解析执行。在终端输入 echo $SHELL 查看本机所用的Shell是哪种类型。


Shell类型Shell类型开发人员开发机构备注sh (Bourne shell)Steven Bourne(斯蒂夫-波恩)AT&T Bell实验室 1978 Unix 默认Shell, 是其他各种Shell开发基础, Bourne Shell 编程方面优秀,在处
理与用户的交互方面不够友好bash(Bourne Again Shell)Brian Fox(布莱恩-福克斯)自由软件基金会(FSF)
/bin/bash
1989Linux 默认Shellcsh(C Shell)Bill Joy Berkeley
(BSDSystem)
/bin/sh具有与C编程语言类似的Shell语法ksh(Korn Shell)David Korn AT&T Bell lab tcshKen Greer /bin/tch普通C Shell, 以用户为中心, 速度快,与
Berkeley Unix C Shell 兼容


















==================================================================================

编写Shell脚本的目的:(1)Linux系统监控 (2)数据备份和创建快照(3)针对MySQL等数据库备份的转储工作

(4)查询网络服务是否正常 (5)搜索耗费系统资源的进程.....

首先你应该对Linux基本命令了解, pwd, cd, ls, less, more, cat, file, chmod, chown, chgrp,pipe, sort, uniq, 

grep, pr, head, tail, sed, awk

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Shell脚本构成要素(1)if~else, for, while, loop指令(2)grep, awk等文本处理工具(3)Shell命令和可执行文件

特殊参数变量特殊参数变量 定义$# 表示十进制数的位置参数的总数$$表示当前shell的进程的PID$@表示从1开始的位置参数的扩展,具有总参数值$0表示分配已执行的脚本名$1....${10} 表示分别浏览位置的参数$_表示表示执行参数目录的Shell脚本的绝对路径$? 表示最后执行的前台管道的终止状态

运算符备注=字符串等于符号!=字符串不等于符号-eg数字等于符号-ne数字不等于符号-a逻辑与 and-o逻辑或 or!逻辑非 not-gt大于-ge
-lt
-le大于等于
小于
小于等于

文件测试参数说明参数说明-b  filename若filename存在且为块设备则为真-r    filename
-w   filename
-x   filename若filename存在且可读则为真
若filename存在且可写
则为真
若filename存在且可执行则为真-c  filename若filename存在且为字符设备则为真filename1 -nt
flename2若filename1的修改日期比filename2晚则为真-d  filename若filename存在且为目录则为真filename1 -ot
filename2若filename1的修改日期比filename2早则为真-f   filename若filename存在且为普通文件则为真ilename1 -ef
filename2若filename1和filename2具有相同设备,索引节点编号则为真-L  filename若filename存在且为链接文件则为真-z str若str长度为0则为真-p  filename若filename存在且为管道文件则为真-n str若str长度不为0则为真-S filename若filename存在且为套接字则为真str1
 =
str2str1等于str2则为真-s filename若filename存在且大于0则为真str1
 != 
str2str1不等于str2则为真  ! 表达式表达式为假则为真



























======================================Shell语法========================================


==============================================End======================================










0 0
原创粉丝点击