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

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

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
1989
Linux 默认Shell
csh(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
 =
str2
str1等于str2则为真
-s filename若filename存在且大于0则为真str1
 != 
str2
str1不等于str2则为真
  ! 表达式表达式为假则为真



























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


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










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cugriver

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值