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 shell编程命令-Linux基础环境命令学习笔记的更多相关文章
- 《Linux.Shell编程从入门到精通》读书笔记
第一章 第一个Shell程序 以 #!解析器名称 开头,表示选择哪个解释器解释shell脚本 source命令 export命令 env命令 unset命令 第二章 shell编程基础 函数传递 标准 ...
- Linux Shell编程(21)——复杂命令
更高级的用户命令find-exec COMMAND \;在每一个find 匹配到的文件执行 COMMAND 命令. 命令序列以 ; 结束( ";" 是 转义符 以保证 shell ...
- Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||
https://blog.csdn.net/hack8/article/details/39672145 Linux Shell编程中的几个特殊符号命令 & .&& . || ...
- Linux Shell脚本入门--cut命令
Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...
- Linux Shell脚本入门--wget 命令用法详解
Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...
- Linux shell下30个有趣的命令
Tips 原文作者:Víctor López Ferrando 原文地址:30 interesting commands for the Linux shell 这些是我收集了多年的Linux she ...
- linux —— shell 编程(文本处理)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...
- linux —— shell 编程(编程语法)
导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...
- Linux Shell编程参考大全
本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...
- Linux Shell编程与编辑器使用详解
<Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...
随机推荐
- mysql 先分组在排序
mysql语句的语法模板: select distinct <select_list> from <left_table><join_type> join < ...
- html统计
<!doctype html><html lang="en"> <head> <meta charset="UTF-8&quo ...
- 串口调试者v2.1------开源c#串口调试工具
第一步:上图 第二步:上代码 >>>>>>>>>>>源代码下载<<<<<<<<< ...
- Android短视频SDK转码实践
一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...
- String源码图
String StringBuffer StringBuilder 均为对字符数组的操作. 实现了不同的接口,导致不同的覆写. 实现了同样的接口,适应不同的场景.
- hashCode花式卖萌
声明:这篇博文纯属是最近看源码时闲着没事瞎折腾(好奇心驱动),对实际的应用程序编码我觉得可能没有那么大的帮助,各位亲就当是代码写累了放松放松心情,视为偏门小故事看一看就可以了,别深究. 一.从Obje ...
- SSIS 实用表达式部分总结
下面,列出一些实用的表达式: 1,路径取文件名 RIGHT([FilePath],FINDSTRING(REVERSE([FilePath]),) - ) RIGHT(@[User::FilePath ...
- vue基础学习(二)
02-01 vue事件深入-传参.冒泡.默认事件 <div id="box"> <div @click="show2()"> < ...
- Struts2-整理笔记(二)常量配置、动态方法调用、Action类详解
1.修改struts2常量配置(3种) 第一种 在str/struts.xml中添加constant标签 <struts> <!-- 如果使用使用动态方法调用和include冲突 - ...
- Java禁止浏览器有缓存的源码
Java禁止浏览器有缓存的源码 import java.io.IOException; import javax.servlet.Filter; import javax.servlet.Filter ...