公众号旧文
学完 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 到底是什么意思?