变量,算术运算SHELL脚本编程基础
$1 $2 $3.....
$0 脚本名本身
$* 传递给脚本的所有参数,全部参数合不一个字符串
$@ 传递给脚本的所有参数
$# 传递给脚本的参数个数
$? 前一个命令的执行结果
$? 为0表示前一个命令执行成功
$? 为1-255表示前一个命令执行失败
算术运算
bash 里的算术运算:
+加,—减,*乘,/除,%取模,**乘方
实现算术运算:
(1) let var=算术表达式
(2) var=$[算术表达式]
(3) var=$((算术表达式))
(4) var=$(expr arg1 arg2 arg3...)
(5) declare -i var = 数值
(6) echo '算术表达式' | bc
增强型赋值
+=,-=, *=,/=,%=
自增,自减
let var+=1
let var-=1
let var++
let var--
逻辑运算
true false
与运算&,或运算|
短路与&&
第一个为0,结果必定为0
第一个为1,第二个必须要能与运算
短路或||
第一个为1,结果必定为1
第一个为0,第二直必须要参与运算
非运算 !
异或^ ,相同为0,不同为1(可交换两个数字变量的位置)
条件测试
[] 精确匹配
[[]] 模糊匹配,支持扩展正则表达式
-ge 等于
-ne 不等
-lt 小于
-le 小于等于
-gt 大于
-ge 大于等于
read,条件判断if语句
使用read命令来接受输入
-p 指定要显示的提示
-s 静默输入,一般用于密码输入
-n N指定输入的字符长度N
-d '字符' 输入结束符
-t N,N秒后自动退出
寻找,压缩,打包文件
在文件系统上查找符合条件的文件
文件查找:locate find
locate
updatedb 更新locate数据库
/var/lib/mlocate/mlocate.db
-i 不区分大小写的搜索
-n N
-r 使用基本正则表达式
find 实时查找命令
-name "文件名称"
-maxdepth 最大搜索目录深度
-mindepth 最小搜索目录深度
-depth 先处理文件,再处理目录
-iname 不区分大小写
-inum n 按inode号找文件
-link
-nouser 没有属主的文件
-nogroup 没有属组的文件
-type 按文件类型搜索
f 普通文件
l 链接文件
查找条件
组合条件
与: -a
或:-o
非:-not !
sed 工具
常用选项
-n 不自动打印
-e 多点编辑
-f
-r 支持使用扩展正则表达式
-i.bak 追加前备份
编辑命令
d 删除模式空间匹配的行
p 打印模式空间匹配的行
a 追加
i 行后追加
c 替换
w 保存模式匹配的行至新文件
r 读入文件
= 显示模式匹配空间的行号
s///查找替换,支持使用其它分隔符,s@@@,s###
g行内全局替换
p 打印
$ 最后一行
& 代表搜索模式中的所有内容
软件包管理
解决依赖包管理工具:
yum:rpm包管理器的前端工具
apt:deb包管理器的前端工具
dnf:替代yum的新工具
定制yum源
/etc/yum.repos.d/ 在此目录中添加*.repo的文件格式如下
[base]
name=newyum
baseurl=file:///mnt :yum源,可支持http,https,file,ftp
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7
systemctl status service 查看服务状态
systemctl start service 启动服务
systemctl restart service 重启服务
systemctl enable service 开机自动运行服务
关闭防火墙
centos 7
systemctl disable firewalld 关闭开机启动防火墙
systemctl stop firewalld 关闭防火墙
centos 6
service iptables stop 关闭防火墙
chkconfig iptables off 关闭开机启动防火墙
添加磁盘
echo ' - - - ' > /sys/class/scsi_host/host3/scan
yum history list
yum history info
yum history redo ...
yum history undo ...
yum list z*
yum list installed
yum list
yum info
yum provides /xxx/xxx
yum clean all 清除缓存
yum makecache
yum update
yum downgrade
yum install
yum remove
转载于:https://blog.51cto.com/13749470/2368946