详解Linux系统中的lsmod、lsof、lspci、lsscsi命令及实例
原创Linux系统中的lsmod、lsof、lspci、lsscsi命令详解及实例
在Linux系统中,管理员和开发者经常性需要使用各种命令来监控和管理系统资源。本文将详细介绍四个常用的命令:lsmod、lsof、lspci和lsscsi,并给出相应的实例。
1. lsmod命令
`lsmod`命令用于列出当前系统加载的所有内核模块。内核模块是Linux内核的一部分,它们可以在系统运行时动态地加载和卸载。
### 1.1 命令用法
bash
lsmod [选项]
### 1.2 常用选项
- `-v`:显示每个模块的版本信息。
- `-n`:以数字形式显示模块的编号。
- `-m`:列出每个模块的路径。
### 1.3 实例
bash
[root@server ~]# lsmod
Module Size Used by
vhost_net 28416 0
nf_conntrack 12204 1 vhost_net
nf_conntrack_ipv4 43552 1 nf_conntrack
xt_conntrack 16384 1 nf_conntrack_ipv4
在这个例子中,我们可以看到当前系统加载了三个内核模块:vhost_net、nf_conntrack和nf_conntrack_ipv4。
2. lsof命令
`lsof`命令用于列出打开的文件描述符和进程信息。它可以显示所有进程打开的文件和目录信息,包括文件名、进程ID、用户ID等。
### 2.1 命令用法
bash
lsof [选项] [文件或目录]
### 2.2 常用选项
- `-p PID`:显示指定进程ID打开的文件。
- `-u 用户名`:显示指定用户打开的文件。
- `-i [协议] [地址]`:显示指定协议和地址的套接字信息。
### 2.3 实例
bash
[root@server ~]# lsof -i tcp:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 1234 user 4u IPv4 16394 0t0 TCP *:80 (LISTEN)
在这个例子中,我们可以看到进程ID为1234的用户user正在监听80端口的TCP连接。
3. lspci命令
`lspci`命令用于列出所有PCI设备的信息。PCI(外围组件互连)是计算机中用于连接各种硬件设备的标准接口。
### 3.1 命令用法
bash
lspci [选项]
### 3.2 常用选项
- `-v`:显示详细的信息,包括设备的厂商、型号、中断号等。
- `-nn`:以数字形式显示设备名和厂商名。
### 3.3 实例
bash
[root@server ~]# lspci -vnn
00:00.0 Host bridge : Intel Corporation 4 Series Chipset DRAM Controller [8086:3A3A] (rev 04)
00:01.0 PCI bridge : Intel Corporation 4 Series Chipset PCI Express Root Port 1 [8086:3A3C] (rev 04)
00:1A.0 USB Controller : Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2920] (rev 02)
00:1A.1 USB Controller : Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 [8086:2920] (rev 02)
...
在这个例子中,我们可以看到系统中安装的PCI设备及其详细信息。
4. lsscsi命令
`lsscsi`命令用于列出系统中的所有SCSI设备。SCSI(小型计算机系统接口)是一种用于连接硬盘、光盘等存储设备的接口。
### 4.1 命令用法
bash
lsscsi [选项]
### 4.2 常用选项
- `-v`:显示详细的信息,包括设备型号、序列号等。
- `-n`:仅显示设备名称。
### 4.3 实例
bash
[root@server ~]# lsscsi
0 0:0:0:0 /dev/sda ATA WDC WD1002FAEX-0 1001 4.00 512 1000204816
1 0