首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >linux常用命令(2)——系统管理、磁盘管理

linux常用命令(2)——系统管理、磁盘管理

作者头像
christine-rr
发布2026-01-13 19:25:20
发布2026-01-13 19:25:20
3270
举报
文章被收录于专栏:linux命令linux命令

博客主页:christine-rr-CSDN博客 ​​​​​ ​​ hi,大家好,我是christine-rr ! 今天来分享一下linux常用命令——系统管理、磁盘管理

linux常用系统管理、磁盘管理命令

1. df :显示磁盘空间使用

功能:查看文件系统的磁盘空间使用情况,包括总容量、已用空间、可用空间和挂载点。 常用参数

  • -h:以人类可读格式显示(K、M、G 单位)
  • -T:显示文件系统类型(如 ext4、xfs、tmpfs)
  • -i:显示 inode 使用情况(而非磁盘容量,inode 满会导致无法创建新文件)

示例

代码语言:javascript
复制
df -h                # 查看所有挂载的文件系统空间使用(人类可读格式)
df -Th /home         # 查看/home目录所在文件系统的类型和空间使用
df -i                # 查看各文件系统的inode使用情况(排查"磁盘未满却无法创建文件"问题)
代码语言:javascript
复制
# df 
Filesystem     1K-blocks    Used     Available Use% Mounted on 
/dev/sda6       29640780 4320704     23814388  16%     / 
udev             1536756       4     1536752    1%     /dev 
tmpfs             617620     888     616732     1%     /run 
none                5120       0     5120       0%     /run/lock 
none             1544044     156     1543888    1%     /run/shm 

说明:

  • Filesystem:文件系统的名称或标识符。
  • 1K-blocks:文件系统的总容量,以 1KB 块为单位。即文件系统总大小。
  • Used:文件系统已经使用的容量,以 1KB 块为单位。
  • Available:文件系统中仍然可用的容量,以 1KB 块为单位。
  • Use%:文件系统已使用容量占总容量的百分比。
  • Mounted on:文件系统被挂载到的目录或位置。
2. ps :显示进程状态

功能:查看系统中当前运行的进程信息(进程 ID、状态、资源占用等)。 常用参数

  • -a:显示所有用户的进程(包括其他用户)
  • -u:以用户为中心显示详细信息(CPU、内存占用率、启动时间)
  • -x:显示没有控制终端的进程(如后台服务)
  • -e:显示所有进程(等同于-A
  • -f:以树状结构显示进程间的父子关系
  • -w:显示加宽可以显示较多的资讯
  • -au :显示较详细的资讯

常用组合

代码语言:javascript
复制
ps -aux               # 查看系统中所有进程的详细信息(最常用,包含其他使用者的进程)
ps -ef                # 以树状结构显示所有进程及父进程关系
ps -aux | grep "nginx"  # 过滤出包含"nginx"的进程(查找特定进程)
ps -u root           # 只显示root用户的进程

进程状态字段说明ps aux输出中的STAT列):

au(x) 输出格式 :USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  • USER: 行程拥有者
  • PID: pid
  • %CPU: 占用的 CPU 使用率
  • %MEM: 占用的记忆体使用率
  • VSZ: 占用的虚拟记忆体大小
  • RSS: 占用的记忆体大小
  • TTY: 终端的次要装置号码 (minor device number of tty)
  • STAT: 该行程的状态:
    • R:运行中(Running)
    • S:睡眠中(Sleeping,可被唤醒)
    • D:不可中断睡眠(通常等待 IO,无法被 kill,不存在但暂时无法消除)
    • Z:僵尸进程(Zombie,已终止但父进程未回收)
    • T:暂停状态(Stopped,如被Ctrl+Z暂停)
    • W: 没有足够的记忆体分页可分配
    • <: 高优先序的行程
    • N: 低优先序的行程
    • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
  • START: 行程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令
3. kill :结束进程

功能:向进程发送信号,常用以终止进程(默认发送TERM信号,即 15)。 语法:

kill [options] < PID > 参数说明

  • -l:列出所有可用的信号。
  • -<signal>:发送特定的信号给目标进程,如 -9 表示发送 KILL 信号,即强制终止进程。

