【Linux | Shell命令】bash shell 进程、磁盘、排序命令

news2024/12/23 10:35:59

目录

  • 一、概述
  • 二、进程相关命令
    • 2.1 ps 命令


在这里插入图片描述

一、概述

上篇文章 bash shell 基础命令 中,介绍了一些与目录、文件相关的 shell 命令,本文继续介绍其他与进程、磁盘、排序、归档相关的命令,读者可以在自己的Linux系统下,实操这些命令,进而收悉并掌握这些命令。本文是一篇学习笔记,很多内容是参考了《Linux命令行与shell脚本编程大全-第四版》。
在这里插入图片描述

在这里插入图片描述

二、进程相关命令

在 Linux 系统中,最难缠的一项任务是跟踪运行在系统中的程序,尤其是图形化桌面集成了大量的程序来生成一个完整的桌面环境。系统中始终运行着大量的程序。

2.1 ps 命令

当程序在系统中运行时,它被称为进程( process)。要想监测这些进程,必须熟悉 ps 命令的用法。 ps 命令堪比工具中的瑞士军刀,能够输出系统中运行的所有程序的大量信息。
默认的情况下,ps并不会输出太多信息

wkd@ubuntu:~$ ps
  PID TTY          TIME CMD
111693 pts/10   00:00:00 bash
111707 pts/10   00:00:00 ps
wkd@ubuntu:~$ 

也没什么特别之处。 ps 命令默认只显示运行在当前终端中属于当前用户的那些进程。
Linux 系统中使用的 GNU ps 命令支持以下 3 种类型的命令行选项:

  • Unix 风格选项,选项前加单连字符;
  • BSD 风格选项,选项前不加连字符;
  • GNU 长选项,选项前加双连字符。

1.Unix 风格选项
如果需要查看系统中运行的所有进程,可以使用-ef 选项组合,使用ps -ef,读者可以自己在Linux系统试一下。

  • -e 选项指定显示系统中运行的所有进程;
  • -f 选项则扩充输出内容以显示一些有用的信息列。
wkd@ubuntu:~$ ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 Jun14 ?        00:00:01 /sbin/init
root          2      0  0 Jun14 ?        00:00:00 [kthreadd]
root          3      2  0 Jun14 ?        00:02:04 [ksoftirqd/0]
root          5      2  0 Jun14 ?        00:00:00 [kworker/0:0H]
root          7      2  0 Jun14 ?        00:27:41 [rcu_sched]

输出信息每列的解释:

  • UID:启动该进程的用户。
  • PID:进程 ID。
  • PPID:父进程的 PID(如果该进程是由另一个进程启动的)。
  • C:进程生命期中的 CPU 利用率。
  • STIME:进程启动时的系统时间。
  • TTY:进程是从哪个终端设备启动的。
  • TIME:运行进程的累计 CPU 时间。
  • CMD:启动的程序名称。

如果还想获得更多的信息,可以使用-l 选项,产生长格式输出。

wkd@ubuntu:~$ ps -l
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S  1001 111693 111692  0  80   0 -  6807 wait   pts/10   00:00:00 bash
0 R  1001 111769 111693  0  80   0 -  3557 -      pts/10   00:00:00 ps
wkd@ubuntu:~$

-l 选项多的几列输出解释:

  • F:内核分配给进程的系统标志。
  • S:进程的状态( O 代表正在运行; S 代表在休眠; R 代表可运行,正等待运行; Z 代表
    僵化,已终止但找不到其父进程; T 代表停止)。
  • PRI:进程的优先级(数字越大,优先级越低)。
  • NI:谦让度( nice),用于决定优先级。
  • ADDR:进程的内存地址。
  • SZ:进程被换出时所需交换空间的大致大小。
  • WCHAN:进程休眠的内核函数地址。

2.BSD 风格选项
在使用 BSD 风格的选项时, ps 命令会自动改变输出以模仿 BSD 格式。下面是使用 l 选项的输出。

wkd@ubuntu:~$ ps l
F   UID    PID   PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4  1001 111693 111692  20   0  27228  5784 wait   S    pts/10     0:00 bash
0  1001 111796 111693  20   0  14228  2276 -      R+   pts/10     0:00 ps l
wkd@ubuntu:~$ 

输出列解释:

  • VSZ:进程占用的虚拟内存大小(以 KB 为单位)。
  • RSS:进程在未被交换出时占用的物理内存大小。
  • STAT:代表当前进程状态的多字符状态码。
    状态的第一个字符表明进程是在休眠、运行还是等待。
    第二个字符进一步说明了进程的状态:
    <:该进程以高优先级运行。
    N:该进程以低优先级运行。
    L:该进程有锁定在内存中的页面。
    s:该进程是控制进程。
    l:该进程拥有多线程。
    +:该进程在前台运行。

