当前位置:首页 > 学习笔记 > 正文内容

Linux 服务器运维入门 - 从零开始管理服务器

廖万里14小时前学习笔记2

# Linux 服务器运维入门 - 从零开始管理服务器

Linux 是服务器运维的必备技能,本文从基础命令到实战技巧,帮你快速入门服务器管理。

---

一、Linux 简介

Linux 是最流行的服务器操作系统,稳定、安全、免费开源。掌握 Linux 命令行是运维工作的基础。

常见发行版

  • Ubuntu:用户友好,社区活跃
  • CentOS/Rocky:企业级稳定
  • Debian:纯净稳定
  • Alpine:轻量级,适合容器
---

二、连接服务器

SSH 登录

# 密码登录
ssh root@192.168.1.100

# 指定端口 ssh -p 2222 root@192.168.1.100

# 密钥登录 ssh -i ~/.ssh/mykey.pem root@192.168.1.100

配置 SSH 密钥

# 生成密钥对
ssh-keygen -t rsa -b 4096

# 复制公钥到服务器 ssh-copy-id root@192.168.1.100

# 手动复制 cat ~/.ssh/id_rsa.pub | ssh root@192.168.1.100 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

---

三、文件系统操作

目录导航

# 查看当前目录
pwd

# 切换目录 cd /var/log cd ~ # 回到home目录 cd .. # 上级目录 cd - # 上一个目录

文件操作

# 列出文件
ls -la      # 详细列表
ls -lh      # 人类可读大小

# 创建目录 mkdir -p /path/to/dir

# 创建文件 touch file.txt

# 复制 cp file.txt /backup/ cp -r dir/ /backup/ # 复制目录

# 移动/重命名 mv old.txt new.txt mv file.txt /path/to/

# 删除 rm file.txt rm -r dir/ # 删除目录 rm -rf dir/ # 强制删除(危险!)

# 查找文件 find / -name "*.log" find /var -size +100M

查看文件

# 查看全部
cat file.txt

# 分页查看 less file.txt more file.txt

# 查看头部/尾部 head -n 20 file.txt tail -n 50 file.txt tail -f /var/log/syslog # 实时查看

# 搜索内容 grep "error" /var/log/syslog grep -r "TODO" ./ # 递归搜索

---

四、用户与权限

用户管理

# 创建用户
useradd -m -s /bin/bash username

# 设置密码 passwd username

# 删除用户 userdel -r username

# 切换用户 su - username

# 查看当前用户 whoami id

权限管理

# 查看权限
ls -la
# -rwxr-xr--
# 第一位:文件类型(-文件 d目录 l链接)
# 后三位一组:所有者、组、其他
# r=4 w=2 x=1

# 修改权限 chmod 755 script.sh chmod +x script.sh chmod -R 644 /var/www/

# 修改所有者 chown user:group file.txt chown -R www-data:www-data /var/www/

sudo 配置

# 添加用户到 sudo 组
usermod -aG sudo username

# 编辑 sudoers visudo # 添加:username ALL=(ALL) NOPASSWD: ALL

---

五、进程管理

查看进程

# 查看所有进程
ps aux

# 查找进程 ps aux | grep nginx

# 动态监控 top htop # 需要安装

# 查看端口占用 netstat -tlnp ss -tlnp lsof -i :80

进程控制

# 后台运行
nohup python app.py &

# 查看后台任务 jobs

# 前台/后台切换 fg %1 bg %1

# 终止进程 kill PID kill -9 PID # 强制终止 killall nginx pkill -f "python app.py"

---

六、软件包管理

Ubuntu/Debian

# 更新软件源
apt update

# 安装软件 apt install nginx

# 卸载软件 apt remove nginx apt purge nginx # 删除配置

# 搜索软件 apt search nginx

# 查看已安装 apt list --installed

CentOS/RHEL

# 更新软件源
yum makecache

# 安装软件 yum install nginx

# 卸载软件 yum remove nginx

# 搜索软件 yum search nginx

---

七、系统监控

资源监控

# 内存使用
free -h

# 磁盘使用 df -h du -sh /var/*

# CPU 信息 cat /proc/cpuinfo nproc # CPU 核心数

# 系统负载 uptime

# 综合监控 vmstat 1 iostat 1

日志查看

# 系统日志
tail -f /var/log/syslog
tail -f /var/log/messages

# 认证日志 tail -f /var/log/auth.log

# Nginx 日志 tail -f /var/log/nginx/access.log tail -f /var/log/nginx/error.log

---

八、网络配置

网络命令

# 查看网络接口
ip addr
ifconfig

# 查看 DNS cat /etc/resolv.conf

# 测试网络 ping google.com ping -c 4 baidu.com

# 端口测试 telnet 192.168.1.1 80 nc -zv 192.168.1.1 80

# 路由跟踪 traceroute google.com

防火墙

# UFW (Ubuntu)
ufw status
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw disable

# firewalld (CentOS) firewall-cmd --list-all firewall-cmd --add-port=80/tcp --permanent firewall-cmd --reload

---

九、定时任务

Crontab

# 编辑定时任务
crontab -e

# 查看定时任务 crontab -l

# 格式:分 时 日 月 周 命令 # 示例: # 每天凌晨 2 点备份 0 2 * * * /backup/backup.sh

# 每 5 分钟执行 */5 * * * * /scripts/check.sh

# 每周一 8 点执行 0 8 * * 1 /scripts/weekly.sh

---

十、常用运维脚本

1. 自动备份

#!/bin/bash
# backup.sh

BACKUP_DIR="/backup" DATE=$(date +%Y%m%d) SOURCE="/var/www"

tar -czf $BACKUP_DIR/backup_$DATE.tar.gz $SOURCE find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete

2. 监控告警

#!/bin/bash
# monitor.sh

DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')

if [ $DISK_USAGE -gt 80 ]; then echo "磁盘使用率超过 80%" | mail -s "服务器告警" admin@example.com fi

3. 日志清理

#!/bin/bash
# clean_logs.sh

find /var/log -name "*.log" -mtime +30 -delete find /var/log -name "*.gz" -delete

---

十一、安全加固

SSH 安全

# 编辑 SSH 配置
vi /etc/ssh/sshd_config

# 修改配置: Port 2222 # 修改默认端口 PermitRootLogin no # 禁止 root 登录 PasswordAuthentication no # 禁用密码登录 MaxAuthTries 3 # 最大尝试次数

# 重启 SSH systemctl restart sshd

系统更新

# Ubuntu
apt update && apt upgrade -y

# CentOS yum update -y

安装 Fail2ban

apt install fail2ban -y

# 配置 vi /etc/fail2ban/jail.local

---

Linux 运维是一项实践性很强的技能,多动手才能真正掌握。
>
下一篇预告:Docker 容器化部署实战

---

作者:廖万里 发布时间:2026年3月16日

本文链接:https://www.kkkliao.cn/?id=657 转载需授权!

分享到:

版权声明:本文由廖万里的博客发布,如需转载请注明出处。


发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。