在这篇文章里,我们将要一睹能快速分析文本数据(如日志,报告等)的最方便工具。很多时候,我们需要的数据并不存储在我们的本机上。所以首先,我们要知道如何链接到远程服务器上并使用它。为此,使用SSH最为合适。(SSH,即Secure Shell,是一个加密网络协议,它能让你在一个不安全的网络上安全地远程登陆和使用其他网络服务)
在Ubuntu的终端你可以用以下几个命令之一来登陆远程服务器。
$ ssh user@host
$ ssh -p port host
通过密钥链接:
$ ssh -i key.pem user@host
在远程主机上执行命令:
$ ssh -i key.pem user@host 'command'
此时,SSH 客户端就已经在Ubuntu的默认程序列表中了。若没有,你可以在终端尝试以下命令。
command sudo apt-get install ssh
若你使用微软的Windows,你需要安装一款开源软件PuTTY
(地址http://www.putty.org/)
来使用SHH。为了使用PuTTY链接,需要以下几步:
-
运行PuTTY并输入你的链接设置:
a. Host Name:
example.com
b. Port:
22 (leave as default)
c. Connection Type:
SSH (leave as default)
-
点击
Open
开启一个SSH回话。
-
当打开SSH连接时,你应该会看到一个终端提示让你输入用户名。
-
接下来,输入密码。需要注意的是,当输入密码的时,你不会看到游标移动或任何输入字符(如**)。这是一个标准的PuTTY安全特性。点击enter。
-
现在你已经可以在终端提示符下使用远程主机了。
SSH的一个好的特性是可以创建secure tunnels。
1. 将远程主机连接到本地
进入主机1.1.1.1
ssh -f -N -R 22:192.168.0.1:22 [email protected]
获得主机192.168.0.1的权限
$ ssh localhost
操作:
使用ssh隧道一个非常有用的方式就是用于这种通信加密。比如,你在一个开放的网络中使用,但是你不想别人能够拦截你的数据。
2. 将本地机(客户机)的某个端口转发到远端指定机器的指定端口
在本机1.1.1.1输入 http://localhost:80 就会得到访问远程主机192.168.0.1的页面。
ssh -f -N -L 80:192.168.0.1:80 [email protected]
操作:
反向隧道用于这种情况,你需要访问一台被防火墙保护或处于NAT之后的主机。
Source port: 22Destination: localhost:22
现在我们连上了主机,已经可以操作了。但是一些命令需要root权限。如果主机允许使用root权限,你可以在终端中执行:
$ sudo -s
在输入root用户的密码后,通过终端向远程主机的链接就会被确认,你也获得了root权限:
我们知道了如何链接到主机和获取必要权限的所有要点,但这还不足以用来分析主机上的数据。接下来还要学习在远程主机上控制、数据获取和获取的基本命令。
现在,我们开始学习如何使用文件系统。以下是相应的命令用来:
1. 处理文件和文件夹
新建一个文件夹 dir_name
mkdir dir_name
将dir_name重命名为dir_name2
mv dir_name dir_name2
删除文件夹/文件
rm -rf dir_name
操作:
删除所有以file2015开头的文件;*表示任意字符,你可以把它用在任何表示缺失字符的地方。
rm -rf file2015*
创建文件 file_name.txt
touch file_name.txt
重命名文件
mv file_name.txt file_name2.txt
2. 权限
执行file文件的权限
chmod 777 file.sh
R 代表dir_name文件夹所有的文件
chmod -R 777 dir_name - set access 777 recursively
更多信息请参考: https://ru.wikipedia.org/wiki/Chmod
3. 所有者(Owner)/所属群组(Group)
为file.txt文件设置所有者和群组
chown ubuntu:ubuntu file.txt
递归设置所有者和群组
chown -R ubuntu:ubuntu dir_name
4. 查看磁盘空间
显示目前在Linux系统上的文件系统的磁盘使用情况
df -h
获取文件夹大小
du -sh dir_name/
获取文件夹和子目录的大小
du -h dir_name/*
获取文件大小
du -h filename
下面的命令可以用来获取主机系统的状态:
free
top/htop