3.GNU 长选项

选项解释
–deselect显示除命令行中列出的进程之外的其他进程
–Group grplist显示组 ID 在 grplist 列表中的进程
–User userlist显示用户 ID 在 userlist 列表中的进程
–group grplist显示有效组 ID 在 grplist 列表中的进程
–user userlist显示有效用户 ID 在 userlist 列表中的进程
–pid pidlist显示 pid 在 pidlist 列表中的进程
–ppid pidlist显示父 pid 在 pidlist 列表中的进程
–sid sidlist显示会话 ID 在 sidlist 列表中的进程
–tty ttylist显示终端设备 ID 在 ttylist 列表中的进程
–format format仅显示由 format 指定的列
–context显示额外的安全信息
–cols n将屏幕宽度设置为 n 列
–columns n将屏幕宽度设置为 n 列
–cumulative包含已停止的子进程的信息
–forest用层级结构显示出进程和父进程之间的关系
–headers在每页输出中都显示列名
–no-headers不显示列名
–lines n将屏幕高度设置为 n 行
–rows n将屏幕高度设置为 n 行
–sort order指定用于排序输出的列
–width n将屏幕宽度设置为 n 列
–help显示帮助信息
–info显示调试信息
–version显示 ps 命令的版本号

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/702350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI赋能未来】一文带你了解生成对抗网络(GAN)

自我介绍⛵ &#x1f4e3;我是秋说&#xff0c;研究人工智能、大数据等前沿技术&#xff0c;传递Java、Python等语言知识。 &#x1f649;主页链接&#xff1a;秋说的博客 &#x1f4c6; 学习专栏推荐&#xff1a;MySQL进阶之路、C刷题集、网络安全攻防姿势总结 欢迎点赞 &…

shiro框架 02使用shiro进行用户的认证

01.shiro框架的具体业务&#xff1a; 具体的内部结构: Subject&#xff08;主体&#xff09;:与软件交互的一个特定的实体&#xff08;用户、第三方服务等&#xff09;。 SecurityManager(安全管理器) :Shiro 的核心&#xff0c;用来协调管理组件工作。 其中的&#xff1a; Au…

小研究 - Java 指针分析综述(二)

近年来静态程序分析已成为保障软件可靠性、安全性和高效性的关键技术之一. 指针分析作为基 础程序分析技术为静态程序分析提供关于程序的一系列基础信息&#xff0c;例如程序任意变量的指向关系、变量 间的别名关系、程序调用图、堆对象的可达性等. 介绍了 Java 指针分析的重要…

亚马逊云科技积极探索多样化生态合作模式,助力实现可持续发展愿景

2023年6月26日&#xff0c;亚马逊云科技中国峰会在上海世博中心盛大开幕&#xff01;以主题“因构建 而可见”为大家拉开帷幕。当前&#xff0c;越来越多的企业客户&#xff0c;以及当地政府监管机构对企业的要求&#xff0c;都需要企业告知碳足迹&#xff0c;亚马逊云科技提供…

优盘数据恢复怎么做?3个方法分享!

我的优盘里保存了很多有纪念意义的照片&#xff0c;但是刚刚将u盘插入电脑后&#xff0c;发现有些照片已经损坏了。我想将优盘里的数据恢复&#xff0c;有什么靠谱的方法吗&#xff1f;给我推荐一下吧&#xff01; 优盘是一种便携式存储设备&#xff0c;常用于存储和传输数据。…

Java-API简析_java.lang.Thread类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/131467981 出自【进步*于辰的博客】 因为我发现目前&#xff0c;我对Java-API的学习意识比较薄弱…

九类AI应用和五个简单LLM的Prompt技巧

一、九类AI应用 AI艺术&#xff1a;造梦日记、MidJourney、Stable Diffusion、Adobe、Stability、Remove AI聊天&#xff1a;ChatGPT、Discord、文心一言、Google Bard、星火、Character.Al AI社区&#xff1a;Kaggle、Hugging Face、H20、Github、Replicate、OpenCV AI创造…

chatgpt赋能python:Python随机打乱列表:如何使用Python打乱您的数据?

Python随机打乱列表&#xff1a;如何使用Python打乱您的数据&#xff1f; 在数据处理中&#xff0c;列表是一种常见的数据结构。然而&#xff0c;当数据量很大时&#xff0c;列表的排序方式也变得重要。为了更好地处理数据&#xff0c;我们需要知道如何使用Python打乱列表。 …

