公众号旧文

学完 SSH,下一步该学什么?

作者:胖子阅读 —

如果你刚刚学会 SSH,已经可以远程登录 Linux 服务器,那么接下来应该学什么?

很多人这时候会开始找一大堆 Linux 命令,然后一个个去背。

但没必要。

对于刚入门的人来说,学 Linux 最重要的不是记住多少命令,而是先搞清楚:

登录服务器之后,最常做的事情有哪些。

SSH 只是第一步,它解决的是怎么进入服务器。

进入服务器之后,才是真正开始使用 Linux。

第一步:学会操作文件和目录

进入 Linux 后,最常见的操作就是查看文件、进入目录、复制文件。

比如:

pwd

查看自己当前在哪个目录。

ls

查看当前目录有哪些文件。

cd /etc

进入 /etc 目录。

mkdir test

创建一个目录。

还有几个很常用的命令:

cp

mv

rm

cat

less

分别可以用来复制、移动、删除和查看文件。

这一阶段不用追求学很多命令。

先把最常用的十几个命令用熟,就已经够用了。

第二步:理解 Linux 权限

学完文件操作之后,我比较建议马上学习 Linux 权限。

因为你以后经常会看到这样的命令:

chmod 600 ~/.ssh/authorized_keys

或者:

chmod +x test.sh

刚开始看会觉得这些数字很奇怪。

实际上它们都和 Linux 的权限有关。

Linux 文件主要有三种基础权限:

r = 读取

w = 写入

x = 执行

比如一个脚本没有执行权限,就算文件存在,也可能无法直接运行。

以后还会经常遇到:

chmod

chown

sudo

这些命令分别和修改权限、修改文件所有者、临时获取管理员权限有关。

所以这一部分非常重要。

第三步:学会看进程和服务

服务器上运行的程序,在 Linux 中通常都会表现为一个进程或者服务。

比如查看当前进程:

ps

查看系统实时运行情况:

top

查看某个服务:

systemctl status nginx

启动服务:

systemctl start nginx

重启服务:

systemctl restart nginx

以后你遇到程序启动失败,第一件事往往就是:

看看服务有没有运行。

第四步:学一点网络命令

既然已经学会 SSH,网络相关知识也可以继续往下学。

比如:

ip addr

查看 IP 地址。

ping 8.8.8.8

测试网络是否连通。

curl https://example.com

测试网站或者接口能不能访问。

ss -lntp

查看当前服务器有哪些端口正在监听。

这些命令以后排查服务器问题时非常常用。

第五步:学会看日志

Linux 出现问题以后,日志通常非常重要。

比如:

tail -f app.log

可以实时查看日志。

如果是系统服务,还经常会使用:

journalctl

例如:

journalctl -u nginx

查看 Nginx 的服务日志。

以后排查问题,基本可以记住一句话:

先看进程,再看端口,最后看日志。

很多服务器问题都可以按照这个思路去找原因。

第六步:最后再学 Shell 脚本

等前面的基础掌握以后,可以开始接触 Shell 脚本。

比如:

#!/bin/bash

echo ”Hello Linux”

以后可以慢慢学习:

if

for

while

grep

awk

sed

这样就可以把很多重复操作自动化。

比如自动检查服务器磁盘、内存、网络状态,都可以通过 Shell 脚本完成。

学 Linux 不要一开始就背命令

Linux 命令很多,全部背下来几乎没有意义。

更好的学习方式是:

遇到一个实际需求,就学习解决这个需求需要的命令。

比如你现在已经会 SSH,那么下一步可以按照这个顺序学习:

SSH

↓

文件和目录

↓

文件权限

↓

进程和服务

↓

网络

↓

日志

↓

Shell 脚本

按照这个顺序走一遍之后,你基本就可以独立完成一些简单的 Linux 服务器管理工作了。

下一篇,我们可以从 Linux 权限开始,讲清楚一个很常见的问题:

chmod 600

这里的 600 到底是什么意思?