核心信号< signal >

  • 15TERM):正常终止(默认,允许进程清理资源)
  • 9KILL):强制终止(不允许进程清理,用于无法正常终止的进程)
  • 1HUP):重启进程(常用于重载配置,如kill -1 <nginx pid>

示例

代码语言:javascript
复制
kill 1234            # 向PID为1234的进程发送TERM信号(正常终止)
kill -9 5678         # 强制终止PID为5678的进程(无法抗拒)
kill -1 8080         # 重启PID为8080的进程(如重载服务配置)
kill $(ps aux | grep "python" | awk '{print $2}')  # 批量终止所有python进程

注:需先通过pspgrep获取进程 ID(PID),例如pgrep nginx可直接返回 nginx 的 PID。

4. top :实时监控系统资源与进程

功能:动态显示系统资源(CPU、内存)使用情况和进程状态,默认每秒刷新一次。 界面核心信息

  • 顶部:系统负载(1/5/15 分钟)、进程总数、CPU 使用率(用户态、系统态、空闲等)、内存 / 交换分区使用情况。
  • 中部:进程列表(按 CPU 使用率排序,可切换排序字段)。

常用交互快捷键(在 top 界面中按下):

  • P:按 CPU 使用率排序(默认)
  • M:按内存使用率排序
  • T:按进程运行时间排序
  • k:输入 PID 并发送信号(如终止进程,等同于kill
  • q:退出 top

示例

代码语言:javascript
复制
top					 #显示进程信息
top -b				 #以批处理模式显示程序信息
top -S				 #以累积模式显示程序信息
top -d 3             # 设置信息更新次数,每3秒刷新一次top界面
top -p 1234          # 显示指定的进程信息,只监控PID为1234的进程

进阶工具:htop(需安装),界面更友好,支持鼠标操作和彩色显示,推荐替代 top 使用。

5. shutdown :关闭或重启系统

功能:安全关闭或重启系统,支持定时操作(默认 1 分钟后关闭)。 常用参数

  • -h:关闭系统(halt)
  • -r:重启系统(reboot)
  • -c:取消已计划的 shutdown
  • +<分钟数>:定时操作(如+5表示 5 分钟后)
  • <时间>:指定具体时间(如23:30表示晚上 11:30)

示例

代码语言:javascript
复制
shutdown -h now      # 立即关闭系统
shutdown -r now		 #重新启动计算机
shutdown -r +10      # 10分钟后重启系统
shutdown -h 22:00    # 晚上10点关闭系统
shutdown -c          # 取消之前计划的shutdown
6. reboot :重启系统

功能:快速重启系统(相当于shutdown -r now)。 常用参数

  • -f:强制重启(不执行关机前的清理步骤,慎用)
  • -p:重启前关闭电源(部分系统支持)

示例

代码语言:javascript
复制
reboot               # 正常重启系统
reboot -f            # 强制重启(用于系统无响应时)
7. systemctl :系统服务管理(systemd 系统)

功能:管理系统服务(启动、停止、重启、设置开机自启等),适用于采用systemd的 Linux 系统(如 CentOS 7+、Ubuntu 16.04+),取代了传统的 init 系统和 service 命令。一般需要root权限。 常用命令结构

systemctl <操作> <服务名>

核心操作

  • start:启动服务
  • stop:停止服务
  • restart:重启服务(先停后启)
  • reload:重载配置(不中断服务,如 nginx、apache)
  • status:查看服务状态(运行中、已停止、错误信息)
  • enable:设置服务开机自启
  • disable:关闭服务开机自启
  • is-active:检查服务是否正在运行
  • list-unit-files --type=service:列出所有服务及开机自启状态

示例

代码语言:javascript
复制
# 看服务状态
systemctl status [服务名]	   # 查看单个服务状态
systemctl status firewalld     # 查看防火墙服务状态(含日志)  
systemctl list-units --type=service --state=running # 查看所有运行中的服务  
systemctl --failed			   # 查看失败的服务
systemctl is-active httpd      # 检查httpd服务是否运行(输出active/inactive)


# 启动/停止/重启服务
sudo systemctl start nginx     # 启动nginx服务
sudo systemctl stop mysql      # 停止mysql服务
sudo systemctl reload [服务名]  # 重新加载配置(不重启服务)
sudo systemctl restart sshd    # 重启ssh服务

# 启用/禁用服务
systemctl enable [服务名]	   # 启用服务(开机自启)
sudo systemctl enable docker   # 设置docker开机自启
sudo systemctl disable [服务名] # 禁用服务(取消开机自启)
systemctl is-enabled [服务名]   # 查看服务是否启用
  

# 常用单元文件操作
## 单元文件位置:系统单元:/usr/lib/systemd/system/,管理员自定义单元:/etc/systemd/system/
sudo systemctl daemon-reload   #重新加载所有单元文件(修改配置后需要执行)
systemctl cat [单元名]		   #显示单元文件内容
sudo systemctl edit [单元名] --full# 编辑单元文件(会创建覆盖文件)

# 系统电源管理
systemctl poweroff			# 关机
systemctl reboot			# 重启
systemctl suspend			# 挂起
systemctl hibernate			# 休眠

# 系统运行级别
systemctl get-default		# 获取当前目标(运行级别)
systemctl set-default [目标名]# 设置默认目标
systemctl isolate [目标名]	# 切换目标(立即生效)

# 常见目标:
# graphical.target - 图形界面模式
# multi-user.target - 多用户文本模式
# rescue.target - 救援模式
# emergency.target - 紧急模式
8. fdisk:磁盘分区管理

功能:查看和管理磁盘分区表(适用于 MBR 分区格式,GPT 分区推荐用gdisk),兼容 DOS 类型的分区表、BSD 或者 SUN 类型的磁盘列表,需 root 权限。

常用操作

  1. 查看系统磁盘列表:fdisk -l(列出所有磁盘及分区)
  2. 进入磁盘分区交互模式:fdisk /dev/sda(以 sda 磁盘为例) 交互模式常用命令:
    • p:打印当前磁盘的分区表,显示分区信息
    • m:显示菜单和帮助信息
    • l :显示分区类型
    • a:活动分区标记/引导分区
    • n:新建分区(需选择分区类型、起始扇区等)
    • d:删除分区(需指定分区号)
    • w:保存修改并退出(谨慎!操作不可逆
    • q:放弃修改并退出
    • t :设置分区号
    • v :进行分区检查
    • x :扩展应用,高级功能

示例

代码语言:javascript
复制
fdisk -l                  # 显示当前分区情况,查看所有磁盘(如/dev/sda、/dev/sdb)
fdisk -lu									#显示SCSI硬盘的每个分区情况
fdisk /dev/sdb            # 对sdb磁盘进行分区操作(进入交互模式)
# 交互模式中:p(查看现有分区)→ n(新建)→ 按提示设置分区 → w(保存)

注意:分区操作后需格式化分区(如mkfs.ext4 /dev/sdb1)才能使用,且操作有数据丢失风险,建议先备份。

9.free : 内存使用情况查看

free 命令用于显示系统内存(物理内存和交换分区)的使用情况,包括总容量、已使用、空闲和缓冲区 / 缓存的内存量。

常用选项

  • -h:以人类可读的格式显示(自动转换为 K、M、G 单位)
  • -m:以 MB 为单位显示
  • -g:以 GB 为单位显示
  • -s <秒数>:持续刷新显示,间隔指定秒数
  • -t:显示内存总和(增加一行 Total)

示例

代码语言:javascript
复制
free -h  # 人类可读格式显示内存信息

输出示例:

代码语言:javascript
复制
              total        used        free      shared  buff/cache   available
Mem:           15Gi       3.2Gi       8.5Gi       342Mi       3.8Gi        11Gi
Swap:          10Gi          0B        10Gi

输出说明

  • total:总内存容量
  • used:已使用的内存(包括应用程序和系统占用)
  • free:完全空闲的内存
  • shared:被多个进程共享的内存
  • buff/cache:用于缓冲区和缓存的内存(可被回收利用)
  • available:估计的可用于新应用程序的内存量(最有参考价值)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • linux常用系统管理、磁盘管理命令
    • 1. df :显示磁盘空间使用
    • 2. ps :显示进程状态
    • 3. kill :结束进程
    • 4. top :实时监控系统资源与进程
    • 5. shutdown :关闭或重启系统
    • 6. reboot :重启系统
    • 7. systemctl :系统服务管理(systemd 系统)
    • 8. fdisk:磁盘分区管理
    • 9.free : 内存使用情况查看
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档