Linux 系统运维基础指南

目录

  1. 系统信息查看
  2. 用户与权限管理
  3. 进程管理
  4. 磁盘管理
  5. 网络配置
  6. 系统日志
  7. 常用运维命令

1. 系统信息查看

1.1 查看系统版本

1
2
3
4
5
6
7
8
# 查看操作系统版本
cat /etc/os-release
cat /etc/redhat-release # CentOS/RHEL
cat /etc/debian_version # Debian/Ubuntu

# 查看内核版本
uname -r
uname -a

1.2 查看硬件信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# CPU 信息
lscpu
cat /proc/cpuinfo

# 内存信息
free -h
cat /proc/meminfo

# 磁盘信息
lsblk
df -h

# PCI 设备
lspci

# USB 设备
lsusb

1.3 查看系统运行状态

1
2
3
4
5
6
7
8
9
10
# 系统运行时间
uptime

# 系统负载
top
htop

# 查看系统服务
systemctl list-units --type=service
systemctl list-unit-files --state=enabled

2. 用户与权限管理

2.1 用户管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 创建用户
useradd -m -s /bin/bash username
passwd username

# 修改用户信息
usermod -aG sudo username # 添加用户到 sudo 组
usermod -L username # 锁定用户
usermod -U username # 解锁用户

# 删除用户
userdel -r username # -r 同时删除家目录

# 查看用户信息
id username
cat /etc/passwd
cat /etc/shadow

2.2 组管理

1
2
3
4
5
6
7
8
9
# 创建组
groupadd groupname

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

# 查看组信息
getent group groupname
cat /etc/group

2.3 权限管理

1
2
3
4
5
6
7
8
9
10
11
12
# 修改文件权限
chmod 755 filename
chmod u+x filename
chmod -R 755 directory/

# 修改文件所有者
chown user:group filename
chown -R user:group directory/

# 查看权限
ls -l
stat filename

2.4 Sudo 配置

1
2
3
4
5
6
7
8
# 编辑 sudo 配置
visudo

# 添加用户 sudo 权限
username ALL=(ALL:ALL) ALL

# 免密码 sudo
username ALL=(ALL) NOPASSWD: ALL

3. 进程管理

3.1 查看进程

1
2
3
4
5
6
7
8
9
10
11
# 查看所有进程
ps aux
ps -ef

# 查看特定进程
ps aux | grep nginx
pgrep nginx

# 实时查看进程
top
htop

3.2 进程控制

1
2
3
4
5
6
7
8
9
# 终止进程
kill PID
kill -9 PID # 强制终止
killall processname
pkill processname

# 调整进程优先级
nice -n 10 command
renice -n 10 -p PID

3.3 后台任务管理

1
2
3
4
5
6
7
8
9
10
11
12
13
# 后台运行
command &

# 查看后台任务
jobs

# 切换到后台/前台
Ctrl+Z # 挂起
bg # 后台运行
fg # 前台运行

# nohup 运行
nohup command &

4. 磁盘管理

4.1 磁盘分区

1
2
3
4
5
6
7
8
9
10
11
# 查看磁盘分区
fdisk -l
lsblk

# 分区操作
fdisk /dev/sdb
parted /dev/sdb

# 格式化分区
mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb1

4.2 挂载管理

1
2
3
4
5
6
7
8
9
10
11
12
# 挂载
mount /dev/sdb1 /mnt/data

# 卸载
umount /mnt/data

# 查看挂载
df -h
mount | grep sdb1

# 永久挂载(/etc/fstab)
echo "/dev/sdb1 /mnt/data ext4 defaults 0 0" >> /etc/fstab

4.3 LVM 管理

1
2
3
4
5
6
7
8
9
10
11
12
# 创建物理卷
pvcreate /dev/sdb1

# 创建卷组
vgcreate vg_data /dev/sdb1

# 创建逻辑卷
lvcreate -L 100G -n lv_data vg_data

# 扩展逻辑卷
lvextend -L +50G /dev/vg_data/lv_data
resize2fs /dev/vg_data/lv_data

