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 ...
随机推荐
- 浅析 SpringMVC 原理和配置.
一.原理 Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)模式实现,它能够帮你构建像Spring框架那样灵活和松耦合的Web应用程序,将请求处理的逻辑和 ...
- 简单记录一下原生ajax
面试老忘记,代码如下 function ajax() { var xmlHttpRequest = null; //定义XMLHttp对象的容器 if(window.XMLHttpRequest) { ...
- 关于html,css,js三者的加载顺序问题
<head lang="en"> <meta charset="utf-8"> <title></title> ...
- Cleaner, more elegant, and wrong(msdn blog)
Cleaner, more elegant, and wrong Just because you can't see the error path doesn't mean it doesn't e ...
- SQL Server 2016 行级别权限控制
背景 假如我们有关键数据存储在一个表里面,比如人员表中包含员工.部门和薪水信息.只允许用户访问各自部门的信息,但是不能访问其他部门.一般我们都是在程序端实现这个功能,而在sqlserver2016以后 ...
- Django__RBAC
RBAC : 基于角色的权限访问控制(Role-Based Access Control) RBAC 模型作为目前最为广泛接受的权限模型 角色访问控制(RBAC)引入了Role的概念,目的是为了隔离U ...
- Android真机安装sqlite3的方法
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- 【JDK1.8】JDK1.8集合源码阅读——LinkedList
一.前言 这次我们来看一下常见的List中的第二个--LinkedList,在前面分析ArrayList的时候,我们提到,LinkedList是链表的结构,其实它跟我们在分析map的时候讲到的Link ...
- jQuery 属性操作方法(五)
方法 描述 addClass() 向匹配的元素添加指定的类名. attr() 设置或返回匹配元素的属性和值. hasClass() 检查匹配的元素是否拥有指定的类. html() 设置或返回匹配的元素 ...
- Java学习笔记18---final关键字修饰变量、方法及类
英语里final这个单词大家都知道是"最终的"意思,其实还有一个意思是"不可更改的".在Java里,final关键字作"不可更改的"来解释更 ...