注:文中出现的所有软件,要么免费,要么可以在以下两个网站中下载到热心网友强制修改的免费版:
xclient.info
爱情守望者
但是软件开发不易,倾注了开发者大量的劳动和心血,希望大家支持和购买正版!
最近从牙缝里扣了又扣,抠出点钱买了个macbook。作为一个自打计算机启蒙一直用windows的人来说,初用mac OS是痛苦的。我甚至一度认为网上那些无脑吹mac的人是库克请的水军。但是一段时间摸索下来,发现mac终归是mac,你大爷终归是你大爷。
好了,废话不多说,开始唠一唠我常用的这些软件。在这里我不写软件是干啥的,具体怎么配。因为这些只要根据名字在度娘或者谷歌上面搜一搜,一大堆,我就没必要再去重复造轮子。我只写写这些软件在我的日常工作中发挥了哪些神奇的作用。
1、iterm

天啦噜,这个软件不知道应该怎么形容。amazing! fantastic! wonderful! graceful! what the fuck谁写的软件这么好用!
场景1:管理后台机器
场景再现
因为mac本质上是一个unix系统,因此在连接linux机器时也就没必要用第三方的ssh软件,直接在终端一个ssh命令就搞定。如果有人过来找你,说那个XXX,你看看后台日志怎么回事,怎么宕机了。这个时候你心里一边犯嘀咕,一遍云淡风轻的开始输命令:
ssh -p22 root@180.76.***.189
咔,一个回车!
没进去。。得输密码! 输完密码,咔,一个回车!
没进去。。密码输错了! 重新输入,咔,一个回车!
没看到日志。。 得cd进目录!
如此一折腾,旁边找你人估计心里想:装啥啊,还是我xshell来得快。。。
这个时候,就问你尴尬不!这还是操作一台机器,如果你是搞运维的,成片的机器,那还干不干活了!
解决方案: iterm + sshpass
首先看疗效:

然后看看这个动图里,iterm都为我们干了啥:
首先是iterm打开后,处于code目录下(绿色的),然后我们选择登陆到哪一台服务器(快捷键:command+o)。然后iterm执行如下命令,类似于一个workflow.
/usr/local/bin/sshpass -f /Users/tangxqa/develop/sshpass/haier_baidu_test ssh -p22 root@***.76.***.189
cd /root/src/rrs.com/rrsservice/
其中sshpass保存了服务器的登录密码。

具体sshpass怎么用,问度娘。
以上,自动完成了我们连接服务器、输入密码、cd到默认目录的全过程。
场景2 命令自动提示等

这个就用到了一个插件,叫 zsh。这个zsh才是真正的fucking amazing! 具体怎么个amazing法,同样自行百度。它支持上百种plugins,基本上想得到的想不到的都有!
2、transmit

虽然我很不乐意这样去做对比,但有人可能会问了:如果把iterm比作xshell,那xftp用什么替代呢?
答案就是:transmit

transmit的操作如丝般顺滑,图片不清晰,但是可以感受一下:

3、ssh tunnel

场景:
我们需要搭建开发环境,使得本地的web server/api server 能够访问位于云服务器上局域网环境中的数据库,例如百度云提供的数据库服务。这些数据库服务器可以在百度云的机器上直接访问,而不能在公网环境下通过公网ip访问。这个时候可以用百度云的普通server建一个tunnel,从而实现数据访问。在xshell中也有类似功能,中文翻译做:隧道。
界面展示:

如图便是建立了三个tunnel,分别连向了两个关系型数据库服务器和一个redis服务器。
举例来说第一条隧道连接,使用时的访问方法,就是直接localhost:13306即可。
当然,直接用ssh命令也可解决,但麻烦不是。程序员就应该能偷懒的时候尽可能偷懒,美其名曰:解放和发展生产力~
命令行:
ssh -CfNg -L 16306:postgresql94.rd*****lwr2zr.rds.bj.baidubce.com:3306 root@180.***.***.189
4、Go2Shell

场景:
有时候,我们在finner中找文件,找了半天。哎,找到了,想要在当前命令撸一行命令,怎么办?
普通程序猿:右键 -> 服务 -> 新建位于文件夹位置的终端窗口
二逼程序员:打开终端 -> 把刚才的那个文件夹拖进去 或者 打开终端,逐层cd进去
文艺程序员:Go2Shell点一下:

操作展示:

和Shell相关的先写这么多,想起来的话会及时更新~
网友评论