SHELL中使用sshrc与bashmarks

对于经常需要使用终端来SSH远程服务器的同学来说,一个好的终端太重要了。Windows上有Xshell,好用且傻瓜,但Linux,Mac上的SSH客户端就比较磕碜。对于Mac和Linux上来说,最强大是还是终端本身,加上各种shell脚本的合理配置与使用,简直甩Windows很远。本文介绍2个工具,sshrcbashmarks,快捷操作终端so easy!


常规登录SSH,修改alias

mac或Linux下登录SSH的方式很多:

可以配置~/.ssh/config文件;

可以设置alias;

mac下还可以配置iTerm的Profiles命令,快捷登录。

就一条命令:(username及ip换成远程主机对应的username与ip)

1
$ ssh username@192.168.x.x

然后会要求输入远程主机的登录密码。

(出错时先清理下旧的公匙 ssh-keygen -R 192.168.x.x)

配置与使用alias

操作远程主机经常需要跳转到不同的路径,修改各种配置文件。这时候有一个快捷命令就很方便。

Windows的Xshell上有快捷命令栏,直接图形化添加与配置,点击就能使用,很赞。

Mac与Linux上就要借助alias配置来做。全程用键盘操作,完全自定义。

1.添加自定义alias(将快捷命令写入~/.bashrc文件即可)

1
$ echo "alias ssh1='ssh xuneng@192.168.2.123'" >> ~/.bashrc

2.重新加载配置文件

1
$ source ~/.bashrc

3.使用

1
$ ssh1

如果是用zsh或者其他shell,写入不同的shell配置项即可。如 ~/.zshrc 文件。(修改也一样)

修改alias

1
$ vim ~/.bashrc

找到对应的alias项 :

alias ssh1=’ssh xuneng@192.168.2.123’

修改保存退出即可。

【bashmarks】快捷设置与使用alias

bashmarks主要用来保存常用路径。支持tab键自动完成。

项目地址:

https://github.com/huyng/bashmarks/

安装步骤:

1
2
3
4
1. git clone git://github.com/huyng/bashmarks.git
2. cd bashmarks
3. make install
4. add 'source ~/.local/bin/bashmarks.sh' to your .bashrc file (~/.bashrc)

使用方法:

1
2
3
4
5
s <bookmark_name> - 保存当前路径,名字为bookmark_name
g <bookmark_name> - 直接跳转到"bookmark_name"对应的路径
l - 列出所有的 bookmark
d <bookmark_name> - 删除 bookmark
p <bookmark_name> - Prints the directory associated with "bookmark_name"

主要是s保存,g跳转,l列出所有,这3个命令比较常用。

注意事项

通常在终端中输入g会被快捷定位到git,输入l会被定位ls -l命令。(可在安装前一一输入进行检查)

因此导致以上插件安装与配置后并不能使用。

解决办法:

vim ~/.bashrc 打开时配置项,找到关于g,l的alias配置,在前面加#号注释掉即可。

【sshrc】 带着你的.bashrc,.vimrc进入ssh

sshrc的作用就是当你登录ssh后,你仍然能使用本机上的配置的alias。

项目地址:

https://github.com/Russell91/sshrc

用于主机登录SSH后, 仍然可以用主机配置好的alias命令. (安装在主机, 作用在主机与远程服务器)

与前一个插件bashmarks的区别就是:bashmarks只作用安装的机器。

安装步骤:

MacOS:

1
$ brew install sshrc

Ubuntu:

1
2
3
$ sudo add-apt-repository ppa:russell-s-stewart/ppa
$ sudo apt-get update
$ sudo apt-get install sshrc

其他Linux:

1
$ wget https://raw.githubusercontent.com/Russell91/sshrc/master/sshrc && chmod +x sshrc && sudo mv sshrc /usr/local/bin #or anywhere else on your PATH

使用方法:

1
2
3
4
5
6
7
8
$ echo "echo welcome" >> ~/.sshrc #写入.sshrc文件
$ sshrc me@myserver #用sshrc登录ssh
welcome
$ echo "alias ..='cd ..'" >> ~/.sshrc #写入alias
$ sshrc me@myserver
$ type .. #打印对应alias详情
.. is aliased to `cd ..'

总结

以上2个工具在Mac或Linux上使用还是相当方便的,结合Mac或Linux下一些终端命令,工作效率超越Windows图形工具。

转载请注明出处,有疑问欢迎留言!