4.4 磁盘空间分析

1
2
3
4
5
6
7
8
9
10
# 查看磁盘使用
df -h
df -i # inode 使用

# 查看目录大小
du -sh /path
du -h --max-depth=1 /path

# 查找大文件
find / -type f -size +100M

5. 网络配置

5.1 网络接口配置

1
2
3
4
5
6
7
8
9
10
11
12
13
# 查看网络接口
ip addr
ifconfig

# 配置 IP 地址
ip addr add 192.168.1.100/24 dev eth0
ip link set eth0 up

# 永久配置(CentOS/RHEL)
vi /etc/sysconfig/network-scripts/ifcfg-eth0

# 永久配置(Ubuntu/Debian)
vi /etc/netplan/01-netcfg.yaml

5.2 路由配置

1
2
3
4
5
6
7
8
9
# 查看路由表
ip route
route -n

# 添加默认网关
ip route add default via 192.168.1.1

# 添加静态路由
ip route add 10.0.0.0/8 via 192.168.1.254

5.3 DNS 配置

1
2
3
4
5
6
# 查看 DNS
cat /etc/resolv.conf

# 配置 DNS
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
echo "nameserver 8.8.4.4" >> /etc/resolv.conf

5.4 防火墙配置

1
2
3
4
5
6
7
8
9
10
11
12
13
# firewalld(CentOS/RHEL)
systemctl start firewalld
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

# ufw(Ubuntu/Debian)
ufw enable
ufw allow 80/tcp
ufw status

# iptables
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables-save > /etc/iptables/rules.v4

6. 系统日志

6.1 日志文件位置

1
2
3
4
5
6
7
8
9
10
11
12
# 系统日志
/var/log/messages # CentOS/RHEL
/var/log/syslog # Ubuntu/Debian

# 安全日志
/var/log/secure # CentOS/RHEL
/var/log/auth.log # Ubuntu/Debian

# 应用日志
/var/log/nginx/
/var/log/apache2/
/var/log/mysql/

6.2 日志查看命令

1
2
3
4
5
6
7
8
9
10
# 查看日志
tail -f /var/log/messages
tail -100 /var/log/messages

# 搜索日志
grep "error" /var/log/messages
journalctl -u nginx -f

# 日志轮转
logrotate -f /etc/logrotate.conf

6.3 systemd 日志

1
2
3
4
5
6
7
8
9
10
11
12
# 查看系统日志
journalctl
journalctl -f # 实时查看
journalctl -xe # 查看详细错误

# 按服务查看
journalctl -u nginx
journalctl -u sshd

# 按时间查看
journalctl --since "2024-01-01"
journalctl --since "1 hour ago"

7. 常用运维命令

7.1 系统维护

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 更新系统
yum update -y # CentOS/RHEL
apt update && apt upgrade -y # Ubuntu/Debian

# 清理缓存
yum clean all
apt clean

# 重启服务
systemctl restart service
systemctl reload service

# 查看服务状态
systemctl status service

7.2 性能监控

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# CPU 监控
top
mpstat 1 5

# 内存监控
free -h
vmstat 1 5

# 磁盘 I/O
iostat -x 1 5
iotop

# 网络监控
iftop
nethogs

7.3 故障排查

1
2
3
4
5
6
7
8
9
10
11
12
13
# 网络连接测试
ping host
traceroute host
telnet host port
nc -zv host port

# 端口占用
netstat -tulpn
ss -tulpn
lsof -i :80

# 系统调用追踪
strace -p PID

附录:常用快捷键

快捷键 功能
Ctrl+C 终止当前命令
Ctrl+Z 挂起当前命令
Ctrl+D 退出终端
Ctrl+L 清屏
Ctrl+R 搜索历史命令
Tab 自动补全
Ctrl+A 移动到行首
Ctrl+E 移动到行尾

文档版本: 1.0
最后更新: 2026-02-27
适用系统: CentOS/RHEL, Ubuntu/Debian