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

shell命令(进程管理和用户管理)

一、进程处理相关命令

1、进程的概念

进程的概念主要有两点:

  • 进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域( text region )、数据区域( data region )和堆栈( stack region )。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。
  • 进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。

2、查看进程的命令

1)查看进程的命令 -ps

显示进程 (process) 的动态
语法:
                ps [options]
常见的用法:
        ps -elf
        ps -aux

2)查看进程的命令 -top

监视进程
        通常会全屏显示,而且会随着进程状态的变化不断更新整个系统的信息也会显示,为查找问题提供了便利可以显示系统总共有多少 CPU 和内存资源以及负载平衡等信息。 

3)查看进程的命令 -pstree

        将所有行程以树状图显示 , 树状图将会以 pid ( 如果有指定 ) 或是以 init 这个基本进程为根 , 如果有指定使用者 id, 则树状图会只显示该使用者所拥有的进程。 

 3、发送信号命令

发送信号命令 -kill

使用 kill 命令终止进程

  • kill [-signal] PID
  • signal 是信号
  • PID 是进程号

        kill 命令向指定的进程发出一个信号 signal ,在默认情况下, kill 命令向指定进程发出信号 15 ,正常情下,将杀死那些不捕捉或不忽略这个信号的进程

二、用户管理相关命令

 1、用户管理相关文件介绍

1)用户的属性
  • 用户名
  • 口令
  • 用户 ID ( UID )
  • 用户主目录( HOME )
  • 用户 shell 
2)/etc/passwd 文件

        /etc/passwd 文件是系统能够识别的用户清单。用户登陆时,系统查询这个文件,确定用户的 UID 并验证用户口令

  • 登陆名
  • 经过加密的口令
  • UID
  • 默认的 GID
  • 个人信息
  • 主目录
  • 登陆 shell 
3)/etc/group 文件

包含了 UNIX 组的名称和每个组中成员列表
每一行代表一个组,包括 4 个字段:

  • 组名
  • 加密的口令
  • GID 号
  • 成员列表,彼此用逗号隔开 

2、用户管理相关命令介绍 

1)添加用户-adduser

语法: adduser <username>

实例:

  • # adduser newuser
  • 添加用户名为 newuser 的新用户 
2)设置初始口令-passwd/root

使用 passwd 命令可以修改用户口令

root 用户可以修改任何用户的口令

  • 语法: passwd [-k] [-l] [u] [-f] [-d] [-S] username
  • 使用方法:

        passwd username 

3)设置用户属性-usermod

语法: usermod [-u uid [-o]] [-g group] [-G gropup,...]
                [-d home [-m]] [-s shell] [-c comment]
                [-l new_name] [-f inactive][-e expire]
                [-p passwd] [-L|-U] name

举例用户 oldname 改名为 newname ,注意要同时更改家目录

usermod –d /home/newname –m –l newname oldname 

4)删除用户-deluser

语法: deluser <username>

使用方法:
        deluser --remove-home user1

删除用户 user1 的同时删除用户的工作目录 

相关文章:

  • 【多线程】线程状态
  • redis击穿问题使用锁实现方案
  • 零散的面试题
  • 揭示西周与汉唐时期的纺织工艺
  • 软件开发小程序正规公司流程是什么样的?
  • node通过axios调用realworld接口
  • 【UE4】角色御剑飞行的蓝图实现
  • 多模态大模型通用模式
  • Vue3、Element Plus使用v-for循环el-form表单进行校验
  • leetcode21 合并两个有序单链表
  • AI大佬都在说下一个爆点是智能体,建议开发者抢占先机!
  • java版Spring Cloud+Mybatis+Oauth2+分布式+微服务+实现工程管理系统
  • MaxKB-无需代码,30分钟创建基于大语言模型的本地知识库问答系统
  • QT QFileDialog文件选择对话框
  • 第7周作业——单片机定时器与串口通信的学习与应用
  • ES6指北【2】—— 箭头函数
  • 收藏网友的 源程序下载网
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • mysql innodb 索引使用指南
  • Mysql数据库的条件查询语句
  • Node项目之评分系统(二)- 数据库设计
  • React的组件模式
  • vue的全局变量和全局拦截请求器
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 前端之Sass/Scss实战笔记
  • 我的面试准备过程--容器(更新中)
  • 我这样减少了26.5M Java内存!
  • 学习ES6 变量的解构赋值
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • puppet连载22:define用法
  • ​LeetCode解法汇总518. 零钱兑换 II
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #ifdef 的技巧用法
  • #在 README.md 中生成项目目录结构
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (2)nginx 安装、启停
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (pojstep1.1.2)2654(直叙式模拟)
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET中winform传递参数至Url并获得返回值或文件
  • @拔赤:Web前端开发十日谈
  • [].slice.call()将类数组转化为真正的数组
  • []error LNK2001: unresolved external symbol _m
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [C#C++]类CLASS
  • [C++]AVL树怎么转
  • [ComfyUI进阶教程] animatediff视频提示词书写要点
  • [daily][archlinux][game] 几个linux下还不错的游戏