这个项目目的在于学习 bash.
#说明
由于初学shell,所以进程管理和系统级shell 没有记录。
#历史
- 2014.3,读了 《学习 bash》第二版。
- 2014.3.14,建立目录框架
- 2014.3.28,增加了 awk,windows bat, python 脚本。
- 入门简介
- 函数与字符串
- shell环境编辑介绍
- shell环境查看与配置
- 类型
- 各种变量介绍
- shell 常见命令含义
- shell 配置文件
- shell 流程控制简介
- awk 学习笔记
- windows bat 学习笔记
- python 学习笔记
语法:seq 首数 [增量] 末数
# 输出奇数
seq 1 2 10
for ((i = 0; i < 10; i++)); do echo $i; done
for x (1 2 3); do echo $x; done
for x in 1 2 3; do echo $x; done
d=(1 2 3)
for x in $d; do print $x; done
for x ($d); do print $x; done
for i in {1..10}; do print $i; done
for x ({1..10}); do print $x; done
for i in {1..10..2}; do print $i; done
for x ({2..10..2}); do print $x; done
for x ("("{0..4..2}","{a..c}")"); do print $x; done
1、 本地生成密钥
ssh-keygen -t rsa -C "[email protected]"
ssh-add ~/.ssh/id_rsa
2、本地配置免密登陆
打开配置文件:~/.ssh/config
配置下面的内容
Host remote
HostName 192.168.0.1
User tiankonguse
Port 22
ServerAliveInterval 10
ControlMaster auto
IdentityFile ~/.ssh/id_rsa
设置权限:chmod 600 ~/.ssh/config
3、远程主机配置
将~/.ssh/id_rsa.pub
上传到远程主机。
执行:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4、本地测试免密登陆
第一步:在 ~/.ssh/config
目录创建别名
大概如下
Host one
HostName 192.168.0.1
Port 22
User tiankonguse
ServerAliveInterval 10
ControlMaster auto
IdentityFile ~/.ssh/id_rsa_tiankonguse
Host two
HostName 192.168.0.2
Port 22
User tiankonguse
ServerAliveInterval 10
ControlMaster auto
IdentityFile ~/.ssh/id_rsa_tiankonguse
登陆命令:ssh one
涉及知识点:基础语法、grep 数据搜索、awk 数据提取、sed 数据修改。
# 当然, grep 可以直接得到文件名的,这里作为演戏,先得到默认的匹配内容,然后使用awk处理得到文件名
for l in $(grep -r res.tiankonguse . | grep "res.tiankonguse.com/images/2019/0[1-8]")
do
f=$(echo $l | awk -F: '{print $1}')
echo "begin replease $f"
sed -i 's/res.tiankonguse.com/res2019.tiankonguse.com/' $f
done
Mac: sed -i "" 's/res.tiankonguse.com/res2020.tiankonguse.com/' $f
linux: sed -i 's/res.tiankonguse.com/res2020.tiankonguse.com/' $f