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

不常用命令指南

常用命令网上资料很多,讲的也不错。这里记录下日常工作中用到的,但对于新手又不常用的命令

文章目录

  • 信息相关
    • 进程相关
      • `htop`
      • `pgrep`(根据指定的条件获取进程id)
      • `lsof`
    • 网络相关
      • `ss`
      • `nc`(netcat)

信息相关

进程相关

htop

htop 是一个在 Linux 系统中常用的命令行工具,它用于监控系统资源的使用情况,提供比传统的 top 命令更为丰富和友好的界面。htop 可以显示 CPU、内存、交换空间(swap)、进程信息等实时数据,同时支持对进程进行排序、筛选和交互式操作。

官网地址: https://htop.dev/

主要功能与特点:
实时监控:

显示系统的 CPU、内存、交换空间、进程状态等实时信息。
提供每个核心的 CPU 使用率,可以帮助你查看多核 CPU 的负载情况。

交互式操作:
htop 提供了丰富的交互功能,你可以直接在命令行中使用上下箭头、F键等操作对进程进行管理。
可以对进程进行排序(例如按 CPU 使用率、内存使用率等),通过 F6 可以选择排序方式。
支持杀死进程(通过选择进程后按 F9),方便系统管理员在遇到死锁或高负载时终止进程。

进程树视图:
htop 可以以树状结构显示进程间的父子关系,帮助用户理解进程的层级和依赖。

过滤与搜索:
通过 F3 键可以对进程进行搜索,快速定位你感兴趣的进程。
通过 F4 键进行进程过滤,可以根据进程的名称、PID 等信息筛选进程。
显示定制:

你可以定制显示的字段,包括 CPU、内存、用户、状态等信息。可以通过 F2 键进入设置界面进行定制。
颜色高亮:

htop 使用不同的颜色来高亮显示系统资源的使用情况,帮助用户快速识别瓶颈部分。

pgrep(根据指定的条件获取进程id)

pgrep 是一个用于查找当前系统中符合特定条件的进程的命令。它的功能是通过进程名、用户、进程ID等条件来匹配进程,并返回匹配进程的进程ID(PID)。pgrep 是一个非常实用的工具,尤其适用于在脚本中自动化处理进程管理。

pgrep [选项] [匹配字符串]
# 根据进程名称查找进程: 最常见的用法是通过进程名来查找进程ID。
# 这也是最常用的方式
pgrep <process_name>
# 例如,查找名为 apache2 的进程:
pgrep apache2#使用正则表达式匹配进程名: pgrep 允许使用正则表达式来匹配进程名称。
# -f 选项会让 pgrep 匹配进程的完整命令行,而不仅仅是进程名称。
pgrep -f <'pattern'>
# 例如,查找命令行中包含 apache 的进程:
pgrep -f apache# 显示进程的详细信息: -a 选项可以列出匹配的进程ID和进程名:
pgrep -a <process_name># 根据用户查找进程: -u 选项允许你根据用户来过滤进程。你可以指定用户名或用户ID(UID):
pgrep -u username
# 例如,查找所有由用户 www-data 启动的进程:
pgrep -u www-data# 查找指定进程的父进程: -P 选项允许你查找某个进程的子进程:
pgrep -P parent_pid
# 例如,查找进程ID为 1234 的所有子进程:
pgrep -P 1234# 查找进程的进程组ID(PGID): -G 选项允许你根据进程组ID来查找进程:
pgrep -G <pgrp_id>

lsof

lsof(List Open Files)是一个在 Linux 和类 Unix 系统中使用的命令行工具,用于列出当前系统中所有打开的文件及相关的进程信息。它不仅可以显示文件,还能列出与网络连接、设备、管道等相关的打开资源,因此在系统管理和故障排除中非常有用。

在 linux 中,一切皆文件。

# 示例输出
# COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
# nginx   12345 root    6u  IPv4  23456      0t0  TCP *:http (LISTEN)# 列出当前系统中所有进程打开的文件(包括设备文件、网络连接、管道等)
lsof# 通过 -p 参数指定进程 ID(PID),查看该进程打开的文件
lsof -p <PID># 指定一个字符串来过滤进程名,显示以该字符串开头的进程所打开的文件
lsof -c <process-name-prefix>
# 会列出所有以ls开头的进程,如:lsmod
lsof -c ls# 使用 -u 参数,可以查看某个用户(或多个用户)打开的所有文件
lsof -u <username># 某个文件(或目录)被哪个进程打开
lsof <filename># 列出所有当前打开的网络连接,包括 TCP 和 UDP 连接
lsof -i
lsof -i tcp
lsof -i udp
lsof -i :80
lsof -i tcp:80# 查看某个进程(例如 PID 1234)占用了哪些网络端口,可以结合使用 -p 和 -i 参数
lsof -p <pid> -i# 查看哪些文件被锁定。使用 -l 参数可以显示锁定文件的信息
lsof -l# 有时文件可能已经被删除,但某个进程仍然保持着该文件的打开句柄。使用 lsof 可以查看这些文件
lsof | grep deleted# 文件描述符(File Descriptors, FD)表示文件在内核中的标识符。lsof 显示的输出中会包括文件描述符的信息(如 cwd、txt、mem 等)。你可以通过这些信息了解进程如何使用文件
# 你可以使用 -t 来过滤文件类型。常见的文件类型包括:
# txt:普通文件
# cwd:当前工作目录
# mem:内存映射文件
# reg:常规文件
# chr:字符设备
# dir:目录
lsof -p <PID> -d <FD>

