Skip to content

服务器常用命令(Ubuntu) 💻

简介

本指南包含了 Ubuntu 服务器管理中最常用的命令,涵盖系统管理、文件操作、网络配置、进程管理等方面。

  • 系统管理 ⚙️
  • 文件操作 📁
  • 网络配置 🌐
  • 进程管理 📊
  • 权限控制 🔒

系统管理

系统信息

系统信息查看

命令说明示例
uname -a查看系统信息显示内核版本等信息
cat /etc/os-release查看系统版本显示发行版信息
df -h查看磁盘使用情况以人类可读格式显示
free -h查看内存使用情况显示内存和交换分区
top查看系统资源占用实时显示进程信息
htop更友好的top替代品交互式进程查看器

用户管理

用户相关命令
bash
# 用户管理
useradd -m username    # 创建新用户并建立主目录
passwd username        # 设置用户密码
usermod -aG sudo username  # 将用户添加到sudo组
userdel -r username   # 删除用户及其主目录

# 查看用户信息
id username           # 查看用户ID和组信息
who                   # 查看当前登录用户
w                     # 查看登录用户的详细信息
last                  # 查看用户登录历史

服务管理

bash
# 服务控制
systemctl start service-name    # 启动服务
systemctl stop service-name     # 停止服务
systemctl restart service-name  # 重启服务
systemctl status service-name   # 查看服务状态
systemctl enable service-name   # 设置开机自启
systemctl disable service-name  # 禁用开机自启
bash
# 传统service命令
service service-name start      # 启动服务
service service-name stop       # 停止服务
service service-name restart    # 重启服务
service service-name status     # 查看状态

文件操作

基本操作

文件操作命令
bash
# 文件操作
ls -la               # 列出详细文件信息
cp source dest       # 复制文件
mv source dest       # 移动/重命名文件
rm file             # 删除文件
rm -r directory     # 递归删除目录
mkdir directory     # 创建目录
mkdir -p dir1/dir2  # 创建多级目录
touch file          # 创建空文件或更新时间戳

# 文件查找
find /path -name filename    # 按名称查找文件
find /path -type f -size +100M  # 查找大于100M的文件
locate filename     # 快速查找文件(需更新数据库)
which command       # 查找命令位置

文件权限

权限管理

bash
# 修改权限
chmod 755 file          # 使用数字设置权限
chmod u+x file         # 给所有者添加执行权限
chown user:group file  # 修改文件所有者和组
chown -R user:group directory  # 递归修改目录权限

# 权限说明
r (4) - 读权限
w (2) - 写权限
x (1) - 执行权限

常用组合:
755 - rwxr-xr-x
644 - rw-r--r--
777 - rwxrwxrwx

网络管理

网络配置

bash
# 网络信息查看
ifconfig             # 查看网络接口信息
ip addr show         # 现代方式查看网络接口
netstat -tulpn       # 查看网络连接和端口
ss -tulpn           # 现代方式查看套接字统计
bash
# 网络工具
ping host           # 测试网络连通性
traceroute host     # 跟踪路由
nslookup domain     # DNS查询
dig domain          # 详细DNS查询
curl url            # 发送HTTP请求
wget url            # 下载文件

防火墙管理

UFW防火墙配置
bash
# UFW基本操作
ufw enable          # 启用防火墙
ufw disable         # 禁用防火墙
ufw status          # 查看防火墙状态
ufw status numbered # 查看规则编号

# 添加规则
ufw allow 22        # 允许SSH端口
ufw allow 80/tcp    # 允许HTTP端口
ufw deny 3306       # 拒绝MySQL端口
ufw delete allow 80 # 删除规则

进程管理

进程操作

进程管理命令
bash
# 进程查看
ps aux              # 查看所有进程
ps -ef | grep process  # 查找特定进程
top                 # 动态查看进程
htop                # 更友好的进程查看器

# 进程控制
kill pid            # 结束进程
kill -9 pid         # 强制结束进程
killall process     # 结束同名进程
nice -n 19 command  # 以低优先级运行命令

后台任务

后台管理

bash
command &           # 在后台运行命令
nohup command &     # 后台运行且不受终端关闭影响
jobs                # 查看后台任务
fg %n              # 将后台任务调至前台
bg %n              # 将任务放到后台运行
screen             # 终端多窗口管理
tmux               # 终端复用器

系统维护

软件管理

bash
# APT包管理
apt update          # 更新软件源
apt upgrade         # 升级所有软件包
apt install package # 安装软件包
apt remove package  # 删除软件包
apt autoremove      # 清理无用包
apt search keyword  # 搜索软件包
bash
# DPKG包管理
dpkg -i package.deb # 安装deb包
dpkg -r package     # 删除软件包
dpkg -l            # 列出已安装包
dpkg -s package    # 查看包信息

日志管理

日志相关命令
bash
# 系统日志
tail -f /var/log/syslog     # 实时查看系统日志
journalctl                   # 查看systemd日志
journalctl -u service-name   # 查看特定服务的日志
journalctl -f               # 实时查看日志

# 日志文件位置
/var/log/syslog             # 系统日志
/var/log/auth.log           # 认证日志
/var/log/kern.log           # 内核日志
/var/log/apache2/           # Apache日志
/var/log/nginx/             # Nginx日志

性能监控

监控工具

  • top/htop - 进程监控
  • iotop - 磁盘I/O监控
  • iftop - 网络流量监控
  • nethogs - 按进程查看网络流量
  • vmstat - 系统资源统计
  • dstat - 系统资源统计的替代品

常见问题

故障排查

  1. 系统负载高

    • top 查看进程占用
    • iotop 检查磁盘I/O
    • netstat 检查网络连接
  2. 磁盘空间不足

    • df -h 查看磁盘使用情况
    • du -sh /* 查看目录大小
    • find / -size +100M 查找大文件
  3. 网络连接问题

    • ping 测试网络连通性
    • traceroute 检查路由
    • netstat 查看端口占用

安全建议

安全注意事项

  1. 及时更新系统

    bash
    apt update && apt upgrade
  2. 配置防火墙

    bash
    ufw enable
    ufw allow ssh
  3. 修改SSH配置

    bash
    # 编辑 /etc/ssh/sshd_config
    PermitRootLogin no
    PasswordAuthentication no
  4. 定期检查日志

    bash
    tail -f /var/log/auth.log

学习资源

使用建议

  1. 在执行危险命令前先备份
  2. 使用 --helpman 查看命令帮助
  3. 重要操作先在测试环境验证
  4. 保持良好的安全习惯
  5. 定期更新系统和软件