Linux 交互

作为大数据工程师,天天要和 Linux 打交道,所以行走 Linux 江湖,要有一个趁手的家伙。下面这几个神兵利器,总有一款适合你。

  • Xshell
  • MobaXterm
  • WinScp

Xshell

再 windows 下面 Linux 的链接工具最常见的是 xshell。先来看看 Xshell 的“门面”。

xshell怎么打开mongodb_sql

如上图所示,我们可以在“会话管理器”中增、删、改 Linux 的链接信息。在上面的菜单里面还有可视化的链接管理按键。最关键的是中间黑底绿字的终端编辑框。

简单的介绍了一下 Xshell 的门面。我们来看一下 xshell 的简单的使用。

新建一个 Linux 的链接

xshell怎么打开mongodb_hive_02


选择小窗口上方新建

xshell怎么打开mongodb_sql_03

  • 名称:就是会话的名字,随便写,方便记住就行
  • 协议:默认就是SSH,不用管它
  • 主机:就是你的空间的IP
  • 端口号:就是你空间的端口号ssh port
  • 其他不填,然后点击确定,添加成功。

创建好之后点击链接按钮:

xshell怎么打开mongodb_git_04

之后会让你输入你linux系统的账号密码。输入成功之后,点击确定

xshell怎么打开mongodb_xshell怎么打开mongodb_05

xshell怎么打开mongodb_xshell怎么打开mongodb_06

这个时候你的xshell已经成功链接你的linux了。

Xmanager5 的使用

xshell 还有另外一个功能,就是作为 FTP 的客户端,对服务器上的文件进行增、删操作。集成性比较好。

点击下图中红色圈出的按键。

xshell怎么打开mongodb_xshell怎么打开mongodb_07


在打开的Xftp页面上,我们可以看到,这个时候是自动连接上了刚刚在Xshell连接的服务器。如果我们是直接打开Xftp的话,需要手动连接服务器的,,从Xshell关联过来,就方便很多了。

xshell怎么打开mongodb_sql_08


如图所示,就可以再本地的文件和 Linux 文件夹里面相互 copy 文件了。

MobaXterm

MobaXterm 一个功能强大,只是推广的不太好。xshell 有的功能它都有。这里我们重点来讲一下这个工具。
总结一下这款神器的功能:

  • 本地终端
  • session 远程链接LInux

xshell怎么打开mongodb_sql_09


local terminal 的功能真心的好棒啊,下图中我们可以看到它把 window 虚拟化成了一个 linux 系统。

里面还有漂亮的命令行装饰,还能使用 linux 下面的 grep 命令,不仅这一个命令,其他 Linux 下面常用命令都是可以使用的。这笔 git for window 漂亮多了。

xshell怎么打开mongodb_sql_10


我的几个建议:

隐藏菜单栏下的那排按钮。那排按钮没多大用处,还整天占那么大地方。简直不要太扎眼。所有我决定去掉它。
在菜单栏点击 「view」 --> 「show menu bar」,即可隐藏此排按钮。

xshell怎么打开mongodb_git_11


右键粘贴。在Moba及很多终端工具里,都有这样的功能:鼠标左键划选复制文件,右键粘贴文本。但在Moba中右键粘贴功能默认不打开,我们可以手动打开。

在菜单栏点击 「settings」 --> 「Configuration」,在弹出的对话框中选择 「terminal」,再将 「paste using right-click」 打上对勾即可。

xshell怎么打开mongodb_hive_12

winSCP

winscp是个windows环境下使用ssh的开源图形化sftp客户端。同时支持scp协议。它的主要功能就是在本地与远程计算机间安全的复制文件。通过winscp可以编辑、删除vps上的文件,和上传文件到vps。与ftp不同的是,ftp通过会限制在某目录中,而使用root通过winscp登录后则可以操作系统中的所有文件。

说了这么多,我们主要用的是它本机编辑 Linux 上文件的功能。如下图所以的,我们可以像打开本地文件一样打开 Linux 服务器上的文件了,而且当我们保存文件后,WinScp 也会帮我我们把改动同步到 Linux 上面去。

