当前位置: 首页 > news >正文

Linux 系统管理核心命令详解:系统监控 + 用户管理全攻略

上篇文章,我们学习了Linux的文本编辑命令。但Linux作为服务器和开发环境中的顶梁柱,不仅仅局限于对文件、目录的操作。今天我们结合常用命令,逐一讲解系统监控、用户管理、网络测试、进程控制及压缩解压等核心命令的用法,所有命令均配有详细解释与输出示例,助你从新手迅速进阶!

一、系统监控与资源查看

1. 查看磁盘使用情况

语法结构:df  [选项]

解释说明

  • df  ---Disk Free  ,用来查看磁盘的使用情况。
  • -h 以更加容易理解的形式显示。


2. 查看系统运行时间及负载

语法结构:uptime

解释说明:

  • 显示系统已运行时间和负载情况 

输出结果解析:

12:26:23 是cpu运行当前时间; up 320days 是系统启动时间;1user:一个用户; load avarage:平均负载情况,一分钟、五分钟、15分钟负载。

说明:系统已运行3天4小时,当前有2个用户在线,负载分别为最近1分钟、5分钟、15分钟的平均数。


3. 查看内存使用情况

语法结构:free [选项]

解释说明:

  • 语句执行之后呈现的结果解析:

         total:系统安装的物理内存总量

        used:当前已使用的内存量

        free:未完全使用的内存量

        shared:主要被tmpfs(内存文件系统)使用的内存量

        buff/sache:缓冲区和缓存所占的内存量

        available:可使用的内存空间

  •  -h:以人类可读格式显示(自动换算单位)

4. 查看当前正在运行的所有进程

语法结构:ps [ 选项]

解释说明

  • ps ---Process Status  ,列出当前系统中的进程信息。

  • a 显示所有用户的进程(包括其他用户)

  • u 显示用户相关信息

  • x 显示无控制终端的进程

  • 语句执行之后呈现的结果解析:

        PID:进程ID

        %cpu:cpu的使用率

        %MEM:占据物理内存的百分比

        VSZ:虚拟内存占用大小

        RSS:实际内存占用量

        TTY:进程运行的终端设备号。?表示与终端无关

        STAT:进程状态,这里的s表示睡眠状态

        START:进程创建时间

        TIME:进程运行的时间

        COMMAND:启动进程的命令名称和参数

        PPID:创建该进程的父进程ID


5. 实时查看进程资源占用

语法结构:top [选项]

选项可不填,top执行之后按q键退出

解释说明:可以通过top查看动态的进程和系统资源利用情况,比如cpu、内存占用、运行时间等等。

  • 图片中上半部分解析:

        20:45:57 当前系统时间;up 319days:系统启动的时间;1user:1个用户登录

        load average :是1分钟、五分钟、15分钟的负载情况

        tasks:总进程数量

        %cpu:cpu的使用情况

        KiB Mem/ KiB Swap :描述物理内存与虚拟内存的情况

  • 表格中名词解析:

        PID:进程ID

        user:当前用户

        PR:进程优先级,数值越小优先级越高

        NI:负值优先级更高

        VIRT:进程使用的虚拟内存大小

        RES:使用的物理内存大小

        SHR:共享内存大小

        S:进程状态。

        %CPU:cpu占用率

        %MEM:物理内存的占用率

        TIME+:进程占用cpu时间总计


二、用户与用户组管理(root用户执行,不然得使用sudo提权)

1. 设置用户密码

解释说明: 

  • passwd user2:设置 user2 的登录密码,系统会要求输入两遍密码以确认,为了安全起见,密码输入是不会显示出来的。

  • sudo 提升用户的权限。


2. 创建组并将用户加入组

创建组的语法结构:groupadd [组名]

将用户添加进指定用户组的语法结构:usermod -aG [目标组名] [ 用户名]

解释说明: 

  • groupadd devgroup:创建一个名为 devgroup 的用户组。

  • usermod -aG devgroup user2:将 user2 添加到 devgroup 组中(-aG 表示追加到附加组,而不是替换)。

补充:

  1. usermod 是修改用户信息的命令。

  2. -aG  解析:

        -a:append,追加用户到指定组,而不是替换原有组

        -G:指定要添加的附加组(可以是一个或多个,多个用逗号分隔)

只有同时使用-a -G 才能使得用户被追加进一个用户组中,否则用户就会被退出原来的组。


3. 删除用户与用户组

删除用户命令的语法结构:userdel [选项] [用户名]

删除 devgroup 用户组命令的语法结构:groupdel [group名称]

  • userdel user2:删除 user2 用户(注意:默认不会删除用户的主目录及其目录下的文件信息,若想删除可加 -r ,即执行userdel -r user2 删除)。

  • 若已经执行了userdel user2 ,那么下次创建user2用户时就会出现下面类似的文字:

