仅针对mac用户
1.ssh篇
1.1.怎么弄linux机器的ssh免密码登陆
每次都输入用户名密码好烦啊,怎么才能快速登陆linux机器,而不用一遍又一遍的敲又臭又长命令和密码?
层次一:使用ssh-copy-id
快速搞
# 假设用户 troy, 机器 10.2.2.2
ssh-copy-id troy@10.2.2.2
相当于将 id_rsa.pub
塞到目标机器目标用户下的 ~/.ssh/authorized_keys
中,这不不用到目标机器上操作,多省事。
如果你从来没有生成功密钥对,那么可以通过以下命令生成:
ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N ""
ls -l $HOME/.ssh/id_rsa*
-rw------- 1 troy troy 2602 Dec 21 14:13 /root/.ssh/id_rsa
-rw-r--r-- 1 troy troy 566 Dec 21 14:13 /root/.ssh/id_rsa.pub
- 其中
id_rsa
为私钥,是你的钥匙,切记保存好,不要给别人 id_rsa.pub
为公钥,很好记,它带.pub
后缀,就是public的意思,涉及到的场景,基本都是将公钥塞进去,比如git,登陆机器
鉴权做完了,就可以直接登陆了:
ssh troy@10.2.2.2
层次二:使用ssh config管理会话信息
将一些信息配置到 config 中,作为默认参数,这样就可以直接少输入不少信息
cat ~/.ssh/config
Host myhost
HostName 10.2.2.2
User troy
ssh myhost
层次三:使用alias,替代固定操作
分析师可能用到的就那么一台或者多台机器,那么就可以做别名
在 /etc/profile
添加:
alias myhost="ssh troy@10.2.2.2"
然后 source 使其生效
source /etc/profile
为啥不在bashrc中添加?
因为你可能比较高逼格,也许使用了zsh呢?那读的就是zshrc了,不管你用什么shell,profile一定会读的!!!
层次四:使用sshw管理多台机器
有时候管理数十台机器,别名的方式就不太优雅了,那就需要引入工具,要么ui管理,要么命令行管理,这里推荐命令行管理工具。
详情请参考开源项目:sshw
使用以下命令直接安装:
cd /tmp && \
wget https://github.com/yinheli/sshw/releases/download/v1.1.0/sshw-darwin-amd64-v1.1.0.tar.gz && \
tar xf sshw-darwin-amd64-v1.1.0.tar.gz && \
mv sshw-darwin-amd64-v1.1.0/sshw /usr/local/bin && \
rm -rf /tmp/sshw-darwin-amd64-v1.1.0* && \
sshw -h
支持两种模式,一种是自有格式配置文件,另一种是支持ssh config格式,都比较简单。
上面配置过ssh config,所以这里可以直接使用:
sshw -s
自有格式:
cat ~/.sshw
- name: myhost
user: troy
host: 10.2.2.2
port: 22
keypath: /Users/troy/.ssh/id_rsa
支持分组,别名,操作方式基本是标准的vim模式,很是方便【当然,前提你得习惯vim键位】具体配置文件配置方式见官方文档
2.vim篇
linux编辑文件,基本两派:vim派 和 emacs派,大部分是前者。
vim比较强大方便,这里只说基本的操作,比如模式介绍,怎么退出,怎么保存,怎么复制等…
算了,还是跟着教程走吧,这个互动教程比我讲得牛逼,贴地址:
2.1.啰嗦两句,整理一下
- 多种模式:编辑 、正常 和 可视化
- 怎么进入编辑模式,比如 i啊 a啊
- 怎么进入正常模式,esc
- 常用位移操作
a. 上下左右:hjkl
b. 按单词 w b e
c. 行首尾 0 ^ $
d. 文档首尾 gg G 2G/2gg
e. 数字带位移,比如 5w 10l 2b - 重复插入 比如插入go三遍 3igo
esc
- 查找,正着找f,反着找F,比如查找o fo,查找第三个q 3fq
- 比配括号对 %
- 找单词 正找 *;反找 #
- 搜索 /text;用 n 和 N 来跳
- 新行插入 下一行 o;上一行 O
- 删除 x d dw dG dgg d2w d2e
- 替换 r
- 神奇操作,重复上一个操作 .
- v进入可视化模式,通过位移加指令操作
- 保存 :w 退出 :q 保存退出 :wq 简化版 :x 强制带!
2.2.教程中的
i, I
change to insert mode
h, j, k, l
move left, down, up, right
w, b, e, ge
move word at a time
[n][action/movement]
do n times, e.g. 3w
x, X
remove a character
a, A
append
f[char]
move to next given char in line
F[char]
move to previous char in line
; and ,
repeat last f or F
/yourtext and then: n, N
Search text
d[movement]
delete by giving movement
r[char]
replaces character below cursor
0, $
move to start/end of line
o, O
add new line
%
Goto corresponding parentheses
ci[movement]
change inside of given movement
D
delete to end of line
S
clear current line; to insert mode
gg / G
move to start / end of buffer
yy
copy current line
p
Paste copied text after cursor.
总结
- vim的操作命令很好记,可以按单词首字母进行记忆,多操作可合理组合,比如
数字位移操作
的组合 - 入门其实了解模式,知道怎么进入编辑模式,怎么退出编辑模式进入正常模式,知道怎么保存退出就行了,毕竟大部分的键盘还有方向键,对不??
- 入门一句话:vim a.txt -> i -> 方向键挪 -> 编辑 -> esc -> wq/q!
- 操作类的没有捷径可走,掌握道,然后勤加操练即可
- 感兴趣了,可以深入vim配置;使用vim做日常工作/开发(插件一装,花里胡哨,实乃装逼利器!!!)