xshell怎么打开mongodb_hive_13


xshell怎么打开mongodb_sql_14


对于我们我们数据开发来说有什么用呢?我们可以通过 winScp 编辑服务器上的 sql 文件和 shell 文件,就像编辑本地文件一样,我们可以使用我们本地电话上的编辑器。在 Linux 上恐怕我们只能使用 vim 了。

代码管理

对于一个团队来说,除了人之外,最宝贵的资产莫过于代码和文档。现在管理代码的首选工具一定是 git 了。服务器版本的 git 工具那肯定是 gitlab 。对于我们数据开发来说,最常使用的是 git 的客户端,下面我们就来讲讲在 window 的环境下比较流行的 git 客户端工具。

  • git for window
  • sourceTree

git for window

先来看看他的“门面”吧。下图是 git for window 的命令行界面。

xshell怎么打开mongodb_sql_15


在上图中的我们可以看到它是其实也是 Linux 的虚拟工具。出来可以执行 git 的命令,我们还可以使用 grep、find、sed、awk、vim 等命令。可以看作的 MobaXterm 的字工具。

说完命令行界面,再来看看它的图形界面,使用图形界面可以完成日期的 git 使用。

xshell怎么打开mongodb_git_16

xshell怎么打开mongodb_hive_17

sourceTree

SourceTree拥有一个精美简洁的界面,大大简化了开发者与代码库之间的Git操作方式,这对于那些不熟悉Git命令的开发者来说非常实用。

SourceTree拥有完整的Git功能:

  • 通过一个简单的用户界面即可使用所有的Git命令
  • 通过一次单击,即可管理所有的Git库,无论是托管的还是本地的
  • 通过一次单击,即可进行commit、push、pull、merge等操作
  • 一些先进的功能,如补丁处理、rebase、shelve、cherry picking等
  • 可以连接到你托管在Bitbucket、Stash、Microsoft TFS或GitHub中的代码库

高级编辑器

作为优秀的“码农”,怎么能没有一个趁手的“编辑器”呢? 于是我们就来介绍一下编辑器那家强。
先来看看有那几个编辑器选手:

  • nodepad++
  • sublime
  • vsCode
  • vim

nodepad++

Notepad++ 是一款仅支持在 Windows 系统中运行的自由开源文本编辑器,可以免费使用,支持多国语言。
貌似沾了 Nodepadd 的光,有大量的开发人员都在使用这款编辑器。

  1. 内置支持多达 27 种语法高亮显示(囊括各种常见的源码、脚本,值得一提的是,完美支持 .nfo 文件查看),也支持自定义语言
  2. 可自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,代码显示得非常有层次感,这是此软件最具特色的体现之一
  3. 可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式(F11),支持鼠标滚轮改变文档显示比例,等等
  4. 提供数个特色功能,如邻行互换位置,宏功能,等等…现在网上有很多文件编辑器,这个却是不可多得的一款,不论是日常使用还是手写编程代码,都能让你体会到它独有的优势和方便。

sublime

Sublime Text 是一个文本编辑器(收费软件,可以无限期试用,但是会有激活提示弹窗),同时也是一个先进的代码编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

特色功能如下:

  1. 良好的扩展功能,官方称之为安装包(Package)。
  2. 右边没有滚动条,取而代之的是代码缩略图,这个功能非常赞
  3. 强大的快捷命令“可以实时搜索到相应的命令、选项、snippet和syntex,按下回车就可以直接执行,减少了查找的麻烦。”
  4. 即时的文件切换。
  5. 随心所欲的跳转到任意文件的任意位置。
  6. 多重选择(Multi-Selection)功能允许在页面中同时存在多个光标。
  7. 支持VIM模式。
  8. 支持宏,宏是什么,简单地说就是把操作录制下来或者自己编写命令,然后播放刚才录制的操作或者命令。

VSCode

这是一款后起之秀,微软作为它的爸爸,已经它优秀的插件系统,已经成功占领的大多数的前端开发、后端开发,当然还有我的电脑。