k8s操作命令

系列文章目录 文章目录 系列文章目录一、k8s基础命令1.陈述式资源管理方法&#xff1a;2.基础命令 总结 一、k8s基础命令 1.陈述式资源管理方法&#xff1a; 1.kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口 2.kubectl 是官方的CLI命令行工具…

项目——学生信息管理系统2

目录 用户类型&#xff0c;我们创建一个枚举类 在 org.xingyun.model 包下创建 UserType 枚举类 快速生成 get set 方法 修改代码&#xff0c;下拉框的内容&#xff0c;用我们的枚举类型 给登录按钮绑定事件 我们在 org.xingyun.utils 包下创建一个工具类 Eclipse 智能提…

【Java基础】volatile关键字

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做过日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览2.1 作用2.2 多线程共享变量的访问流程2.3 多线…

EMC学习笔记(十二)跨分割区及开槽的处理

跨分割区及开槽的处理 1.开槽的产生1.1 对电源/地平面分割造成的开槽1.2 通孔过于密集形成开槽 2.开槽对PCB板EMC性能的影响2.1 高速信号与低速信号的面电流分布2.2 分地的概念2.3 信号跨越电源平面或地平面上的开槽的问题 3.对开槽的处理3.1 需要严格的阻抗控制的高速信号线&a…

基于Hadoop的豆瓣电影的数据抓取、数据清洗、大数据分析(hdfs、flume、hive、mysql等)、大屏可视化

目录 项目介绍研究背景国内外研究现状分析研究目的研究意义研究总体设计数据获取网络爬虫介绍豆瓣电影数据的采集 数据预处理数据导入及环境配置Flume介绍Hive介绍MySQL介绍Pyecharts介绍环境配置及数据加载 大数据分析及可视化豆瓣影评结构化分析豆瓣电影类型占比分析豆瓣电影…

Vector - CAPL - 常见缩写词

我们在CAPL脚本开发过程中&#xff0c;为了表示的方便&#xff0c;我们会使用大量的缩写词&#xff0c;为了方便自己的使用&#xff0c;大家也可作为参考使用&#xff0c;这里就整理出来一部分常用缩写&#xff0c;以及中英文注释。 CAPL开发中常见缩写 缩写英文解释中文ABSA…

数据安全系列(二)丨数据分类分级

1 数据分类分级的依据 2016年11月&#xff0c;《网络安全法》明确将“数据分类”作为网络安全保护法定义务之一。 2021年9月&#xff0c;《数据安全法》再次具体确立了“数据分类分级保护制度”及其基本原则。 《数据安全法》 第二十一条 国家建立数据分类分级保护制度&am…

Ansible与Shell结合使用

利用Shell脚本运行Ansible命令&#xff1a; 本实验采用rhel8.3。这次将使用 yum_repository 模块远程写入仓库配置。 写入仓库&#xff1a; Shell脚本&#xff1a; #!/bin/bashansible dev -m yum_repository -a namemyBase description"myTestRepo \ baseurl"/m…

物联网的未来:连接万物的智能世界

第一章&#xff1a;引言 在当今数字化时代&#xff0c;物联网&#xff08;Internet of Things&#xff0c;IoT&#xff09;已经成为了人们生活中不可或缺的一部分。物联网技术的快速发展和广泛应用&#xff0c;将为我们带来一个连接万物的智能世界。本文将探讨物联网的未来发展…

内核态与用户态详解(嵌入式学习)

内核态与用户态 内核态概念特点和功能 用户态概念特点和功能 内核态与用户态如何切换&#xff1f;总结 内核态 概念 内核态&#xff08;Kernel Mode&#xff09;是计算机操作系统中的一种特权级别或运行模式。在内核态下&#xff0c;操作系统拥有最高的权限和访问系统资源的能…

vue-tsc --noEmit导致打包报TS类型错误

&#x1f431; 个人主页&#xff1a;不叫猫先生&#xff0c;公众号&#xff1a;前端舵手 &#x1f64b;‍♂️ 作者简介&#xff1a;2022年度博客之星前端领域TOP 2&#xff0c;前端领域优质作者、阿里云专家博主&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步…

使用预计算的纹理替换Hololens 2屏幕的内容

需求&#xff1a;自己渲染器生成的纹理是A&#xff0c;Unity里的virtual camera生成的纹理是B&#xff0c;正常情况下眼镜里看到的是B&#xff0c;我想着直接用A替换掉B。 了解Unity渲染脚本的生命周期&#xff1a; 对于我们的需求&#xff0c;关键的是Scene Rendering这一块内…