网络相关

ss

ss(Socket Statictics)是一个在 Linux 系统中用来查看网络连接状态的命令,通常用于查看系统中打开的套接字(sockets),包括 TCP、UDP 连接、监听的端口、进程 ID 等信息。它比传统的 netstat 命令更加高效且提供了更多的功能和更简洁的输出。

ss -lntup
  • -l 查看所有监听(listening)端口
  • -u 查看所有 UDP 连接
  • -t 查看所有 TCP 连接
  • -p 显示每个监听端口对应的进程名称和 PID(进程 ID)
  • -n 显示数字形式的端口和 IP 地址(避免 DNS 解析)

nc(netcat)

功能非常全面,建议自行搜索学习。这里简单介绍下。

nc(Netcat)是一个非常强大且灵活的命令行工具,用于网络连接、端口扫描、数据传输等操作。它通常被称为“网络工具的瑞士军刀”,因为它的功能十分广泛,可以用来调试和分析网络连接,也可以作为一个简单的客户端或服务器进行数据传输。

nc 默认使用 TCP 协议,如果想使用 UDP 协议,可以使用 -u 显式指定。

# 测试网络连接是否正常
nc <host|ip> <port># 创建一个简单的 TCP 服务器,监听指定的端口,并等待客户端连接
nc -l <port>
# 创建一个简单的 TCP 服务器,并把指定的文件发送给客户端
nc -l <port> < /path/filename# 扫描远程主机的多个端口,以检测哪些端口是开放的
# -z:告诉 nc 不发送任何数据,只测试端口是否开放
# -v:启用详细输出,显示哪些端口是开放的
nc -zv <host|ip> <start-port>-<end-port>
nc -zv <host|ip> <port># 使用 TCP 向目标发送文件
nc <receiver_host> <port> < file.txt
# 服务端接收数据,并保存为文件
nc -l <port> > received_file.txt# 因为默认使用 TCP 协议,因此可以模拟所有其他基于 TCP 的应用层协议。比如:HTTP 协议
echo -e "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n" | nc example.com 80

相关文章:

不常用命令指南

常用命令网上资料很多&#xff0c;讲的也不错。这里记录下日常工作中用到的&#xff0c;但对于新手又不常用的命令 文章目录 信息相关进程相关htoppgrep&#xff08;根据指定的条件获取进程id&#xff09;lsof 网络相关ssnc&#xff08;netcat&#xff09; 信息相关 进程相关 …...

spring mvc | servlet :serviceImpl无法自动装配 UserMapper

纯注解SSM整合 解决办法&#xff1a; 在MybatisConfig添加 Configuration MapperScan("mapper")...

STM32 HAL库之串口接收不定长字符

背景 在项目开发过程中&#xff0c;经常会使用MCU的串口与外界进行通信&#xff0c;例如两个单片机之间TTL电平型串口通信&#xff0c;单片机与成熟电路模块之间的串口通信等等.... 如何高效的使用串口是开发人员必须关注的问题。 STM32的HAL库为我们提供了三种串口通信机制&am…...

Pyqt6的tableWidget填充数据

代码 from PySide6.QtWidgets import QTableWidget QTableWidgetItemdef tableInit(self):self.tableWidgetself.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)module_keyWord readJsonToDict(keyWordFileDir module_name) #读取模块关键字json字典数据s…...

ASP.NET Core - 依赖注入 自动批量注入

依赖注入配置变形 随着业务的增长&#xff0c;我们项目工作中的类型、服务越来越多&#xff0c;而每一个服务的依赖注入关系都需要在入口文件通过Service.Add{}方法去进行注册&#xff0c;这将是非常麻烦的&#xff0c;入口文件需要频繁改动&#xff0c;而且代码组织管理也会变…...

UVM 验证方法学之interface学习系列文章(十一)virtual interface 再续篇

一 前言 并非总是可以将被测单元(DUT)视为一个黑盒,即仅监控和驱动DUT的顶层端口信号。这一点在从模块级测试转向更大规模的系统级测试时尤为明显。有时,我们需要了解实现细节以便访问DUT内部的信号。这被称为白盒验证。 Verilog一直提供从其他作用域访问几乎任何层次结构…...

面试题整理5----进程、线程、协程区别及僵尸进程处理

面试题整理5----进程、线程、协程区别及僵尸进程处理 1. 进程、线程与协程的区别1.1 进程&#xff08;Process&#xff09;1.2 线程&#xff08;Thread&#xff09;1.3 协程&#xff08;Coroutine&#xff09;2. 总结对比 3. 僵尸进程3.1 什么是僵尸进程&#xff1f;3.2 僵尸进…...

