序言
仔细思考一下自己近几年来所使用过的软件,真的感受到了某些软件对处理数据的效率提升,是十分显著的。然后每每跟别人安利这个那个软件总是很费口舌,然后大多数时候别人也不可能听一遍就会了,所以说还是通过一篇文章来总结一下,可以节省超级多时间的一个入门软件的概览好了~~
软件/技巧目录
- tmux
永远不断线的terminal
- htop
丰富的监控软件
- jupyter lab
强大的交互python终端
- snipaste
便签纸体验的截图工具
- ranger
终端界面的文件浏览器
- zsh
高效、流畅的终端
tmux
如果是一个拥有服务器的生信人员的话,那么使用远程的服务器肯定是日常的一环,毕竟现在流行的轻便的工作站、笔记本,然后把大部分的钱花在一台比较好的服务器上,因为基因组数据的日益增大,服务器的储存空间也可以远远超过个人的笔记本。
所以这里介绍一个软件tmux,tmux是一个分屏工具,但是对我来说,其最重要的作用是
保持连接
由于tmux
属于一个在终端/服务器层面上的图形界面软件,所以即使你因为网络波动、停电、win10更新、改变工作地点等等的原因导致你连接的服务器的终端被关闭,也不用担心自己的terminal会被关闭。
可以用一句话来说,在tmux
下打开的每一个终端都相当于运行在了后台,你能看到的它的原因。仅仅是因为tmux
捕获了这个运行在了后台的程序,并通过它,把你的输入传递给它,把它的输出可视化到了挡墙屏幕上。
htop
在使用服务器时,我们都会被告知存在一个叫top
的工具,可以观察当前服务器运行的任务以及当前服务器的状态,但是top
的界面真的就十分的简单和粗糙。像极了上个世纪DOS界面的产物。
后来我发现了htop,作为top
的升级版,一来继承了top
的特点,又添加了很多语法高亮以及丰富的功能。所以也成为了进行监控服务时候的首选吧。
甚至可以看到别人所输入的命令,从而可以借鉴别人的代码或者直观的看到别人所使用的线程数。
jupyter lab
由于我绝大部分时间使用的语言都是python,所以一个好的python交互界面绝对可以大大节省我的时间。例如可以保存之前的输出结果。可以自动补全历史命令。可以内嵌绘图结果。可以自动补全module、命令等。
而jupyterlab作为一个Notebook的升级版,一方面内嵌了notebook的所有功能,另外一方面也增加了诸如文件管理器、终端以及众多的插件支持的部分。所以使用这个东西也成为了我的日常,一旦涉及到了需要进行交互式绘图的环节,使用notebook也成为必备的过程。
如何使用在远程服务器上使用jupyterlab?
在远程的服务器上工作最痛苦的一点就是交互。所以每一个便捷高效的软件都在竭尽全力的使得用户更加高效、流畅的毫无障碍的在远程和本地使用该软件。
jupyterLab就做得很好,因为它本身就是基于网页的,所以对此没有什么问题。
主要的过程就是通过ssh远程访问服务器上打开的jupyterLab
ssh -N -f -L localhost:8888:localhost:8889 remote_user@remote_host
需要注意的是,这里的localhost:8888
与localhost:8889
的差异,千万不要死记硬背,而是通过理解去记忆它才能在之后灵活的使用不同的参数。
前者指的是本地的8888端口,而后者指的是,当你登录到remote_user@remote_host
时,所使用的的端口8889,所以一旦你需要进行多次跳转时,就一定要牢记这一点。
snipaste
这个也是少有的在微软商店发现的好用的软件,虽然是微软商店上的项目,但是似乎mac上也有兼容的版本。所以需要的话大家可以自己找一找。
截图工具之前一直使用的都是qq,真是跟网友们讲的一样了,我唯一还是用qq的原因是因为要用来截图。所以后来我找了很多截图工具,这个snipaste最让我喜欢的一个功能是贴到屏幕上,就像便签纸一样
便签纸的功能可以做什么呢?
就像excel中的首行冻结一样,可以把别的地方的信息部分截取,然后方便的挪动到另外一个地方来进行对比,毕竟很多时候切换来切换去就会花很多的时间。不如直接把一边的信息截图,然后在另外一边照抄一遍。
ranger
这个ranger我之前应该也有推荐过,这里就贴个图就好了。
灵活的服务器文件管理器-ranger
** oh-my-zsh
zsh绝对是所有终端中最为定制化的一个,但是由于它复杂的定制化,所以大部分人就会望而却步。还好github上的活雷锋们没有放弃这一个终端,提供了一个帮助定制化zsh的项目。
通过 oh-my-zsh就可以方便使用zsh的诸如 自动补全历史命令,记录历史地址的功能
自动补全历史命令
这说是一个很简单的功能,但是也真的节省了大量的时间,不然每次都得重新的输入history | grep blabla
就会十分的奔溃。。。
其它高效的软件推荐
-
pycharm
终极的python IDE
-
Filezila
方便的文件传输管理器
-
MobaXterm
功能强大且用户友好免费的 SSH终端
-
Zotero
强大的文献管理工具
- 滴答清单
个人日历任务管理软件
结尾
简单总结一下,希望大家可以更为高效的处理数据吧,最能提高效率的还是自己个人操纵数据的技术的上升呀~~