这说明你在删除用户时,并没有将其目录以及邮箱删除,所以导致创建时发现重复,无法创建。这时候需要删除旧数据。

第一步:首先使用rm 命令 删除user2创建的目录,rm -rf  /home/user2。-rf (选项)代表的含义是强制删除包含其下面的目录已经其他文件内容。

第二步:rm -f  /var/mail/user2  ,再次使用rm 删除其邮箱 (f是强制删除)

你已经将user2的目录以及邮箱信息全部删除但还提示user2仍然存在,说明user2用户的信息还没从系统中清除干净。核查并彻底清除用户的方法如下:

第一步:确认 user2 是否还存在

使用getent passwd user2。

如果命令有输出,说明用户确实还在。否则就是名字残留了。

(使用getent 命令,查找user2的密码,有返回数据就说明,用户数据有残余)

第二步:userdel 强制删除(如果还存在)

使用sudo userdel -r user2

如果提示用户不存在,再进行下一步。

(-r :删除用户及其所附属的内容)

 第三步:检查是否 /etc/passwd/etc/group 文件中仍有 user2 残留

grep user2 /etc/passwd 和 grep user2 /etc/group

(这语句的意思是:查找 /etc/passwd 文件中包含 user2 的行

可以看到两句grep命令之后并没有输出,所以再次创建user2就成功了!

补充:

  • /var/mail/user2 这个路径怎么来的?

        /var 是 Linux 系统中标准目录之一,专门用于存放经常变化的数据文件。

        

        当创建一个用户(比如 user2)时,系统默认会为其分配一个邮件收件箱文件,这个邮箱文件通常位于 /var/mail/用户名。 

  • getent 是Linux中查询系统数据库中的条目的命令。 

        语法格式:getent [命令参数(你想要查找的内容)]

  • grep 命令是从文件中筛选出带有关键字的行或行号

        语法结构:grep [关键词] [参数]

        /etc系统配置文件目录

        例如:/etc/passwd:用户信息文件

     /etc/shadow:用户密码信息

     /etc/hostname:主机名设置


4. 查看当前用户及 UID/GID

语法结构:whoami

语法结构:id

  • whoami:显示当前登录的用户名。

  • id:显示当前用户的 UID(用户ID)、GID(组ID)以及所属组信息

知识总览

总结

本篇内容覆盖了 Linux 运维与开发日常中最常用的系统资源查看、进程分析、用户管理等命令。不仅解释了命令结构和用途,更结合实际问题(如用户删除失败、目录残留等)提供了解决方案。

如果你是 Linux 初学者,这篇文章是你走向高效运维与管理的第一步,如果你是开发者,这些技能能帮助你更好地掌控服务器。如果你觉得这篇文章对你有帮助,欢迎点赞、评论、收藏!

相关文章:

  • linux系统SVN快速上手指南
  • leetcode543-二叉树的直径
  • 融合LSTM与自注意力机制的多步光伏功率预测新模型解析
  • leetcode:98. 验证二叉搜索树
  • Vue按键事件
  • Mysql常见的SQL语句格式
  • 华为HN8145V光猫改华为蓝色公版界面,三网通用,xgpon公版光猫
  • Modbus TCP转Profibus DP网关与JF - 600MT称重变送器在STEP 7快速配置
  • 网络安全之某cms的漏洞分析
  • Pytorch Lightning 进阶 1 - 梯度检查点(Gradient Checkpointing)
  • MySQL8:jdbc插入数据后获取自增ID
  • 实现Markdown文本转html并使用html2canvas导出图片
  • 可信计算的基石:TPM技术深度解析与应用实践
  • 图像融合中损失函数【1】--像素级别损失
  • 如何快速判断Excel文档是否被修改过?Excel多版本比对解决方案
  • 新能源知识库(65)逆变器和PCS的专用散热风扇介绍
  • Java学习第一周
  • Hum Brain Mapp.:从深度学习模型回归大脑:揭示区域预测因子及其与衰老的关系
  • QT6(46)5.2 QStringListModel 和 QListView :列表的模型与视图的界面搭建与源代码实现
  • Gartner《Generative AI Use - Case Comparison for Legal Departments》
  • 全网有哪些网站可以做淘客/seo交流群
  • 微信app下载安卓版/武汉seo认可搜点网络
  • 上海嘉定网站建设/精准客户截流软件
  • 安徽六安什么时候解封/入门seo技术教程
  • 新手建网站视频教程/美国新冠疫情最新消息
  • 简阳建设网站公司/十大室内设计网站