nl 文件名 | sed -n '59,121p'

dmesg | grep -i *
logcat | grep -i *
ps -A | grep -i *
file *

lsusb
lsmod

getenforce
setenforce

zcat /proc/config.gz | grep *

ip link show
iw dev
iw dev wlan0 scan | grep SSID
ifconfig -a

netstat -tuln | grep 5555

📌 dmesg

1. 简介

dmesg 是 Linux 系统中一个非常有用的命令,用于查看内核环缓冲区中的信息,也就是系统启动和运行过程中,内核打印的各种消息。


2. 基本定义

dmesg(display message)用于显示系统启动时内核(kernel)输出的信息,以及后续由内核产生的日志,例如硬件初始化、驱动加载、内存信息、内核异常等。


3. 基本语法

dmesg [选项]

4. 常见用途

用途

示例

查看启动过程中的内核日志

dmesg

查看刚插入的 USB 设备信息

插入后立刻 `dmesg

调试驱动加载问题

`dmesg

查看内核崩溃或 oops 信息

`dmesg


5. 示例输出

[    0.000000] Linux version 5.10.0-23-amd64 ...
[    1.234567] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[    2.345678] EXT4-fs (sda1): mounted filesystem with ordered data mode

括号里的时间是自启动以来的秒数


6. 常用选项

选项

功能说明

-H

人类可读格式(高版本支持)

-T

把时间戳转为实际时间(例如:2025-07-26 10:02:01

-k

只显示内核消息(类似 journalctl -k)

--color

彩色高亮(需要 dmesg 版本支持)

--follow

持续输出新日志(类似 tail -f


7. 结合过滤使用

dmesg | grep usb
dmesg | grep -i error
dmesg | tail -20

8. 日志来源区别说明

  • dmesg 输出的是内核的环形缓冲区日志。

  • journalctl 的系统日志不同(后者来源包括 systemd、服务、内核等)。

  • dmesg 内容不会永久保留,系统重启后会清空


9. 权限说明

  • 普通用户可能不能看到完整日志,使用 sudo 获取完整信息:

sudo dmesg

10. 总结

dmesg 是分析 Linux 启动过程、设备驱动状态、硬件识别、内核错误的利器,特别适合做内核级调试或驱动开发。


📌 logcat

logcat 是 Android 系统中用于查看系统日志的工具,相当于 Android 的“系统调试控制台”。


1. 简介

logcat 是 Android SDK 提供的命令行工具,用于 查看和过滤 Android 系统的日志信息,包括应用日志(Log.d() / Log.e() 等)、系统服务日志、内核信息等。

它是开发调试 Android 应用不可或缺的工具之一。


2. 基本语法

logcat [选项] [过滤规则]

3. 最常用命令示例

logcat

输出所有系统日志,持续更新(类似 tail -f

logcat | grep MyApp

筛选包含关键字 "MyApp" 的日志

logcat -s MyTag

只看 tag 为 MyTag 的日志(对应 Log.d("MyTag", "message")

logcat -v time

添加时间戳格式(默认是简化格式)

logcat -d > mylog.txt

导出一次性日志到文件


4. 日志等级(priority)

等级

用法函数

含义

V

Log.v()

Verbose(最详细)

D

Log.d()

Debug(调试信息)

I

Log.i()

Info(普通信息)

W

Log.w()

Warning(警告)

E

Log.e()

Error(错误)

F

Log.wtf()

Fatal(严重错误)

过滤格式如:

logcat *:E

表示:只显示所有 tag 的 Error 级别日志。


5. 高级过滤格式

logcat tag1:V tag2:D *:S

解释:

  • tag1 的 Verbose

  • tag2 的 Debug

  • 其他都 Silence(不显示)


6. 日志来源

  • Log 类写入的应用日志

  • 系统服务(如 ActivityManagerWifiService 等)

  • 原生代码中 ALOGD/ALOGE 宏打印的日志

  • 某些厂商设备也可能将内核日志转发至 logcat


7. 使用环境

  • 可在 ADB shell 中执行

    adb logcat
  • 或者在开发环境中直接运行:

    adb shell logcat

8. 总结

logcat 是 Android 系统中的核心日志查看工具,用于开发调试、问题排查、性能分析,支持强大的过滤与格式化输出。


📌 ps

ps 是 Linux 和类 UNIX 系统中用于查看系统进程信息的经典命令。


1. 简介

ps(process status)用于显示当前系统的活动进程状态,可以看到每个进程的 PID、CPU 占用、内存使用、所属用户等信息。


2. 基本语法

ps [选项]

3. 常用命令示例

命令

说明

ps

显示当前终端下的前台进程(不常用)

ps -eps -A

显示所有进程

ps -ef

所有进程 + 全格式(标准且常用)

ps aux

BSD 风格,显示所有进程信息

ps -u 用户名

查看指定用户的进程

ps -p PID

查看指定 PID 的进程

`ps -ef

