1. 为什么要学习Linux服务器维护?

在互联网时代,Linux已经成为服务器的“主力军”——从网站、数据库到云服务,很多重要系统都运行在Linux上。它稳定、开源且安全,是运维人员和开发者的必备技能。对新手来说,掌握Linux基础维护知识,不仅能看懂服务器状态,还能自己解决简单的故障,比如文件权限问题、服务启动失败等。

2. 命令行:Linux的“语言”

Linux服务器主要通过命令行操作(图形界面反而用得少),就像和电脑“对话”一样。新手不用怕,先记住几个最基础的命令:

  • 登录服务器:用SSH工具(比如Putty、Xshell或系统自带的终端)输入 ssh 用户名@服务器IP,按提示输入密码。
  • 查看当前目录pwd(Print Working Directory),比如输入后会显示 /home/yourname
  • 切换目录cd 目标路径,比如 cd /etc 进入系统配置目录,cd ~ 回到用户家目录,cd .. 返回上一级目录。
  • 查看文件/目录列表ls(list),如果要显示详细信息(权限、大小等),加参数 ls -l;显示隐藏文件(以 . 开头的文件)加 ls -a

3. 文件系统:Linux的“房间布局”

Linux的文件系统像一棵倒置的树,最顶层是 根目录 /,其他目录都是从根目录延伸出来的“子目录”。记住几个核心目录的作用:

  • /root:管理员(root用户)的家目录。
  • /home/用户名:普通用户的家目录(每个用户有自己的独立空间)。
  • /etc:存放系统配置文件(比如网络、服务、软件的配置)。
  • /var:存放动态数据(日志、缓存、数据库等,比如 /var/log 是系统日志文件夹)。
  • /bin/usr/bin:存放系统命令(比如 lscp 等)。

小技巧tree 命令可以可视化目录结构(如果没安装,用 ls 也能大概看)。

4. 文件与目录操作:“复制、移动、删除”

日常维护中,文件操作是最频繁的,必须掌握:

  • 创建空文件touch 文件名,比如 touch test.txt
  • 创建目录mkdir 目录名,比如 mkdir docs
  • 复制文件/目录cp 源文件 目标位置,比如 cp test.txt /home/user/docs;加 -r 参数复制目录(递归):cp -r docs /tmp
  • 移动/重命名mv 源文件 目标位置,比如 mv test.txt docs/(移动到docs目录);如果目标是新文件名,就是重命名:mv test.txt new.txt
  • 删除文件/目录rm 文件名(加 -r 删除目录,比如 rm -r docs),注意rm 一旦执行无法撤销!建议先备份或确认。

5. 文件权限:谁能看、谁能改?

权限是Linux的核心安全机制,用 rwx 表示(read读、write写、execute执行),每个文件/目录有3类权限:所有者、所属组、其他用户。

  • 权限表示:比如 rw-r--r-- 表示:
  • 所有者:rw-(可读可写,不可执行)
  • 所属组:r--(只能读)
  • 其他用户:r--(只能读)
  • 数字简化:用数字表示权限(r=4, w=2, x=1),比如 rw-r--r--644(4+2=6,4=4,4=4)。
  • 修改权限chmod [权限] 文件名,比如给文件加执行权限:chmod +x test.sh+x 表示增加执行权限);直接用数字:chmod 755 test.sh(所有者7=rwx,组5=rx,其他5=rx)。
  • 修改所有者/组chown 新所有者 文件chgrp 新组 文件,比如 sudo chown root:root test.txt(把文件所有者改成root,组改成root组)。

6. 进程与服务:服务器“在跑什么”

服务器上运行的程序叫“进程”,需要管理它们:

  • 查看进程ps(查看当前终端进程)或 ps -aux(显示所有进程,更详细);top 实时动态监控进程(按 q 退出)。
  • 结束进程kill 进程ID,比如 kill 1234;如果杀不掉,用 kill -9 1234(强制终止)。
  • 管理服务:Linux用 systemctl 管理服务(比如Nginx、MySQL等),常用命令:
  • sudo systemctl start 服务名(启动),stop(停止),restart(重启),status(查看状态)。
  • 例子:sudo systemctl restart nginx(重启Nginx服务)。

7. 网络配置:服务器“和外界沟通”

服务器需要网络连接,新手必学:

  • 查看IP地址ip addr(显示所有网卡信息,找 eth0ens33),ifconfig(部分系统可能没装,需先 sudo apt install net-tools)。
  • 测试网络连通性ping 目标IP(比如 ping 8.8.8.8 测试Google DNS),不通可能是防火墙或网络故障。
  • 查看端口netstat -tuln(列出所有监听端口)或 ss -tuln(更高效),比如看80端口是否被占用:netstat -tuln | grep 80
  • 防火墙开放端口
  • Ubuntu/Debian:sudo ufw allow 80/tcp(开放80端口,TCP协议),sudo ufw status 查看状态。
  • CentOS/RHEL:sudo firewall-cmd --add-port=80/tcp --permanent(永久开放),sudo firewall-cmd --reload 生效。

8. 系统更新与软件安装

日常维护要定期更新系统和安装软件:

  • 更新系统
  • Ubuntu/Debian:sudo apt update(更新软件源),sudo apt upgrade(更新软件)。
  • CentOS/RHEL:sudo yum update(或 sudo dnf update,推荐用dnf)。
  • 安装软件
  • Ubuntu:sudo apt install 软件名(比如 sudo apt install nginx 装Nginx)。
  • CentOS:sudo yum install 软件名(比如 sudo yum install httpd 装Apache)。
  • 卸载软件sudo apt remove 软件名(Ubuntu)或 sudo yum remove 软件名(CentOS)。

9. 日志与备份:排查问题和数据安全

  • 查看日志:系统日志在 /var/log 下,比如 auth.log(记录登录日志)、syslog(系统日志),用 tail -n 10 /var/log/auth.log 查看最后10行。
  • 备份文件:用 tar 压缩备份,比如 tar -czf backup.tar.gz /home/user/docs(压缩docs目录到backup.tar.gz),恢复时 tar -xzf backup.tar.gz

10. 新手学习建议

  1. 动手实践:找一台Linux虚拟机(如VMware、VirtualBox)或在线实验平台(如Katacoda),多敲命令。
  2. 工具推荐:终端用Xshell、FinalShell;文件传输用FileZilla;SSH工具用Putty。
  3. 善用帮助:不懂命令时查 man 命令(比如 man ls),或百度/Google搜索错误信息。
  4. 养成习惯:修改系统前先备份,重要操作前确认命令无误(比如 rm 前加 -i 确认)。

Linux服务器维护没有捷径,多练习、多踩坑、多总结,你会发现它其实很“听话”。从基础命令开始,逐步深入,很快就能成为能独立维护服务器的“小能手”!

小夜