最近两年vs code在开发工具领域表现得非常抢眼,让很多原本热衷于eclipse、IntelliJ、Atom的同学纷纷转向了vs code,并且对其赞不绝口。一直以来,我认为vs code名不副实,它只不过是一个并没有什么特色之处,依靠插件而使其丰富起来的编辑器而已。它的功能和 sublime 相处无几。

vim

作为“编辑器之神”,当然是最后一个出场了。总的来说,你可以终其一生来研究 vim 。vim 不仅仅是一个编辑器,它还可以是一个操作系统,关于 vim ,我们居然可以在市面上找到 N 本很贵很贵的书籍。如果你是一个极客那么,你就勇敢的踏上 vim 这条不归路吧。

vim 的教程很多,但是我强烈建议看看 https://coolshell.cn/articles/5426.html

高级编辑器的常用功能汇总

以 VScode 为例子,高级编辑器的常用功能有:

• 文件浏览框
• 高级搜索
• 列模式
• 正则搜索

文件浏览框

在文件浏览框里面,可以方便的打开、删除项目里面的文件。右边的多表头可以方便得在多个文件中切换。

xshell怎么打开mongodb_xshell怎么打开mongodb_18

高级搜索

高级搜索让我们可以在某个文件夹里面,搜索包含某个字符串的文件名称,也可以根据文件内容进行搜索,也就是找出包含某个字符串的文件。

xshell怎么打开mongodb_git_19

### 列模式列模式可以让我们同时编辑多行的数据。

xshell怎么打开mongodb_xshell怎么打开mongodb_20

正则搜索

正则搜索可以让我更高效的搜索出一类字符串。

xshell怎么打开mongodb_git_21

数据库客户端

作为数据开发,我们怎能发不和数据库打交道,这究竟是人性扭曲,还是道德的沦丧。

  • 全能选手:DBeaver
  • navigator: sqlserver mysql

DBeaver

dbeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具。

它是经过精心设计和开发的数据库管理工具。免费、跨平台、基于开源框架和允许各种扩展写作(插件)。

请看下面的截图,由于它支持任何具有一个JDBC驱动程序数据库。它可以链接市面上绝大多数的数据库产品,甚至像 spark、hive 这种大数据平台。

xshell怎么打开mongodb_xshell怎么打开mongodb_22


而且从操作界面就可以看出来,它是由 eclipse 改的,所以 eclipse 支持的插件都能嫁接过来。例如,Vrapper 查看让你在 vim 的模式下爽写 SQL。

总结一下,就是 DBeaver 我有,天下我有。

hive 命令行

大数据开发工程师大多数情况下,会使用 hive 命令行。来执行 sql 语句。所以在这里也介绍一下 hive 命令行的用法。
我们重点说几个选项:

  • -f: 指定 sql 文件,例如 hive -f ~/execute.sql , 我们在 -f 后面指定了 sql 文件的路径。命令行会从 execute.sql 中取出 sql 语句执行。
  • --hivevar or --hiveconf:接受自定义参数和预设参数。当我们在 sql 语句里面加了参数之后,我们可以使用 --hivevar 或者 --hiveconf 来指定参数。举个例子:
    execute.sql 文件内容为:
    select * from db_name.table_name where col_name = ‘${col_value}’ ; – 注意这里使用 ${变量名称} 来设置变量。
    hive 命令行的使用:hive --hivevar col_value=123 -f execute.sql 。
    –hiveconf 除了可以设置自定义变量,它还可以设置 hive 的参数变量,例如,hive.exec.dynamic.partition.mode 。
  • -e: 它是指定 sql 语句。这个选项可以让我们在不进入 hive 命令行的情况下执行 sql 语句。例如:
    hive -e “select * from table_name limit 10 ;”
  • --showHeader: 当我们不希望 hive 给我们返回标题信息的时候,我们可以使用这个选项,例如:
    shell_var=hive --showHeader -e "select * from table_name limit 10 " , hive 只会将数据返回给变量 shell_var.