linux系统管理基本命令行

一、用户与身份管理

  • useradd / adduser:创建新用户账户

    • useradd -m -c "张三20070902" -d /home/zhangsan -u 1007 -G developgroup -e 2029-09-21 -f 3 zhangsan 添加用户张三,id为1009,附属组为developgroup,2029年过期,缓期3天,用户个人目录生成在/home/zhangsan
    • -m 自定创建用户的专属登入目录
    • -d 设置自动创建目录的路径
    • -u 指定用户的id,普通用户一般从1001开始
    • -G 将用户添加进附属组
    • -e 设置用户到期时间
    • -f 到期后缓期3天
    • passwd 用户,创建后为用户设置密码
    • su - 用户账号 ,使用指定账号
    • su - ,退出用户账号的使用
  • userdel:删除用户账户

    • userdel -r zhangsan 删除用户 zhangsan,并彻底删除其家目录和所有相关文件
  • usermod:修改用户账户

    • usermod -d /home/test/zhangsan 修改张三的家目录到新的目录
    • usermod -G applicationgroup zhangsan 修改张三的附属组为application
  • groupadd:创建新用户组

    • groupadd -g 433 development
  • groupdel:删除用户组

    • 不能删除某个用户的主组。如果要删除,必须先修改该用户的主组
    • groupdel development
  • groupmod:修改用户组信息

    • groupmod -n developgroup developmentgroup,将developmentgroup的组名改为developgroup
  • change
    *

    命令 作用
    chage -l 用户名 查看用户密码 / 账号有效期详情
    chage -M 天数 用户名 设置密码最长有效期(账号有效期)
    chage -m 天数 用户名 设置密码最短修改间隔(如 - m 7 表示 7 天内不能改密码)
    chage -d 0 用户名 强制首次登录改密码
    chage -E 日期 用户名 指定账号过期日期(如 - E 2026-12-31)
  • sudo:以其他用户身份执行命令

  • whoami:显示当前用户名

  • who:显示登录用户

  • w:显示登录用户信息(更详细)

  • id:显示用户和组 ID

  • login 用户:用对应用户账号登陆系统

  • logout:注销当前用户

  • exit:退出终端会话


