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 ...
随机推荐
- k-近邻算法实例
1. 简单例子 步骤 1.1 计算已知点和被求点的距离 1.2 按距离递增排序 1.3 求出距离最近的前k个点的类别最大值作为目标分类 from numpy import * import opera ...
- 为什么CPU需要时钟这种概念?
本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/132 最近在研究计算机里的基本逻辑电路,想到一个问题:为什么CP ...
- Spring任务调度之Quartz集成
推荐一个博客:http://blog.csdn.net/column/details/14251.html 基本概念 Job:是一个接口,只有一个方法void execute(JobExecution ...
- Golang 网络爬虫框架gocolly/colly 二 jQuery selector
Golang 网络爬虫框架gocolly/colly 二 jQuery selector colly框架依赖goquery库,goquery将jQuery的语法和特性引入到了go语言中.如果要灵活自如 ...
- CGO 类型(CGO Types) 一
CGO Types C作为一种混合编程语言已经很久了,无论那些广泛使用的包是用何种语言实现的,都导出了和C兼容的API.Go程序调用C程序,可以借助两种工具实现,一种是cgo,另一种是SWIG工具.C ...
- Sublime Text 3 配置分析与我的配置---小结
Sublime Text 3 配置解释(默认){// 设置主题文件"color_scheme": "Packages/Color Scheme – Default/Mon ...
- vue移动端弹框组件,vue-layer-mobile
最近做一个移动端项目,弹框写的比较麻烦,查找资料,找到了这个组件,但是说明文档比较少,自己研究了下,把我碰到的错,和详细用法分享给大家!有疑问可以打开组件看一看,这个组件是仿layer-mobile的 ...
- Hyper-V 虚拟网络设置
目标:搭建一个主机上的网络用来链接主机和虚拟机,并且虚拟机可以通过主机上网. 步骤一:创建一个Internal Network. 步骤二: 创建虚拟机并设置Virtual Switch. 步骤三:将上 ...
- MSSQLSERVER并行度
Microsoft SQL Server最大并行度(MAXDOP) 配置选项控制并行计划用于执行查询的处理器的数目.此选项确定用于执行工作并行查询计划运算符的计算和线程资源.根据是否 SQL Serv ...
- tornado返回指定的http code
最近做web api,需要在接口返回异常时,返回对应的http code. 查了下tornado的文档,是通过set_status方法来设置返回的http code,做个记录. self.set_st ...