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:存放系统命令(比如ls、cp等)。
小技巧: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(显示所有网卡信息,找eth0或ens33),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. 新手学习建议¶
- 动手实践:找一台Linux虚拟机(如VMware、VirtualBox)或在线实验平台(如Katacoda),多敲命令。
- 工具推荐:终端用Xshell、FinalShell;文件传输用FileZilla;SSH工具用Putty。
- 善用帮助:不懂命令时查
man 命令(比如man ls),或百度/Google搜索错误信息。 - 养成习惯:修改系统前先备份,重要操作前确认命令无误(比如
rm前加-i确认)。
Linux服务器维护没有捷径,多练习、多踩坑、多总结,你会发现它其实很“听话”。从基础命令开始,逐步深入,很快就能成为能独立维护服务器的“小能手”!