grep nginx`


4. 常见字段说明(ps -efps aux

字段

含义

UID

所属用户

PID

进程 ID

PPID

父进程 ID

CMD

启动命令

%CPU

CPU 使用率(ps aux

%MEM

内存使用率(ps aux

TTY

终端号(没有则是后台进程)

STAT

进程状态(如 R 运行,S 睡眠)


5. ps vs top vs htop

命令

特点

ps

一次性输出进程快照

top

实时刷新显示进程状态

htop

更美观、可交互的 top(需安装)


6. 进程状态(STAT 字段)

状态字母

含义

R

运行中(Running)

S

可中断睡眠(Sleeping)

D

不可中断睡眠(通常为 I/O 等待)

Z

僵尸进程(Zombie)

T

停止(停止或被追踪)


7. 小技巧

  • 查看某程序是否在运行:

ps -ef | grep myprogram
  • 查找父子进程关系:

ps -ef --forest
  • 查看特定 PID 的命令行:

ps -p 1234 -o cmd

8. 总结

ps 是 Linux 查看当前进程状态的基本工具,适合配合 grepkill 等命令进行进程管理和问题排查。


📌 file

1.简介

file 是 Linux 中一个非常常用的命令,它的作用是判断文件类型,而不是依赖于文件扩展名,而是通过读取文件的“魔数(magic number)”或其他内容来识别文件类型。


2. 基本语法

file [选项] 文件名...

3. 常用示例

file test.txt

输出可能是:

test.txt: ASCII text
file some_binary

输出可能是:

some_binary: ELF 64-bit LSB executable, x86-64, ...

4. 应用场景

  • 判断某个文件是否是二进制、脚本、图片、压缩包等。

  • 对没有扩展名的文件进行识别。

  • 分析可疑文件类型(如安全检查、数字取证等)。


5. 常见输出类型

类型

示例输出

文本文件

ASCII text, UTF-8 Unicode text

可执行文件

ELF 64-bit LSB executable

脚本文件

Bourne-Again shell script

压缩包

gzip compressed data

图片

JPEG image data, PNG image data


6. 常用选项

选项

说明

-i

显示 MIME 类型,如 text/plain

-b

只显示文件类型,不显示文件名

-z

尝试解压缩压缩文件后再识别类型

-f 文件

从文件中读取要判断的文件列表

示例(带 -i):

file -i test.jpg
# 输出: test.jpg: image/jpeg; charset=binary

7. 识别原理简述

file 命令背后会使用 /usr/share/file/magic/etc/magic 中的“魔数规则”数据库,结合文件头部的字节特征来判断类型。


8. 总结

file 命令通过分析文件内容(而非扩展名)来判断文件的真实类型,是一个在调试、系统管理、安全分析中非常有用的工具。


📌 lsusb

1. 简介

lsusb(list USB)用于列出连接到系统上的 所有 USB 总线和设备,包括鼠标、键盘、U 盘、摄像头、蓝牙、打印机、开发板等,只要是 USB 接口的设备都能显示出来。


2. 基本定义

lsusb 是 Linux 系统中用于查看 USB 设备信息的命令。


3. 基本语法

lsusb [选项]

4. 常用示例

lsusb

输出如下:

Bus 001 Device 003: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 001 Device 002: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

每一行代表一个 USB 设备。


5. 输出字段说明

字段

含义

Bus

USB 总线编号

Device

设备在该总线上的编号(动态分配)

ID xxxx:yyyy

供应商 ID(Vendor ID)和产品 ID(Product ID)

后面是厂商和设备名称

来自 USB ID 数据库


6. 常用选项

选项

说明

-v

显示详细信息(需要 root 权限)

-t

以树状结构显示 USB 拓扑

-s bus:dev

查看指定总线和设备号的详情

-d vid:pid

查看指定 Vendor ID 和 Product ID 的设备

例如:

sudo lsusb -v -d 0bda:8153

7. 常见用途

  • 查看是否识别设备(如 U 盘插入后是否出现)

  • 获取 USB 设备的 PID/VID(用于驱动开发或 udev 规则)

  • 判断设备类型(如蓝牙、网卡、ADB、串口转接头等)

  • 排查硬件连接问题


8. 补充:设备文件可能位于

  • /dev/bus/usb/

  • /sys/bus/usb/devices/

  • /proc/bus/usb/(旧系统)


9. 总结

lsusb 是 Linux 下用于快速查看和诊断 USB 设备连接状态、ID、名称的核心命令,适用于开发、调试和驱动分析场景。


udevadm 是 Linux 系统中用于与 udev(用户空间设备管理器)交互的命令行工具,专门用于管理、监控、调试设备事件和设备属性,特别是在 USB、PCI、串口等热插拔设备场景中非常有用。


📌 udevadm

1. 什么是 udev

  • udev 是 Linux 的动态设备管理机制,负责在设备插拔时自动创建或删除 /dev/ 目录下的设备节点。

  • udevadm 是与它交互的管理员命令工具。


2. 基本语法

udevadm [subcommand] [options]

3. 常用子命令(subcommands)

3.1. udevadm info

用于查询设备的属性和信息(如 ID_VENDOR_ID, ID_MODEL_ID

udevadm info -a -p /sys/class/tty/ttyUSB0

或者用 /dev/ 路径:

udevadm info -a -n /dev/ttyUSB0
  • -n:指定设备节点

  • -a:显示所有匹配属性,包括父设备


3.2. udevadm monitor

实时监控 udev 事件(插拔设备时打印)

udevadm monitor

输出示例:

KERNEL[1234.567]: add /devices/pci0000:00/...
UDEV  [1234.568]: add /devices/pci0000:00/...

也可以加参数区分:

udevadm monitor --kernel --udev

3.3. udevadm trigger

用于手动触发设备的 udev 事件(例如用于测试 udev 规则)

sudo udevadm trigger

可以指定子系统、设备路径:

sudo udevadm trigger --subsystem-match=usb

3.4. udevadm control

控制 udev 的行为,例如重新加载规则:

sudo udevadm control --reload

或开启日志:

sudo udevadm control --log-priority=debug

4. 用例示例:查看 USB 设备的属性

插入一个 USB 设备后:

lsusb
# 假设出现设备 /dev/ttyUSB0

udevadm info -a -n /dev/ttyUSB0

你会看到类似:

ATTRS{idVendor}=="0403"
ATTRS{idProduct}=="6001"
ATTRS{serial}=="A6008iA1"

这些属性可以用于编写 udev 规则,比如为它自动创建符号链接 /dev/mydevice


5. 总结

udevadm 是与 Linux 设备热插拔机制 udev 交互的强大工具,可用于监控、调试、获取设备信息,并支持设备规则的测试与触发。


📌 lsmod


1. 简介

lsmod(list modules)列出当前系统中由内核加载的所有模块(也就是设备驱动、文件系统支持模块、网络协议模块等)。这些模块大多位于 /lib/modules/$(uname -r)/ 下。

在设备驱动、嵌入式系统、自定义内核等场景中经常用到。


2. 基本定义

lsmod 是 Linux 系统中用于**查看内核已加载模块(驱动)**的命令。

3. 基本语法

lsmod

无参数,直接使用。


4. 输出格式说明

Module                  Size  Used by
i915                  123456  3
drm_kms_helper         54321  1 i915
usbcore               234567  5 xhci_hcd, usbhid, ...

字段

说明

Module

模块名(即驱动名称)

Size

模块占用内存大小(字节)

Used by

被使用次数及其依赖模块

例子解释:

  • i915:Intel 显卡驱动

  • 使用次数为 3,drm_kms_helper 依赖于它


5. 常见搭配命令

命令

说明

modinfo <模块名>

查看模块详细信息(作者、依赖、路径等)

modprobe <模块名>

加载模块(推荐方式)

rmmod <模块名>

卸载模块(需无使用者)

insmod xxx.ko

手动加载模块文件(需绝对路径)

例如:

modinfo usbcore
modprobe dummy
rmmod dummy

6. 使用场景

  • 判断驱动模块是否已加载

  • 检查某硬件(如 USB 网卡、摄像头)是否被内核识别

  • 调试驱动开发(加载、卸载 .ko 文件)

  • 排查系统异常(模块冲突、缺失)


7. 注意事项

  • lsmod 实际上读取的是 /proc/modules

  • 不能显示编进内核(built-in)的模块,只能显示动态加载的模块

  • 需 root 权限时请加 sudo


8. 总结

lsmod 是 Linux 查看当前内核已加载模块的首选命令,适用于驱动调试、模块依赖分析、设备问题排查等场景。


📌 getenforce

1. 简介

getenforce 是 Linux 系统中用于查看 SELinux 当前运行状态 的命令。


2. 什么是 SELinux?

SELinux(Security-Enhanced Linux)是一种由 NSA(美国国家安全局)开发的 强制访问控制(MAC) 安全机制,用于强化 Linux 系统的安全性。

它通过策略规则,控制进程访问文件、端口、资源等,远比传统的 Unix 权限机制更细致、更严格。


3. 基本语法

getenforce

4. 输出结果说明

输出结果

含义

Enforcing

SELinux 正在启用并强制执行策略(默认最严格)

Permissive

SELinux 启用但不强制,仅记录违规行为(调试模式)

Disabled

SELinux 已关闭,不启用任何安全策略


5. 示例

$ getenforce
Enforcing

表示 SELinux 正在运行并强制执行策略。


6. 补充命令

命令

功能

setenforce 0

切换为 Permissive 模式(需 root)

setenforce 1

切换为 Enforcing 模式

sestatus

查看 SELinux 当前详细状态

编辑 /etc/selinux/config

设置开机是否启用 SELinux


7. 注意事项

  • getenforce 只显示当前运行状态,不修改任何设置。

  • setenforce 临时生效,重启后失效,需修改配置文件永久生效

  • 如果你在 Android 或某些嵌入式系统里,也可以看到 SELinux,但可能用不同机制管理。


8. 总结

getenforce 是一个简单但关键的命令,用来查看 SELinux 是否启用及其当前模式,通常用于安全排查、权限调试、服务部署前检查。


📌 setenforce


1. 简介

setenforce 可以让你在运行时把 SELinux 的模式切换为:

  • Enforcing(强制模式):所有 SELinux 策略都会被严格执行。

  • Permissive(宽容模式):SELinux 会记录违规操作但不阻止。


2. 基本定义

setenforce 是 Linux 系统中用于临时切换 SELinux 模式的命令,用于在不重启的情况下改变 SELinux 的运行状态。

3. 基本语法

setenforce [0|1]

或:

setenforce [Permissive|Enforcing]

4. 示例

sudo setenforce 0

将 SELinux 设置为 Permissive 模式(只记录违规,不拦截)

sudo setenforce 1

恢复为 Enforcing 模式(默认,严格限制)


5. 使用场景

场景

原因

某服务被拒绝访问端口/文件

临时关闭 SELinux 来判断是否是 SELinux 策略导致

开发调试新服务/脚本

使用 Permissive 模式避免调试中频繁触发策略

临时绕过安全策略

比如为了安装某些软件或迁移配置时规避麻烦


6. 注意事项

  • 这个命令 只影响当前运行状态重启后会恢复配置文件中设定的模式

  • 想永久修改,要编辑配置文件:

sudo vi /etc/selinux/config

将其中内容改为:

SELINUX=permissive

然后重启生效。


7. 检查当前模式

执行:

getenforce

sestatus

8. 总结

setenforce 是切换 SELinux 模式的快速命令,适合临时排查问题和调试,但不用于永久修改系统安全策略。


📌 zcat

1. 基本定义

zcat 是 Linux 系统中用于查看 压缩文件内容(gzip 格式) 的命令,作用类似于 cat,但它可以直接读取 .gz 文件 而无需手动解压


2. 简介

zcat 相当于 cat + gunzip,它会将 .gz 压缩文件在内存中解压后输出内容,不会修改原始文件。


3. 基本语法

zcat [压缩文件.gz]

4. 示例

zcat /var/log/syslog.1.gz

输出该压缩日志文件的内容(无需解压到磁盘)

zcat file.gz | grep "error"

查找压缩文件中包含关键字 error 的行。


5. 与其他命令区别

命令

功能

cat

查看普通文本文件

zcat

查看 .gz 压缩文件

gzcat

某些系统中是 zcat 的别名(如 macOS)

gunzip

解压 .gz 文件


6. 多文件支持

zcat file1.gz file2.gz

会将多个 .gz 文件内容连续输出。


7. 常用组合命令

zcat access.log.1.gz | less
zcat archive.log.gz | grep "timeout"

8. 总结

zcat 用于直接查看 .gz 压缩文件内容,是分析日志、调试数据、处理归档时非常高效的工具,不需要先解压。


1. 简介

ip link show 是 Linux 系统中用于查看 网络接口(网卡)状态与配置 的命令,属于 ip 命令工具集的一部分,功能类似于老的 ifconfig,但更强大、现代、标准。


2. 命令说明

ip link show 显示的是网络接口的低层信息(如接口状态、MAC 地址、MTU、是否启用等),不显示 IP 地址(IP 地址用 ip addr show)。


3. 基本语法

ip link show [interface]
  • 不加参数:显示所有网络接口

  • 指定接口:只显示某一个(如 ip link show eth0


4. 示例输出

$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff

字段

含义

lo

回环接口(loopback)

eth0 / enp0s3

网卡接口名(物理或虚拟)

UP

接口已启用(ip link set eth0 up

LOWER_UP

物理连接也通(网线/无线 OK)

mtu

最大传输单元大小

link/ether

网卡的 MAC 地址


5. 相关操作命令

操作

命令

启用接口

sudo ip link set eth0 up

禁用接口

sudo ip link set eth0 down

修改 MAC 地址(临时)

sudo ip link set dev eth0 address 00:11:22:33:44:55

修改 MTU

sudo ip link set dev eth0 mtu 1400

改名接口(需先 down)

sudo ip link set eth0 name net0


6. 总结

ip link show 是查看和管理 Linux 网络接口状态的基础命令,用于替代 ifconfig 查看网卡是否启用、MAC 地址、连接状态等底层信息。


📌 iw dev

1. 简介

iw dev 是用于显示 Linux 无线网卡(Wi-Fi 设备)详细信息 的命令,属于现代无线工具集 iw,用来替代旧的 iwconfig


2. 命令说明

iw dev

用于列出系统中所有无线设备(interface)及其相关信息,比如:

  • 接口名称(如 wlan0

  • 设备支持的模式(如 station/AP/monitor)

  • 当前工作频率(channel)

  • 信道宽度、功率

  • MAC 地址(addr)

  • 接入点(AP)信息(如已连接时)


3. 示例输出

$ iw dev
phy#0
	Interface wlan0
		ifindex 3
		wdev 0x1
		addr 1c:3e:84:9a:12:34
		type managed
		txpower 20.00 dBm

字段

含义说明

phy#0

无线物理设备编号(一个物理设备可支持多个 interface)

Interface

逻辑接口名称(如 wlan0)

type

接口类型,常见如:managed - 普通客户端模式(station)AP - 作为热点monitor - 嗅探模式(抓包)

addr

无线接口的 MAC 地址

txpower

发射功率


4. 常见搭配命令

功能

命令示例

显示无线信息

iw dev

查看当前连接信息

iw dev wlan0 link

设置信道(需 root)

iw dev wlan0 set channel 6

设置接口类型

iw dev wlan0 set type monitor

创建虚拟接口

iw phy phy0 interface add mon0 type monitor

删除接口

iw dev mon0 del


5. 总结

iw dev 是查看无线网卡接口及其状态(模式、频率、功率等)的命令,是无线调试、抓包、配置 AP/Monitor 模式的常用入口。


📌 ifconfig

1. 简介

ifconfig 是 Linux 系统中 查看和配置网络接口(网卡) 的经典命令,属于 net-tools 套件,曾经是网络调试的主力工具。

虽然已被 ip 命令(如 ip addr, ip link)所取代,但在很多嵌入式系统和老系统中仍在使用。


2. 基本用途

ifconfig        # 查看所有活动(UP)接口
ifconfig -a     # 查看所有接口,包括未启用的
ifconfig eth0   # 查看指定接口

3. 示例输出解析

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::1c3e:84ff:fe9a:1234  prefixlen 64  scopeid 0x20<link>
        ether 1c:3e:84:9a:12:34  txqueuelen 1000  (Ethernet)
        RX packets 10231  bytes 1248242 (1.2 MB)
        TX packets 9813   bytes 1123999 (1.1 MB)

字段

含义

eth0

接口名称

inet

IPv4 地址

netmask

子网掩码

broadcast

广播地址

ether

MAC 地址

RX/TX packets

接收/发送的包数量

flags

接口状态,如 UP, RUNNING 表示启用并连接正常


4. 网络配置示例(临时)

需要 root 权限!

# 设置 IP 和子网掩码
sudo ifconfig eth0 192.168.1.123 netmask 255.255.255.0

# 启用接口
sudo ifconfig eth0 up

# 禁用接口
sudo ifconfig eth0 down

# 修改 MAC 地址
sudo ifconfig eth0 hw ether 00:11:22:33:44:55

⚠️ 注意:这些修改是临时的,重启系统后会丢失。


5. 总结

ifconfig 是传统的网卡查看与配置工具,在新系统中推荐使用 ip addr, ip link 等现代替代命令。


现代发行版(如 Ubuntu 20+、Arch、Debian 10+),默认可能没有安装 ifconfig,可以通过以下方式手动安装:

sudo apt install net-tools    # Debian/Ubuntu
sudo yum install net-tools    # RHEL/CentOS

📌 iwconfig

1. 简介

iwconfig 类似于有线网络的 ifconfig,但专门针对无线设备,用于查看无线网卡的状态、信号强度、频率、模式等信息,也能设置无线参数(如 ESSID、频道等)。


2. 基本定义

iwconfig 是 Linux 中用于 查看和配置无线网络接口参数 的经典命令,属于 wireless-tools 套件。


3. 基本用法

iwconfig            # 显示所有无线接口信息
iwconfig wlan0      # 查看指定无线接口信息
iwconfig wlan0 essid MyWiFi   # 设置连接的无线网络名(SSID)
iwconfig wlan0 channel 6      # 设置无线频道

4. 常见输出示例

wlan0     IEEE 802.11  ESSID:"MyWiFi"
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:11:22:33:44:55
          Bit Rate=54 Mb/s   Tx-Power=20 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=70/70  Signal level=-40 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

字段

含义

ESSID

无线网络名(SSID)

Mode

工作模式(如 Managed 客户端)

Frequency

信道频率

Access Point

连接的 AP MAC 地址

Bit Rate

连接速度

Tx-Power

发射功率

Link Quality

信号质量

Signal level

信号强度


5. 常用操作

  • 连接指定网络

sudo iwconfig wlan0 essid "YourSSID"
  • 更改频道

sudo iwconfig wlan0 channel 11
  • 关闭无线接口的功率管理

sudo iwconfig wlan0 power off

6. 注意事项

  • iwconfig 主要用于较旧的无线设备和驱动,新的 Linux 发行版和驱动推荐使用 iw 命令工具。

  • 有些现代无线设备驱动不支持 iwconfig,功能有限。

  • iwconfig 不管理 IP 地址,只管无线参数,IP 地址管理还是用 ifconfigip


7. 总结一句话

iwconfig 是查看和设置无线网卡参数的传统工具,适合快速查看信号强度和配置无线网络,但在现代系统中多用 iw 替代。


📌 netstat

1. 简介

netstat (network statistics)显示当前网络连接(TCP、UDP)、路由表、接口流量统计、端口监听状态等信息,是排查网络问题和查看端口使用情况的重要工具。


2. 基本定义
netstat 是 Linux/Unix 系统中用于 查看网络连接状态和统计信息 的经典命令。


3. 基本语法

netstat [选项]

4. 常用选项

选项

作用

-a

显示所有连接,包括监听和非监听的

-t

只显示 TCP 连接

-u

只显示 UDP 连接

-l

只显示监听状态的套接字

-n

以数字形式显示地址和端口(不解析域名)

-p

显示哪个进程(PID)在使用该端口

-r

显示路由表

-i

显示网络接口统计信息

-s

显示网络协议统计信息


5. 经典用法示例

netstat -tuln

显示所有监听的 TCP 和 UDP 端口(数字形式)

netstat -anp | grep 80

查看哪个进程监听或使用了 80 端口

netstat -r

查看路由表

netstat -i

查看网络接口流量统计


6. 替代工具

  • 新版 Linux 发行版推荐用 ss 替代 netstat,如:

ss -tuln
  • ip route 替代 netstat -r


7. 总结

netstat 是查看网络连接、端口监听、路由表和网络统计的传统命令,适合诊断网络问题和分析端口使用。