二、进程与系统状态(高频)

  • ps:显示进程状态

    • ps aux 查看所有进程(包括其他用户的)
    • a 所有终端的进程
    • 显示用户/归属
    • 无终端控制的进程
  • top:实时显示进程信息,类似windows的任务管理器

    • P:按 CPU 占用排序(默认)
    • M:按内存占用排序
    • k:直接输入 PID 杀死进程
    • q:退出
    • 顶部信息
      • load average: 0.00, 0.01, 0.05:1/5/15 分钟系统平均负载
      • 负载 < 1.0:系统很闲,啥事没有
      • 负载 1.0 左右:刚好跑满
      • 负载 > 1.0:开始有点忙
      • 负载 > 5.0:就很卡了
      • (负载 < CPU核心数 → 正常 负载 > CPU核心数 → 系统忙 负载 > 2倍CPU核心数 → 系统卡死)
  • uptime:显示系统负载和运行时间

    • 19:30:15 up 8 hours, 20 min, 2 users, load average: 0.10, 0.25, 0.18
    • 时间,up表示正在运行,且8小时20分钟,2个用户在线,负载。
  • vmstat[时间间隔][重复次数]:系统整体运行状况
    *

    复制代码
      vmstat 2 3(每 2 秒输出,共 3 次)
    
      procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
       r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
       1  0      0 102400  8192 204800    0    0     5     2  120  240  5  2 92  1  0
    板块 字段 含义 异常判断
    procs(进程) r 等待 CPU 调度的进程数 > CPU 核心数 → CPU 资源不足(系统卡)
    procs(进程) b 不可中断睡眠的进程数(通常是等待磁盘 IO) 持续 > 0 → 磁盘 IO 瓶颈
    memory(内存) swpd 已使用的 Swap 内存(单位:KB) 持续 > 0 且增大 → 物理内存不足
    memory(内存) free 空闲物理内存(单位:KB) 结合 swpd 看,free 极低 + swpd 高 = 内存不够
    io(磁盘) bi 从块设备读入内存的大小(单位:块 / 秒) 持续高 → 磁盘读压力大
    io(磁盘) bo 写入块设备的大小(单位:块 / 秒) 持续高 → 磁盘写压力大
    cpu(CPU) us 用户进程占用 CPU 百分比 持续 > 70% → 业务进程(如应用、数据库)耗 CPU
    cpu(CPU) sy 内核进程占用 CPU 百分比 持续 > 30% → 系统调用频繁(如频繁 IO、进程切换)
    cpu(CPU) id CPU 空闲百分比 持续 < 10% → CPU 资源耗尽
    cpu(CPU) wa CPU 等待磁盘 IO 的百分比 持续 > 20% → 磁盘 IO 严重瓶颈
  • free [选项]

    • 查看系统的内存使用情况,已用,可用,缓冲和缓存
    • free -h # -h:以人类可读的单位(G/M/K)显示,避免换算KB
    复制代码
                    total        used        free      shared  buff/cache   available
      Mem:           7.7Gi       1.2Gi       4.3Gi       123Mi       2.2Gi       6.1Gi
      Swap:          7.9Gi          0B       7.9Gi
    字段 含义 实战判断
    total 总物理内存 系统标配内存大小
    used 已用内存 表面数值,不可直接判断内存不足(含缓冲 / 缓存)
    free 完全空闲内存 系统未使用的 "纯空闲" 内存,数值低是正常的
    buff/cache 缓冲 + 缓存 Linux 用空闲内存做磁盘缓存,提升性能,属于 "可释放内存"
    available 实际可用内存 🔥 最关键!应用程序能真正使用的内存,此值 > 1G 即无内存压力
    Swap 交换区 已用为 0 最佳;若持续占用且增大,说明物理内存不足
    • 排查 "系统内存是否够用":直接看 available,无需关注 free
    • 发现 Swap 占用高:结合 vmstat 查看 si/so,确认内存泄漏或扩容需求
  • df [选项][文件系统]

    • 查看系统的磁盘空间使用情况
    复制代码
      df -h  # 人类可读单位,核心参数
      df -hT # 额外显示文件系统类型(如 ext4、xfs),排错必备
    
      Filesystem     Type  Size  Used Avail Use% Mounted on
      /dev/sda2      xfs    50G   12G   38G  24% /
      /dev/sda1      vfat   200M   50M  150M  25% /boot
      tmpfs          tmpfs  3.9G     0  3.9G   0% /dev/shm
    字段 含义 实战重点
    Filesystem 磁盘分区 / 设备名 系统核心分区通常是 /dev/sda2(根分区)
    Type 文件系统类型 常见 xfs(CentOS 7+)、ext4(Ubuntu)
    Use% 使用率 🔥 核心!根分区(/)Use% > 85% 需警惕,>95% 会导致系统异常
    Mounted on 挂载点 分区对应的目录,根分区(/)是所有文件的父目录,最关键
  • du [选项][文件]

    • 查看指定目录或文件的磁盘空间使用情况
    • du -sh 目录/文件 # 核心:查看单个目录/文件的总占用(不展开子目录)
    • du -h --max-depth=1 目录 # 展开目录下一级子目录的占用,快速找大目录
  • sar[选项][时间间隔][重复次数]

    • 用于收集报告和分析系统的性能统计信息
    选项 作用 命令示例 适用场景
    -u 监控 CPU 使用率 sar -u 2 3 实时查看 CPU 负载变化
    -r 监控内存使用 sar -r 2 3 实时查看内存占用趋势
    -d 监控磁盘 IO sar -d 2 3 实时排查磁盘 IO 瓶颈
    -n DEV 监控网络流量 sar -n DEV 2 3 实时查看网卡收发流量
    无参数 查询当天历史 CPU 统计 sar 排查 "上午 10 点系统卡顿" 的原因
    -u -f 查询指定日期历史日志 sar -u -f /var/log/sa/sa20 查看 20 号的 CPU 历史统计(日志文件以 sa + 日期命名)
  • systemctl [命令][服务器名称]

    • 管理系统的服务和单元,可以查看系统服务的装填、启动、停止、重启等
    命令 作用 实战示例(以 sshd 为例)
    status 查看服务状态(最常用) sudo systemctl status sshd
    restart 重启服务 sudo systemctl restart sshd
    start 启动服务 sudo systemctl start sshd
    stop 停止服务(谨慎) sudo systemctl stop sshd
    enable 设置开机自启 sudo systemctl enable sshd
    disable 关闭开机自启 sudo systemctl disable sshd
    reload 重载配置(不中断服务) sudo systemctl reload nginx
    list-unit-files 查看所有服务的开机自启状态 systemctl list-unit-files --type=service
  • pstree:树状显示进程

    • -p:显示 PID
    • -u:显示用户名
  • kill:发送信号终止进程

    • kill 9877 杀指定进程
    • kill -9 进程无反应,强制关闭,类似windows结束任务进程
  • pkill:根据名称查找并终止进程

  • pgrep:根据名称查找进程 ID

    • 避免误杀,最好先用pgrep查到对应的id
    • pgrep 确认,再 pkill,更安全
  • iotop:监控磁盘 I/O 使用情况


三、系统开关机与维护(高频)

  • reboot:重启系统
  • poweroff :关机
  • wget:在终端中网络下载资源(重要)
    • wget 下载链接
  • halt:关闭系统电源
  • shutdown:关闭或重启系统(推荐)
  • date:显示或设置系统日期
  • uname:显示系统信息
  • last:显示最近登录用户
  • lastb:显示失败登录记录
  • logrotate:日志文件轮转
  • screen:终端多路复用器(后台保持会话)
相关推荐
喵叔哟2 小时前
69.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--财务健康度
运维·微服务·.net
珠海西格2 小时前
聚焦痛点|分布式光伏消纳困境的三大表现及红区治理难点
服务器·网络·分布式·安全·区块链
Will_11302 小时前
Linux运维自动化常用的Python库
linux·运维·自动化
程序设计实验室2 小时前
2026年的Linux桌面环境选择,哪些适合Debian服务器?
linux
旭日跑马踏云飞2 小时前
【阿里云】扩容操作指南
服务器·阿里云·云计算
Mu_chidonggua2 小时前
HAProxy
运维
牛马鸡niumasi2 小时前
Linux I/O重定向
linux·运维·服务器
老一岁2 小时前
linux vim及ps到tar包的详解
linux·运维·vim
qzhqbb2 小时前
OpenClaw(系统服务模式与独立进程模式)
linux·人工智能