linux命令uname、lsof、netstat、ss使用教程

ops/2024/12/17 9:30:11/

uname

uname 是一个 Linux/Unix 系统中的命令,用于显示操作系统和内核相关的信息。它可以显示系统的名称、
内核版本、硬件架构等信息。

查看操作系统名称
uname

该命令默认只显示系统的名称,例如 Linux

查看所有系统信息
uname -a

-a 选项会显示系统的所有信息,包括:

  • 内核名称
  • 主机名
  • 内核版本
  • 系统架构
  • 操作系统类型等

示例输出:

Linux myhostname 5.11.0-25-generic #27-Ubuntu SMP Fri Jul 9 23:41:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
查看内核版本
uname -r

该命令会显示系统正在运行的内核版本。

查看主机名
uname -n

显示当前的主机名。

查看内核的发布版本
uname -v
查看硬件架构
uname -m

该命令会显示系统的架构,例如 x86_64 表示 64 位架构。

显示内核名称
uname -s
显示操作系统类型
uname -o

lsof

lsof 是一个用于显示系统中打开文件的命令。它可以列出当前系统中打开的文件、网络连接、进程等相关信息。

无选项

列出所有打开的文件:在终端中输入 lsof,然后按下回车键。这将显示当前系统中所有打开的文件的列表。

lsof
列出指定进程打开的文件

使用 -p 选项,后跟进程 ID(PID),可以列出特定进程打开的文件。

# 格式
lsof -p <PID>
#示例
lsof -p 1234
列出指定用户打开的文件

使用 -u 选项,后跟用户名,可以列出特定用户打开的文件。

# 格式
lsof -u <username> 
#示例
lsof -u john
列出指定文件名相关的进程

使用文件名作为参数,可以列出正在使用该文件的进程。

# 格式
lsof </path/to/file>
#示例
lsof hello.txt
列出网络连接

使用 -i 选项,可以列出当前系统上的网络连接。

# 格式
lsof -i # 将显示所有网络连接的相关信息
lsof -i :<port> # 查看使用该端口的进程
lsof -i tcp # 查看使用指定协议的网络连接
lsof -i udp # 查看使用指定协议的网络连接
lsof -i -u john
#示例
lsof hello.txt
显示目录下打开的文件

使用 +D 选项,可以显示目录下打开的文件。

# 格式
lsof +D <dir>
#示例
lsof +D .
查看某个程序打开的文件

使用 -c 选项,可以查看某个程序打开的文件。

# 格式
lsof -c <command>
#示例
lsof -c sshd
定时刷新

使用 -r 选项,可以定时刷新。

# 格式
lsof -r <second>
#示例
lsof -r 1 -i :3306
lsof -r 1 -u john
lsof -r 1 hello.txt

netstat

netstat 是一个常用的网络状态查看工具,可以显示网络连接、路由表、接口统计等信息。
虽然 netstat 在一些系统中已被替代为 ss,但它仍然广泛使用。以下是一些常用的 netstat 用法:

无选项

显示已建立连接的端口,不显示正在监听的端口

显示所有网络连接

显示所有已建立连接的端口和所有正在监听的端口

netstat -a
显示监听端口

仅显示正在监听的套接字。

netstat -l
指定协议
  • -t 或 --tcp:仅显示 TCP 协议相关的网络连接。
  • -u 或 --udp:仅显示 UDP 协议相关的网络连接。
  • -U 或 --udplite:仅显示 UDPLite 协议相关的网络连接。
  • -S 或 --sctp:仅显示 SCTP 协议相关的网络连接。
  • -w 或 --raw:仅显示 RAW 协议相关的网络连接。
  • -x 或 --unix:仅显示 UNIX 域套接字相关的连接。
  • –ax25:仅显示 AX.25 协议相关的网络连接。
  • –ipx:仅显示 IPX 协议相关的网络连接。
  • –netrom:仅显示 NET/ROM 协议相关的网络连接。
# 格式
netstat -t
netstat --tcp
netstat -u
netstat --udp
# 示例
netstat -tp | grep sshd
显示进程对应的网络连接

显示每个连接关联的进程信息。

netstat -p
显示路由表

打印内核路由表。

netstat -r
显示网络接口的信息

使用-i选项显示网络接口的发送/接收数据包统计信息。-I和–interfaces可以指定接口名称。

