一、运维基础与 Linux 环境搭建

说实话,我见过太多新手一上来就急着装系统、敲命令,结果连最基本的发行版选型都没想清楚。做运维这么多年,我踩过的坑比你们见过的命令还多。今天咱们就从最基础的开始,把 Linux 环境搭建这件事彻底讲明白。

1.1 Linux 发行版选择:别盲目跟风

很多人问我:“哪个 Linux 发行版最好?” 我的回答永远是:没有最好,只有最合适。你想想看,一个做嵌入式开发的和一个跑电商网站的,怎么可能用同一个发行版?

发行版 适用场景 包管理器 我的建议
CentOS / Rocky Linux 企业服务器、生产环境 yum / dnf 稳定第一,适合长期运行
Ubuntu Server 云原生、容器化部署 apt 社区活跃,文档丰富
Debian 追求极致稳定 apt 我个人最信任的发行版
Alpine Linux Docker 镜像、嵌入式 apk 体积小,但 glibc 兼容性要注意
我的习惯: 生产环境我首选 Rocky Linux(CentOS 的继承者),开发环境用 Ubuntu。别问我为什么不用 CentOS 8——它已经停止维护了,别踩这个坑。

1.2 SSH 远程连接:你的第一道防线

装好系统后,第一件事就是配 SSH。我记得刚入行时,有次在机房直接拿显示器操作,结果被同事笑话了——真正的运维谁天天蹲机房啊?

SSH 配置的核心就三件事:

  1. 修改默认端口——22 端口是黑客的第一目标
  2. 禁用密码登录——只用密钥认证
  3. 限制登录用户——别让 root 直接登录
# 修改 SSH 配置
sudo vim /etc/ssh/sshd_config

# 关键配置项
Port 2222                    # 换个端口,别用 22
PermitRootLogin no           # 禁止 root 直接登录
PasswordAuthentication no    # 禁用密码认证
PubkeyAuthentication yes     # 开启密钥认证

# 重启服务
sudo systemctl restart sshd
我曾经踩过的坑: 有次改完 SSH 配置忘了重启服务,结果新配置没生效,旧连接又断了——直接把自己锁在外面。后来我学乖了:改配置前先开一个备用连接,或者用 screen 保持会话。

1.3 基础命令:每天都要用的家伙

基础命令就像吃饭用的筷子,你得闭着眼睛都能用。我面试运维时,第一关就是考这些命令——不是考你背了多少参数,而是看你能不能解决实际问题。

ls 和 cd:文件系统的眼睛和腿

# 我常用的 ls 组合
ls -lh          # 人性化显示文件大小
ls -lt          # 按时间排序,最新的在最上面
ls -la          # 显示所有文件(包括隐藏文件)

# cd 的小技巧
cd -            # 回到上一个目录,超实用
cd ~            # 回家目录
cd ..           # 上级目录

grep:文本搜索的瑞士军刀

grep 这东西,说白了就是在一堆文本里找你要的东西。我在排查日志时,一天能用上百次。

# 实战场景:查找 Nginx 错误日志中的 500 错误
grep " 500 " /var/log/nginx/access.log

# 递归搜索整个目录
grep -r "error" /etc/nginx/

# 显示匹配行的上下文
grep -B 5 -A 5 "FATAL" application.log

awk:列处理神器

awk 是我最爱的命令之一。它能把文本按列切分,然后做各种处理。为什么说它强?因为它自带编程能力。

# 打印日志中的第 1 列和第 3 列
awk '{print $1, $3}' access.log

# 按逗号分隔,打印第 2 列
awk -F',' '{print $2}' data.csv

# 实战:统计每个 IP 的访问次数
awk '{print $1}' access.log | sort | uniq -c | sort -rn

sed:流式编辑器

sed 适合做批量文本替换。我经常用它来改配置文件,比手动一个个改快多了。

# 替换文件中的字符串(原地修改)
sed -i 's/old_string/new_string/g' config.conf

# 删除空行
sed -i '/^$/d' file.txt

# 打印第 10 到 20 行
sed -n '10,20p' file.txt
核心思路: 这四个命令要组合着用。比如:grep "ERROR" log.txt | awk '{print $5}' | sed 's/://g'——先过滤,再提取,最后清理格式。

1.4 Vim 编辑器:运维的吃饭家伙

Vim 这玩意儿,刚开始用的时候真想砸键盘。但一旦上手,你会发现其他编辑器都是浮云。我到现在写配置、改代码,还是用 Vim。

别想着一次学完所有命令,先记住这几个:

模式 常用操作 说明
普通模式 i 进入插入模式 按 i 才能开始打字
普通模式 :wq 保存退出 写完后记得保存
普通模式 dd 删除当前行 删错了可以用 u 撤销
普通模式 /keyword 搜索 按 n 跳到下一个匹配
普通模式 yy 复制,p 粘贴 复制粘贴的基本操作
# Vim 配置示例(~/.vimrc)
set number          " 显示行号
set tabstop=4       " Tab 宽度 4 个空格
set shiftwidth=4    " 缩进宽度 4 个空格
set expandtab       " 用空格代替 Tab
syntax on           " 语法高亮
我的建议: 刚开始别追求花哨的插件。先把 i、:wq、dd、u 这几个记熟,够你应付 80% 的场景了。剩下的,遇到不会的再查。

1.5 本章知识体系

下面这张图把本章的核心知识点串起来了。你可以把它当作一张地图,随时回来看看。

运维基础与 Linux 环境搭建知识体系 Linux 环境搭建 发行版选择 SSH 远程连接 基础命令 Vim 编辑器 CentOS/Rocky Ubuntu/Debian 密钥认证 端口修改 grep/awk/sed ls/cd 模式切换 常用快捷键 核心思路:先选对发行版,配好 SSH 远程连接 再掌握基础命令和 Vim,这是运维的四大基本功

嗯,到这里第一章的内容就差不多了。记住:运维不是背命令,而是理解系统运行的逻辑。你把这些基础打牢了,后面学什么都会很快。