在这篇文章里,我们将要一睹能快速分析文本数据(如日志,报告等)的最方便工具。很多时候,我们需要的数据并不存储在我们的本机上。所以首先,我们要知道如何链接到远程服务器上并使用它。为此,使用SSH最为合适。(SSH,即Secure Shell,是一个加密网络协议,它能让你在一个不安全的网络上安全地远程登陆和使用其他网络服务) 在Ubuntu的终端你可以用以下几个命令之一来登陆远程服务器。 在远程主机上执行命令: 此时,SSH 客户端就已经在Ubuntu的默认程序列表中了。若没有,你可以在终端尝试以下命令。 On Windows1. 运行PuTTY并输入你的链接设置: a. Host Name: example.com b. Port: 22 (leave as default) c. Connection Type: SSH (leave as default) 2. 点击Open开启一个SSH回话。 3. 当打开SSH连接时,你应该会看到一个终端提示让你输入用户名。 4. 接下来,输入密码。需要注意的是,当输入密码的时,你不会看到游标移动或任何输入字符(如**)。这是一个标准的PuTTY安全特性。点击enter。 5. 现在你已经可以在终端提示符下使用远程主机了。 SSH的一个好的特性是可以创建secure tunnels。 On Ubuntu1. 将远程主机连接到本地 进入主机1.1.1.1 获得主机192.168.0.1的权限 操作:
使用ssh隧道一个非常有用的方式就是用于这种通信加密。比如,你在一个开放的网络中使用,但是你不想别人能够拦截你的数据。 2. 将本地机(客户机)的某个端口转发到远端指定机器的指定端口 在本机1.1.1.1输入就会得到访问远程主机192.168.0.1的页面。 操作:
反向隧道用于这种情况,你需要访问一台被防火墙保护或处于NAT之后的主机。 使用PuTTY的SSH隧道功能
现在我们连上了主机,已经可以操作了。但是一些命令需要root权限。如果主机允许使用root权限,你可以在终端中执行: 在输入root用户的密码后,通过终端向远程主机的链接就会被确认,你也获得了root权限: 我们知道了如何链接到主机和获取必要权限的所有要点,但这还不足以用来分析主机上的数据。接下来还要学习在远程主机上控制、数据获取和获取的基本命令。 使用文件系统现在,我们开始学习如何使用文件系统。以下是相应的命令用来: 1. 处理文件和文件夹 新建一个文件夹 dir_name 将dir_name重命名为dir_name2 删除文件夹/文件 操作:
删除所有以file2015开头的文件;*表示任意字符,你可以把它用在任何表示缺失字符的地方。 创建文件 file_name.txt 重命名文件 2. 权限
执行file文件的权限 R 代表dir_name文件夹所有的文件 3. 所有者(Owner)/所属群组(Group) 为file.txt文件设置所有者和群组 递归设置所有者和群组 4. 查看磁盘空间 显示目前在Linux系统上的文件系统的磁盘使用情况 获取文件夹大小 获取文件夹和子目录的大小 获取文件大小 下面的命令可以用来获取主机系统的状态:
现在我们已经知道如何使用文件系统并获得我们想要信息。不幸的是,在大部分情况下,这些信息都不便于人们理解。所以要考虑能方便数据分析的工具。 分析信息的第一步,就是找到信息。 通过这个命令可以用*符号,如果全名太长或者不知道,这时用 这个例子查询主机上的认证日志: 一旦找到了文件,通常情况下我们希望查看他们的内容。
除了对文件重定向,也可以对脚本和命令重定向
和的文件内容保存到/home/auth.log 从上面的输出,我们可以看到,有许多冗余的信息。我们可以通过过滤来得到想要的信息。有一个非常有用的用法grep来处理这种情况。语法如下:
Grep也可以应用到命令和脚本中
通过sshd过滤,我们可以打印只关于ssh的认证记录 我们也可以跟踪文件更改记录。例如,当你需要测试网页时,这将变得非常有用。所以当你查询日志或者查看新的认证记录时,你可以获取到这样的信息: 打印制定文件的第三方应用的新记录 也可以配合Grep来使用 打印包含error的新记录 接下来让我们看看tail做了什么。首先设置跟踪文件 然后利用tail命令 在每个面向主机ssh的新连接建立以后,我们显示相关信息和认证记录。 另一个用于分析文件的有用工具是awk. 利用它,我们可以很容易地处理任何一个文件结构。Awk是用于语义搜索和编辑的工具。它可以看做成一种shell形式的awk。运行awk程序有很多种方式。对于一个很短的程序,很容易将其加入运行awk的命令,如下: 我们可以利用awk查看用户何时连接或加入ssh 另外一个有用的命令是sed. 该命令将文件(默认为标准输入)复制到标准输出,利用包含这些命令的脚本编辑这些文件。利用标识符-f命令可以得到sfile文件的镜像。如果只有-e script选项,-e标识符可以省略。默认情况下-n标识符无效。Script包含编辑命令,每个占一行,格式如下: Sed命令循环将输入字符串转化,并输出。 例子:
下面介绍一下一些便于远程主机操作的有用的命令。Tar和zip对于文档的操作会节省空间和流量。常用的命令如下: 对于tar:
对zip:
其中,-d指明目标目录。 当然,远程主机的相关任务还需要本地电脑和远程主机之间的文件传输。下面的命令将帮助我们完成这些任务:
利用awk命令我们已经获得用户连接时间和断开时间。现在我们将这些保存在一个文件中,将其压缩成tar文件并上传: 总结通过这篇文章,我们可以看多CLI的多种用途和它是如何帮助我们进行数据科学探究的。多数读者肯定在搜索命令行上花了不少的时间。本文旨在帮助理解这些常用的基础命令。 每一个指令都很有用,它们的合理组合将会形成一个非常强大指令。现在你可以熟练运用grep,sed和awk等命令。它们将会给你带来很多机会。 我们希望了解更多读者平时常用的指令,请在下面留言,继续学习这些指令,提升自我。好运! |
|
来自: 昵称16619343 > 《办公技能》