# 格式
netstat -i # 显示所有网路接口信息
netstat -I=<interface> # 显示指定网路接口信息
netstat --interfaces=<interface> # 显示指定网路接口信息
# 示例
netstat -i # 显示所有网路接口信息
netstat -I=lo # 显示指定网路接口信息
netstat --interfaces=lo # 显示指定网路接口信息
不解析主机名、端口和用户名,直接显示数字

使用-n选项。不解析主机名、端口和用户名,直接显示数字。

netstat -tn
显示详细信息

使用-e选项。显示详细信息,如用户 ID、传输的字节数等。

netstat -lte | grep mysql
显示各协议的统计信息

使用-s选项。显示各协议的统计信息。

netstat -ts
netstat -us
netstat -s --icmp
查看实时更新

netstat命令本身没有定时刷新的功能。可以使用watch 命令监控变化。

watch -n 2 netstat -tuln

每两秒刷新一次当前监听的 TCP 和 UDP 端口列表。

注意事项
  • netstat 可能需要 root 权限才能获取完整信息。
  • 在某些 Linux 发行版中,net-tools 包可能需要手动安装,以使用 netstat
  • 对于新的系统和更多功能,可以考虑使用 ss 命令作为 netstat 的替代工具。

ss

netstat和ss命令用法基本相同,只不过netstat是老命令,ss是新命令。具体用法可以参考netstat命令。netstat



http://www.ppmy.cn/ops/142611.html

相关文章

如何与GPT更高效的问答

与GPT进行高效沟通的关键在于提问的方式。通过合理的提问技巧&#xff0c;可以更清晰地表达需求&#xff0c;从而获得更准确的回答。以下是一些实用的建议&#xff0c;帮助你提升与GPT的交流效率。 1. 使用简单明了的语言&#xff1a; 尽量避免使用复杂的术语和行话&#xff0c…

Guava 库中的 `Multiset` 是一个允许元素重复的集合

Guava 库中的 Multiset 是一个允许元素重复的集合。它继承自 Collection 接口&#xff0c;提供了额外的方法来处理元素的计数。以下是一些使用 Guava Multiset 的基本代码示例&#xff1a; 引入 Guava 库 首先&#xff0c;确保你的项目中已经添加了 Guava 库的依赖。如果你使…

爬虫逆向学习(十四):分享一下某数通用破解服务开发经验

阅前须知 这篇博客不是教大家怎么实现的&#xff0c;而且告知大家有这个东西&#xff0c;或者说一种趋势&#xff0c;借此分享自己大致的实现经验。具体的实现我也不好整理&#xff0c;毕竟是在别人的基础上缝缝补补。 前言 使用补环境方式破解过某数的同学都知道&#xff0…

如何排查服务器是否有被黑客入侵的迹象?

排查服务器是否被黑客入侵是系统维护的重要工作。以下是详细的排查步骤&#xff0c;通过分析日志、检查用户、进程、网络连接等多个方面来判断服务器是否存在被入侵的迹象。 一、入侵的常见迹象 在开始排查之前&#xff0c;以下是一些常见的入侵迹象&#xff0c;若发现这些情况…

uniapp+uview 图片预览组件

uniapp uview 图片列表预览组件 注意&#xff1a;在app端需要先判断是否存在手机相册权限 <template><!-- css使用的是uview1.0组件中的css --><!-- u-image 使用的是uview1.0的组件 --><view class"u-flex u-row-between u-flex-wrap">&…

穷举vs暴搜vs深搜vs回溯vs剪枝系列一>找出所有子集的异或总和再求和

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; private int ret;//返回周结果private int path;//枚举一个元素就异或进去public int subsetXORSum(int[] nums) {dfs(nums, 0);return ret;} private void dfs(int[] nums, int pos){ret path;for(int i pos; i <…

基于GIT模型的智能图像描述生成器

导入必要的库: from transformers import AutoProcessor, AutoModelForVision2Seq # 用于加载和使用模型 from PIL import Image # 处理图像 import requests # 下载网络图片 from IPython.display import Image as IPImage, display # 显示图像主要函数 analyze_image: …

配置ssh-key连接github

GitHub 通过在 2022 年 3 月 15 日删除旧的、不安全的密钥类型来提高安全性。 具体内容参考如下链接 https://docs.github.com/zh/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent mac配置 ssh-keygen -t ed25519 -C …