HYL+
发布于 2026-02-03 / 1 阅读
0
0

常用系统管理命令

进程管理

查看进程

# 查看所有进程
ps aux

# 查看特定用户的进程
ps -u username

# 实时查看进程
top

# 实时查看进程(更友好)
htop

# 查看进程树
pstree

# 查看特定进程
ps -ef | grep processname

进程控制

# 终止进程(PID)
kill <pid>

# 强制终止进程
kill -9 <pid>

# 按名称终止进程
killall processname

# 按名称强制终止进程
killall -9 processname

# 暂停进程
kill -STOP <pid>

# 恢复进程
kill -CONT <pid>

进程优先级

# 查看进程优先级
ps -eo pid,ni,cmd

# 以低优先级运行(nice: 19最低,-20最高)
nice -n 19 command

# 修改运行中进程的优先级
renice +5 <pid>

# 以指定优先级运行
nice -n -10 command

后台运行

# 后台运行命令
command &

# 将前台进程转到后台
Ctrl+z
bg

# 将后台进程转到前台
fg

# 查看后台任务
jobs

# 将任务转到前台
fg %1

系统监控

系统信息

# 查看系统信息
uname -a

# 查看系统版本
cat /etc/os-release

# 查看内核版本
uname -r

# 查看系统运行时间
uptime

# 查看系统负载
uptime
top
htop

CPU 监控

# 查看 CPU 信息
cat /proc/cpuinfo

# 查看 CPU 使用率
top
htop

# 查看 CPU 核心数
nproc

内存监控

# 查看内存使用情况
free -h

# 详细内存信息
vmstat

# 内存使用详情
cat /proc/meminfo

磁盘监控

# 查看磁盘使用情况
df -h

# 查看目录大小
du -sh directory

# 查看目录下文件大小
du -h --max-depth=1 directory

# 查看磁盘 I/O
iostat
iotop

网络监控

# 查看网络连接
netstat -tunlp
ss -tunlp

# 查看网络流量
iftop
nethogs

# 查看网络接口
ifconfig
ip a

磁盘管理

磁盘分区

# 查看磁盘分区
fdisk -l

# 管理磁盘分区
fdisk /dev/sda

# GPT 分区工具
parted /dev/sda

磁盘挂载

# 创建挂载点
sudo mkdir /mnt/data

# 挂载磁盘
sudo mount /dev/sdb1 /mnt/data

# 卸载磁盘
sudo umount /mnt/data

# 查看挂载信息
mount
df -h

自动挂载 (/etc/fstab)

/dev/sdb1    /mnt/data    ext4    defaults    0    2

磁盘检查和修复

# 检查磁盘
sudo fsck /dev/sdb1

# 强制检查
sudo fsck -f /dev/sdb1

# 检查时自动修复
sudo fsck -y /dev/sdb1

日志管理

系统日志

# 查看系统日志
sudo journalctl

# 实时查看日志
sudo journalctl -f

# 查看特定服务的日志
sudo journalctl -u service_name

# 查看最近的日志
sudo journalctl -n 100

# 查看今天的日志
sudo journalctl --since today

传统日志

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

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

# 内核日志
dmesg
tail -f /var/log/kern.log

# Cron 日志
tail -f /var/log/cron

日志轮转

# 配置文件
/etc/logrotate.conf
/etc/logrotate.d/

# 手动轮转
sudo logrotate -f /etc/logrotate.conf

网络配置

网络接口

# 查看网络接口
ip a
ifconfig

# 启用网络接口
sudo ip link set eth0 up

# 禁用网络接口
sudo ip link set eth0 down

# 配置 IP 地址
sudo ip addr add 192.168.1.100/24 dev eth0

# 删除 IP 地址
sudo ip addr del 192.168.1.100/24 dev eth0

路由表

# 查看路由表
ip route
route -n

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

# 添加静态路由
sudo ip route add 192.168.2.0/24 via 192.168.1.254

DNS 配置

# 配置 DNS
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

# 查看 DNS 配置
cat /etc/resolv.conf

网络测试

# 测试网络连通性
ping example.com

# 测试端口连接
telnet example.com 80
nc -zv example.com 80

