Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

tiankonguse/bash-study

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BASH STUDY

这个项目目的在于学习 bash.

#说明

由于初学shell,所以进程管理和系统级shell 没有记录。

#历史

  • 2014.3,读了 《学习 bash》第二版。
  • 2014.3.14,建立目录框架
  • 2014.3.28,增加了 awk,windows bat, python 脚本。

目录

快捷笔记

seq 生成序列

语法:seq 首数 [增量] 末数

# 输出奇数
seq 1 2 10

循环 for

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

ssh 免密登陆

1、 本地生成密钥

ssh-keygen -t rsa -C "email@xxx.com"
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 tiankonguse@192.168.0.1

ssh 别名登陆

第一步:在 ~/.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

实战

1、批量替换指定文件的指定内容

涉及知识点:基础语法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


About

shell学习笔记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.