linux环境编程学习笔记,Linux shell编程命令-Linux基础环境命令学习笔记(示例代码)...

1、正则表达式

1)^开始  *前一个字符重复0次以上

+       1次以上

?        0次或者1次

.  一个任意字符(.*连用)

{m,n}      m到n次

[0-9][a-z]    任意数字或字母

$结束字符

2)sed和awk命令

sed ‘匹配条件/执行的动作‘ /etc/passwd  sed ‘s/old/new/g‘

awk -F: ‘{print $1}‘ /etc/passwd    1表示第一列,2表示第二列  -F:表示分隔符为:

2、变量

1)环境变量  系统环境变量(/etc/profile)  用户环境变量(/home/用户名/.bash_profile)

set查看

2)位置变量  $0-9

$0  脚本名称

$1-9  位置参数

3)预定义变量

$!  后台运行的最后一个进程的PID号

$?  程序退出的代表(0成功)

$*  所有参数的内容

$$  当前进程的ID号码

$#  当前shell的参数个数

4)自定义变量

name=[value]  ps:等号两边不能有空格,变量名对大小敏感

$变量名  取值

3、算术运算

+ - * / %

$((表达式))

$[表达式]

expr expression  expr 5 + 2  变量间有空格

4、内置测试判断

Test 测试表达式

[ 测试表达式 ]  ps:测试表达式与[]间一定有空格

数值比较

-lt  小于  ex:test &a -lt &b  echo $?

-gt  大于

-eq  等于

-ne  不等于

-le  小于等于

-ge  大于等于

字串测试

=  等于

!=  不等于

-z 字串  字串长度伪(为0)则真

-n 字串  字串长度不伪则真

文件测试

-e 文件名  文件存在则真

-r 文件名  文件存在且可读为真

-w 文件名  可写

-x 文件名  可执行

-s 文件名  文件中至少存在一个字符

-d 文件名  文件存在且为目录

-f 文件名  文件存在且为普通文件

!(非)>>-a(与)>>-o(或)

5、命令间的逻辑符合

&&  逻辑与

cmd1 && cmd2  cmd1执行成功才执行cmd2

||  逻辑或

cmd1 || cmd2  cmd1失败了才执行cmd2

;  无逻辑关系

6、常用命令

date -s "2016-04-12 15:20:13"  修改系统时间

date ‘+Y%m%d‘  按照年月日格式输出系统时间

date -d ‘7 day ago‘ ‘+Y%m%d‘  输出7天前的时间

7、取字符串

${变量名:offset:length}       echo ${a%.*}

8、书写规范

#!/bin/bash    声明运行环境

运行方式    a.赋予权限直接运行

b.通过运行环境运行  bash 1.sh  sh 1.sh

c.  . 1.sh  source 1.sh

9、控制语句

1)for语句

a.  for 变量 in 值1 值2...值N    变量依次取值1...值N

do

命令集合          {1..50}  `seq 50`  取值1到50

done

b.  for((初始化变量;结束循环条件;变量运算))

2)while循环

a.  while [ 条件 ]        let i=i+1---i=$[i+1]  i自增1

b.  while read -r line

do

echo $line

done < /etc/passwd      从路径中逐行读取并赋值给line

3)if语句

if 条件

then

命令序列

elif 条件

then

命令序列

else

命令序列

fi

4)case语句

a.  case $变量名称 in

条件1)

命令序列

;;

条件2)

命令序列

;;

*)                  以上都不满足

esac

10、函数

a.  name(){

命令序列

}

b.  function name{

命令序列

}

11、计划任务

1)一次性计划任务

at 时间        ctrl+d结束输入

at -l  列出当前计划任务

2)周期性计划任务  service crond start(status,restart)

a.开机自启动

chkconfig --list  列出系统服务是否开机自启动(3和5)

b.制定计划任务内容

crontab -e(ENTER)  >>  进入vi命令

时间和命令  分 时 日 月 周(没有用*代替  -表示连续时间  ,表示若干不连续时间  /表示间隔时间) cmd命令    */10 * * * * ntpdate 时间服务器IP 每10分钟同步一次时钟

c.重启服务  service crond restart

你可能感兴趣的:(linux环境编程学习笔记)