Linux基础命令10(系统管理和网络连接)

部分:系统管理,了解机器

·内核版本信息

60.uname:查看内核信息

uname -a  # 查看内核详细信息


·磁盘信息(du/df/lsblk)


·内存信息

61.free:查看内存信息


·进程信息

62.ps:查看进程静态信息

进程:正在运行中的程序,指令被CPU运算,数据存储在内存中。

ps  # 查看当前用户在前台运行的进程

ps  -aux

字段

全称 / 含义说明

主要作用

USER

启动进程的用户账号

区分进程所属用户,排查权限、用户侧进程资源占用问题

PID

Process ID(进程唯一标识符)

精准定位进程,用于 kill、查看进程详情等操作,是进程操作的核心标识

%CPU

进程一段时间内占用 CPU 资源的百分比

排查 CPU 高负载,识别 CPU 密集型进程,分析程序性能或异常(如持续高占)

%MEM

进程使用物理内存占系统总物理内存的百分比

分析内存占用,识别内存泄漏、内存密集型程序,优化系统内存分配

VSZ

Virtual Set Size(虚拟内存大小,单位 KB ,含虚拟地址空间及未实际分配部分)

辅助判断进程理论内存寻址规模,体现内存需求趋势(参考性弱于 RSS )

RSS

Resident Set Size(常驻内存大小,单位 KB ,实际占用物理内存量)

直观反映进程物理内存真实消耗,排查物理内存不足问题的关键参考

TTY

关联的终端设备(pts/0 伪终端、tty1 本地终端、? 无终端关联等)

定位进程运行环境,区分用户交互进程与系统守护进程,排查终端专属程序问题

STAT

进程状态(R 运行 / 就绪、S 可中断睡眠、D 不可中断睡眠、Z 僵尸、T 暂停 )

快速判断进程阶段,识别异常状态(如僵尸进程、长时间不可中断睡眠进程 )

START

进程启动的时间 / 日期(近期为 “时分”,较早为 “月日” 格式 )

辅助排查进程时长相关问题,判断异常进程是否为近期触发、分析长期运行进程

TIME

进程自启动累计占用 CPU 的时间(格式:分:秒 / 时:分: 秒 )

补充 %CPU ,从累计维度反映 CPU 总消耗,识别长期持续占用 CPU 的进程

COMMAND

启动进程的命令名称 / 脚本路径(如服务名、用户执行命令 )

明确进程对应的程序功能,针对性运维、排查程序相关问题(如识别服务 / 应用 )

ps  -ef

63.kill:杀死进程

kill -9 pid # 强制杀死进程

pkill -9 程序名

kill -6

64.top:动态查询进程信息

top

# t :显示CPU占有率

# m:显示内存占有率


·CPU信息

lscpu


·主机名管理

65.hostname/hostnamectl:修改主机名

# 临时修改主机名,重新登录还在,重启失效

hostname  主机名  

# 永久修改主机名

vim /etc/hostname  

# hostnamectl 永久修改主机名,重新登录终端生效

hostnamectl set-hostname 主机名


第九部分:网络操作,玩转连接

·网络信息

66.ping:测试网络是否畅通

用法:ping  [选项] 目标地址

ping  ip/域名  需要Ctrl+c停止

ping  -c3  ip/域名

基本连通性测试: 用 ping 检查目标是否在线。

控制发送次数: 用 -c 设定发送包数量。

网络性能调试: 用 -s 和 -i 调整包大小和发送频率。

# 1. 测试目标地址的连通性(默认持续发送数据包)

ping  www.google.com  -- 这个最常用

# 2. 指定发送的次数(比如发送 5 次)

ping  -c  5  www.google.com

# 3. 限制每次发送数据包的间隔时间(1 秒间隔)

ping  -i  1  www.google.com

# 4. 调整数据包大小(默认 56 字节)

ping  -s  128  www.google.com

# 5. 不解析 IP 对应的主机名(加速测试)

ping  -n  www.google.com

67.traceroute:路由追踪工具

用法:traceroute  [选项] 目标地址

跟踪网络数据包从本地主机到目标主机的路径,显示经过的中间路由节点。(各个节点的 ip 地址)

需要用yum安装

# 1. 追踪到目标主机的路由节点,显示数据包到目标主机的所有中间节点地址及响应时间。

traceroute  example.com  -- 这个最常用

# 2. 限制显示的最大跳数(避免输出过多节点,默认是 30)

traceroute  -m  20 example.com

# 3. 指定每跳的探测次数(默认是 3 次)

traceroute  -q  1  example.com

# 4. 使用 ICMP 协议代替 UDP 进行路由追踪(部分网络更友好,兼容更多网络环境)

traceroute  -I  example.com

# 5. 使用指定端口进行路由追踪

traceroute  -p  443  example.com

68.wget:通过url下载文件

用法:wget  [选项]  URL

# 1. 下载单个文件

wget  http://example.com/file.zip

# 2. 下载并保存为指定文件名

wget  -O  newname.zip  http://example.com/file.zip

