数据分析师常用命令

仅针对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

层次三:使用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比较强大方便,这里只说基本的操作,比如模式介绍,怎么退出,怎么保存,怎么复制等...

算了,还是跟着教程走吧,这个互动教程比我讲得牛逼,贴地址:

openvim.com

2.1.啰嗦两句,整理一下

  1. 多种模式:编辑 、正常 和 可视化

  2. 怎么进入编辑模式,比如 i啊 a啊

  3. 怎么进入正常模式,esc

  4. 常用位移操作 a. 上下左右:hjkl b. 按单词 w b e c. 行首尾 0 ^ $ d. 文档首尾 gg G 2G/2gg e. 数字带位移,比如 5w 10l 2b

  5. 重复插入 比如插入go三遍 3igo esc

  6. 查找,正着找f,反着找F,比如查找o fo,查找第三个q 3fq

  7. 比配括号对 %

  8. 找单词 正找 *;反找 #

  9. 搜索 /text;用 n 和 N 来跳

  10. 新行插入 下一行 o;上一行 O

  11. 删除 x d dw dG dgg d2w d2e

  12. 替换 r

  13. 神奇操作,重复上一个操作 .

  14. v进入可视化模式,通过位移加指令操作

  15. 保存 :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做日常工作/开发(插件一装,花里胡哨,实乃装逼利器!!!)