# 追踪路由
traceroute example.com
tracepath example.com

# DNS 查询
nslookup example.com
dig example.com

# 测试带宽
speedtest-cli

用户管理

用户操作

# 添加用户
sudo adduser username
sudo useradd -m username

# 删除用户
sudo deluser username
sudo userdel -r username

# 修改用户
sudo usermod -aG group username

# 查看用户信息
id username

密码管理

# 修改密码
passwd

# 修改用户密码
sudo passwd username

# 锁定账户
sudo passwd -l username

# 解锁账户
sudo passwd -u username

用户组

# 创建用户组
sudo groupadd groupname

# 删除用户组
sudo groupdel groupname

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

# 查看用户组
groups username

sudo 权限

# 编辑 sudo 配置
sudo visudo

# 示例配置
username ALL=(ALL:ALL) ALL

# 允许用户执行特定命令
username ALL=(ALL) /usr/bin/systemctl restart nginx

服务管理

systemd 服务

# 启动服务
sudo systemctl start service_name

# 停止服务
sudo systemctl stop service_name

# 重启服务
sudo systemctl restart service_name

# 重新加载配置
sudo systemctl reload service_name

# 查看服务状态
sudo systemctl status service_name

# 开机自启
sudo systemctl enable service_name

# 取消开机自启
sudo systemctl disable service_name

# 查看开机自启服务
systemctl list-unit-files --type=service

服务日志

# 查看服务日志
sudo journalctl -u service_name

# 实时查看服务日志
sudo journalctl -fu service_name

# 查看最近的日志
sudo journalctl -u service_name -n 100

防火墙管理

UFW (Ubuntu/Debian)

# 启用防火墙
sudo ufw enable

# 禁用防火墙
sudo ufw disable

# 查看状态
sudo ufw status

# 允许端口
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# 拒绝端口
sudo ufw deny 22/tcp

# 删除规则
sudo ufw delete allow 80/tcp

# 允许 IP
sudo ufw allow from 192.168.1.100

firewalld (CentOS/RHEL)

# 启动防火墙
sudo systemctl start firewalld
sudo systemctl enable firewalld

# 查看状态
sudo firewall-cmd --state

# 允许端口
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-service=http

# 重载配置
sudo firewall-cmd --reload

# 查看规则
sudo firewall-cmd --list-all

定时任务

Cron 任务

# 编辑当前用户的 cron 任务
crontab -e

# 列出当前用户的 cron 任务
crontab -l

# 删除当前用户的 cron 任务
crontab -r

# 编辑特定用户的 cron 任务
sudo crontab -u username -e

Cron 语法

* * * * * command
│ │ │ │ │
│ │ │ │ └─ 星期几 (0-6, 0=周日)
│ │ │ └─── 月份 (1-12)
│ │ └───── 日期 (1-31)
│ └─────── 小时 (0-23)
└───────── 分钟 (0-59)

示例

# 每天凌晨 2 点执行
0 2 * * * /path/to/script.sh

# 每小时执行
0 * * * * /path/to/script.sh

# 每周一执行
0 2 * * 1 /path/to/script.sh

# 每 5 分钟执行
*/5 * * * * /path/to/script.sh

# 每月 1 号凌晨执行
0 0 1 * * /path/to/script.sh

实用技巧

查找文件

# 按名称查找文件
find /path -name filename

# 按类型查找
find /path -type f

# 按大小查找
find /path -size +100M

# 按时间查找
find /path -mtime -7

# 查找后执行命令
find /path -name "*.log" -delete
find /path -name "*.sh" -exec chmod +x {} \;

系统清理

# 清理包缓存
sudo apt clean
sudo apt autoremove

# 清理旧内核
sudo apt autoremove --purge

# 清理日志
sudo journalctl --vacuum-time=7d

# 清理临时文件
sudo rm -rf /tmp/*

系统备份

# 备份整个系统
sudo rsync -aAXv / /backup/path

# 备份特定目录
rsync -avz /path/to/source /path/to/destination

# 压缩备份
tar -czvf backup_$(date +%Y%m%d).tar.gz /path/to/backup

评论