# 3. 断点续传未完成的下载

wget  -c  http://example.com/largefile.zip

# 4. 下载需要认证的文件(提供用户名和密码)

wget --user=username  --password=password http://example.com/securefile.zip

# 5. 限制下载速度(每秒 100KB)

wget  --limit-rate=100k  http://example.com/largefile.zip

69.curl:万能数据获取工具

用法:curl 选项 [网址]

curl  ip/域名    #查看html源码

curl  -O  地址  # 下载

# 1. 下载文件(-O或-o)

curl  -O  http://example.com/file.zip

# 2. 保存文件为指定名称

curl  -o  newname.zip  http://example.com/file.zip

# 3. 查看网页内容

curl  http://example.com

# 4. 调用接口(GET 请求)

curl  -X  GET  http://api.example.com/data   

# -X:指定请求方法(GET、POST、DELETE 等)

# 5. 调用接口(POST 请求并发送数据)

curl -X  POST  -d  "key=value"  http://api.example.com/data

# 6. 显示详细的请求和响应过程

curl  -v  http://example.com

70.netstat/ss:网络连接一览

netstat  -lnutp  #本地服务,开放端口

监听端口: 用 -tlnp 查看监听的服务和进程。

筛选连接: 配合 grep 过滤指定端口或进程。

# 1. 查看所有网络连接

netstat -a

# 2. 查看监听的 TCP 和 UDP 端口

netstat -nlptu

# -t:仅显示 TCP 连接。

# -l:仅显示正在监听的端口。

# -n:以数字格式显示地址和端口。

# -p:显示占用端口的进程。

# -u:仅显示 UDP 连接

# 3. 查看指定端口的连接情况(结合 grep 筛选)

netstat -tlnp | grep :80            # 这种非常常用!!

# 4. 通过进程名,筛选出由特定程序或服务占用的连接(也常用!)

netstat -tlnp | grep nginx         # 查看 Nginx 占用的连接

# 5.筛选出特定连接状态(例如 LISTEN 或 ESTABLISHED):

netstat -tlnp | grep LISTEN        # 查看所有监听的端口

netstat -tlnp | grep ESTABLISHED  # 查看所有已建立的连接

71.ss:现代网络连接查看工具

ss -lnutp

# ss 常用操作示例:

# 1. 显示所有网络连接

ss -a

# 2. 显示所有监听的 TCP 和 UDP 端口

ss -nlptu

# -t:仅显示 TCP 连接

# -u:仅显示 UDP 连接

# -l:仅显示监听连接

# -n:不解析主机名和服务名称,显示数字地址和端口号(加速)。

# -p:显示占用端口的进程。

# 3. 查看 ESTABLISHED 状态的连接

ss -t state established

# 4. 查看指定端口的连接(结合 grep 过滤)

ss -tlnp | grep :80          # 按端口号过滤

# 5. 查看所有包含某个 IP 地址的连接

ss -tlnp | grep '192.168.1.100'  # 按 IP 地址过滤

# 6. 查看某个进程(根据 PID)

ss -tulnp | grep '1234'     # 根据进程 ID (PID) 过滤

# 7. 查看某个协议类型的连接

ss -tuln | grep 'tcp'       # 按协议类型(如 tcp)过滤

# 8. 查看网络连接的具体服务

ss -tulnp | grep 'nginx'   # 根据服务名称过滤(例如:nginx)

ss 和 netstat 的对比:

功能

ss

netstat

性能

快,直接从内核获取数据

慢,需读取 /proc 文件

默认安装

新版 Linux 默认安装

逐渐被淘汰,不再维护

支持状态过滤

更强,支持精准筛选

支持但不够灵活

推荐使用

72.lsof:查看文件和网络连接的多面手

lsof  -i:80  # 查看80端口是否被占用

特点:

灵活强大:不论是文件占用还是网络连接,lsof 都能快速定位问题。

配合grep:在网络场景下,结合grep可快速筛选监听状态或特定端口的连接。

lsof 的两大核心功能:

①文件占用:查看文件或设备被哪些进程使用。

# 查看文件被哪些进程占用

lsof /path/to/file

# 查看某用户打开的所有文件

lsof -u username

# 查看某进程打开的文件,PID代表进程号,可以查看文件占用情况

lsof -p <PID>

②网络连接:检查端口、IP 和服务状态。

# 查看所有网络连接

lsof -i

# 查看特定端口的占用情况

lsof -i :80

# 显示详细网络连接(数字端口和 IP 地址,查看详细连接信息)

lsof -Pni

# 显示被特定端口(如 80)占用的进程及其详细信息。

lsof -Pni :80

# 结合 grep 筛选出监听状态的端口

lsof -Pni | grep LISTEN

# 筛选出与某个 IP 地址相关的连接(本地或远程)

lsof -Pni | grep 192.168.1.100

# 查找指定进程的网络连接,PID代表进程号

lsof -Pni | grep <PID>


·服务管理


·防火墙


·日志管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值