OpenTK 中帧缓存的深度解析与应用实践

摘要: 本文深入探讨了 OpenTK 中帧缓存的使用。首先介绍了帧缓存的基本概念与在图形渲染管线中的关键地位,包括其与颜色缓存、深度缓存、模板缓存等各类缓存的关联。接着详细阐述了帧缓存对象(FBO)的创建、绑定与解绑等操作,深入分析了纹理附件、渲染缓冲区附件在 FBO 中的…...

第2节-Test Case如何调用Object Repository中的请求并关联参数

前提&#xff1a; 已经创建好了project&#xff08;File -> New -> Project&#xff0c;Type&#xff1a;API/WebService&#xff09;&#xff0c;object repository中已经创建了RESTful endpoint&#xff08;Object Repository -> New -> Web Service Request&am…...

【HarmonyOS NEXT】Web 组件的基础用法以及 H5 侧与原生侧的双向数据通讯

关键词&#xff1a;鸿蒙、ArkTs、Web组件、通讯、数据 官方文档Web组件用法介绍&#xff1a;文档中心 Web 组件加载沙箱中页面可参考我的另一篇文章&#xff1a;【HarmonyOS NEXT】 如何将rawfile中文件复制到沙箱中_鸿蒙rawfile 复制到沙箱-CSDN博客 目录 如何在鸿蒙应用中加…...

Android学习(六)-Kotlin编程语言-数据类与单例类

假设我们要创建一个表示书籍的数据类 Book&#xff0c;包含书名和作者两个字段。在 Java 中&#xff0c;代码如下&#xff1a; public class Book { String title; String author; public Book(String title, String author) { this.title title; this.author author; } Ove…...

CV-OCR经典论文解读|An Empirical Study of Scaling Law for OCR/OCR 缩放定律的实证研究

论文标题 An Empirical Study of Scaling Law for OCR OCR 缩放定律的实证研究 论文链接&#xff1a; An Empirical Study of Scaling Law for OCR论文下载 论文作者 Miao Rang, Zhenni Bi, Chuanjian Liu, Yunhe Wang, Kai Han 内容简介 本论文在光学字符识别&#xf…...

力扣274. H 指数

给你一个整数数组 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义&#xff1a;h 代表“高引用次数” &#xff0c;一名科研人员的 h 指数 是指他&#xff08;她&#xff09;至少发…...

挑战一个月基本掌握C++(第五天)了解运算符,循环,判断

一 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 内置了丰富的运算符&#xff0c;并提供了以下类型的运算符&#xff1a; 算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符 1.1 算术运算符 假设变量 A 的值为 10&#xff0c;变量 B 的值为…...

Python的sklearn中的RandomForestRegressor使用详解

文章目录 Python的sklearn中的RandomForestRegressor使用详解一、引言二、RandomForestRegressor简介1、随机森林回归原理2、RandomForestRegressor的主要参数 三、构建和训练模型1、数据准备2、数据划分3、模型训练 四、模型评估1、预测2、评估指标 五、特征重要性分析六、可视…...

ReactPress 1.6.0:重塑博客体验,引领内容创新

ReactPress 是一个基于Next.js的博客&CMS系统&#xff0c; Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎Star。 体验地址&#xff1a;http://blog.gaoredu.com/ 今天&#xff0c;我们自豪地宣布ReactPress 1.6.0版本的正式发布&#xff0c;…...

人脸生成3d模型 Era3D

从单视图图像进行3D重建是计算机视觉和图形学中的一项基本任务&#xff0c;因为它在游戏设计、虚拟现实和机器人技术中具有潜在的应用价值。早期的研究主要依赖于直接在体素上进行3D回归&#xff0c;这往往会导致过于平滑的结果&#xff0c;并且由于3D训练数据的限制&#xff0…...

kubeadm搭建k8s集群

前置环境&#xff1a; 准备三台虚拟机 192.168.1.104&#xff08;用来做k8s的mater节点&#xff09; 192.168.1.105&#xff08;节点node2&#xff09; 192.168.1.109&#xff08;节点node3&#xff09; 关闭防火墙 systemctl stop firewalld systemctl disable firewalld安装…...

centOS系统进程管理基础知识

进程的概念与属性 1.进程是系统中正在执行的代码片段&#xff0c;也可以称为一个程序。 2.操作系统通过分配进程编号&#xff08;PID&#xff09;来管理进程。 3.进程属性包括PID、PPID、UID、GID、状态、优先级、终端名和资源占用等。 PS命令与进程查看 1.PS命令用于查看进程…...

STM32中ADC模数转换器

一、ADC简介 ADC模拟-数字转换器 ADC可以将引脚连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC&#xff0c;1us转换时间 输入电压范围&#xff1a; 0~3.3V&#xff0c;转换结果范围&#xff1a;0~4095 18个输入…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...