Наиболее полезные команды для проверки информации о системе и оборудовании в Linux
Вступление
Ключевой навык, которым вы должны обладать как системный администратор Linux, — это знать, как просматривать информацию об установленном в настоящее время оборудовании в вашей системе.
В этом уроке мы рассмотрим различные инструменты, которые вы можете использовать для этого.
1. Изучение файловой системы / proc
Хотите верьте, хотите нет — одним из лучших инструментов для просмотра информации об оборудовании является старый добрый /proc
каталог.
Теперь мы поговорили о /proc
до.
Помните /proc
Каталог на самом деле не существует в файловой системе, вместо этого это псевдофайловая система, которая динамически создается при каждом доступе к ней.
Теперь, как вы можете видеть здесь, /proc
Каталог содержит множество подкаталогов, и каждый из этих подкаталогов, которые вы видите здесь синим цветом, представляет процесс, который в настоящее время выполняется в вашей системе.
Если вы хотите просмотреть информацию о конкретном процессе, вы можете зайти в соответствующий каталог здесь и там, вы найдете информацию об этом запущенном процессе.
# ls /proc/
985 driver loadavg slabinfo 1 11 1345 154 1646 17508 1831 2 2174 2336 2428 2492 2675 464 617
986 execdomains locks softirqs 10 1100 1355 155 165 1751 1839 20 2182 2337 2430 25 2681 465 648
987 fb mdstat stat 1004 1160 1360 156 16599 1753 1849 2000 2195 2341 2432 2525 27 470 8
990 filesystems meminfo swaps 1006 1161 1365 157 166 17550 19 2004 22 2344 2440 2532 2741 483 836
991 fs misc sys 1009 1169 1371 158 167 17551 1930 2008 2201 2349 2442 2549 2748 484 9
acpi interrupts modules sysrq-trigger 1014 1184 1423 1585 168 17569 1934 2013 2205 2352 2450 2551 28 509 920
asound iomem mounts sysvipc 1015 1188 146 1586 169 176 1937 2019 2210 2363 2452 2570 29 510 921
buddyinfo ioports mpt thread-self 1018 1191 1466 159 17 17609 1941 2021 2216 2368 2453 2572 3 511 946
bus irq mtrr timer_list 1019 1197 147 16 170 177 1949 2031 2225 2371 2456 2598 30 512 948
cgroups kallsyms net tty 1022 12 148 160 17039 178 1953 2040 2275 2385 2457 26 4 513 950
cmdline kcore pagetypeinfo uptime 1038 12766 149 161 171 179 1974 2044 2295 2389 2469 2602 450 514 962
consoles keys partitions version 1043 12785 15 1612 172 18 1981 2048 23 2393 2470 2605 451 515 963
cpuinfo key-users pressure vmallocinfo 1046 12938 150 162 17285 180 1985 2051 2303 2397 2474 2606 454 516 978
crypto kmsg sched_debug vmstat 1048 12939 151 1626 173 181 1989 2073 2320 24 2475 2609 455 517 979
devices kpagecgroup schedstat zoneinfo 1068 12951 1518 16291 17341 182 1991 2092 2323 2409 2476 2613 457 53 982
diskstats kpagecount scsi 1070 12952 152 163 174 1827 1992 21 2328 2410 2482 2625 462 6 983
dma kpageflags self 1077 13 153 164 175 183 1996 2166 2331 2426 2489 2653 463 6131 984
Но на этом уроке нас беспокоит не это.
Нас беспокоят другие файлы в этом каталоге, которые содержат информацию об оборудовании в вашей системе.
1.1 / proc / cpuinfo объяснил
Например, /proc/cpuinfo
Файл содержит подробную информацию о процессоре, установленном в системе.
И поскольку это всего лишь текстовый файл, вы можете использовать cat
, less
, more
или любой другой текстовый редактор, в котором вы хотите просмотреть содержимое этого файла.
Предлагаемое чтение: Примеры команд cat в Linux
В этом примере я использую cat
команда для просмотра cpuinfo
файл в этой конкретной системе, и когда мы это сделаем, я узнаю, что у меня есть Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz
и прямо здесь он говорит мне, что это 1-ядерный процессор.
Я также могу видеть, сколько кэш-памяти доступно на этом процессоре, в файле cpuinfo отображается дополнительная информация, которую мы можем одновременно отображать на экране.
# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 78
model name : Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz
stepping : 3
microcode : 0xcc
cpu MHz : 2495.999
cache size : 3072 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves arat md_clear flush_l1d arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 4991.99
clflush size : 64
cache_alignment : 64
address sizes : 45 bits physical, 48 bits virtual
power management:
1.2 / proc / устройства
Кроме того, здесь есть еще один файл с именем /proc/devices
.
Файл устройств содержит список всех аппаратных устройств, установленных в системе.
# cat /proc/devices
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs
10 misc
13 input
14 sound
21 sg
29 fb
116 alsa
128 ptm
136 pts
162 raw
180 usb
188 ttyUSB
189 usb_device
202 cpu/msr
203 cpu/cpuid
216 rfcomm
226 drm
243 aux
244 hidraw
245 usbmon
246 bsg
247 watchdog
248 ptp
249 pps
250 cec
251 rtc
252 dax
253 tpm
254 gpiochip
Block devices:
8 sd
9 md
11 sr
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
259 blkext
1.3 / proc / dma
Здесь есть еще один файл под названием /proc/dma
, он содержит список всех dma
назначения каналов в системе.
# cat /proc/dma
4: cascade
1.4 / proc / interrupts
Еще один интересный файл — это /proc/interrupts
файла, здесь показано содержимое образца файла прерываний.
Как видите, он содержит список IRQ
назначения в системе.
Например, мы видим, что наши два ATA
Контроллеры в системе назначены на прерывания 14 и 15, Наш сетевой порт назначен на использование прерывания 19, Наш USB
портам назначены прерывания 17 и 18.
# cat interrupts
CPU0
0: 90 IO-APIC 2-edge timer
1: 13352 IO-APIC 1-edge i8042
8: 1 IO-APIC 8-edge rtc0
9: 0 IO-APIC 9-fasteoi acpi
12: 191742 IO-APIC 12-edge i8042
14: 0 IO-APIC 14-edge ata_piix
15: 56679 IO-APIC 15-edge ata_piix
16: 79971 IO-APIC 16-fasteoi vmwgfx, snd_ens1371
17: 375078 IO-APIC 17-fasteoi ehci_hcd:usb1, ioc0
18: 976 IO-APIC 18-fasteoi uhci_hcd:usb2
19: 223499 IO-APIC 19-fasteoi ens33
24: 0 PCI-MSI 344064-edge PCIe PME, pciehp
25: 0 PCI-MSI 346112-edge PCIe PME, pciehp
26: 0 PCI-MSI 348160-edge PCIe PME, pciehp
27: 0 PCI-MSI 350208-edge PCIe PME, pciehp
28: 0 PCI-MSI 352256-edge PCIe PME, pciehp
29: 0 PCI-MSI 354304-edge PCIe PME, pciehp
30: 0 PCI-MSI 356352-edge PCIe PME, pciehp
31: 0 PCI-MSI 358400-edge PCIe PME, pciehp
32: 0 PCI-MSI 360448-edge PCIe PME, pciehp
33: 0 PCI-MSI 362496-edge PCIe PME, pciehp
34: 0 PCI-MSI 364544-edge PCIe PME, pciehp
35: 0 PCI-MSI 366592-edge PCIe PME, pciehp
36: 0 PCI-MSI 368640-edge PCIe PME, pciehp
37: 0 PCI-MSI 370688-edge PCIe PME, pciehp
38: 0 PCI-MSI 372736-edge PCIe PME, pciehp
39: 0 PCI-MSI 374784-edge PCIe PME, pciehp
40: 0 PCI-MSI 376832-edge PCIe PME, pciehp
41: 0 PCI-MSI 378880-edge PCIe PME, pciehp
42: 0 PCI-MSI 380928-edge PCIe PME, pciehp
43: 0 PCI-MSI 382976-edge PCIe PME, pciehp
44: 0 PCI-MSI 385024-edge PCIe PME, pciehp
45: 0 PCI-MSI 387072-edge PCIe PME, pciehp
46: 0 PCI-MSI 389120-edge PCIe PME, pciehp
47: 0 PCI-MSI 391168-edge PCIe PME, pciehp
48: 0 PCI-MSI 393216-edge PCIe PME, pciehp
49: 0 PCI-MSI 395264-edge PCIe PME, pciehp
50: 0 PCI-MSI 397312-edge PCIe PME, pciehp
51: 0 PCI-MSI 399360-edge PCIe PME, pciehp
52: 0 PCI-MSI 401408-edge PCIe PME, pciehp
53: 0 PCI-MSI 403456-edge PCIe PME, pciehp
54: 0 PCI-MSI 405504-edge PCIe PME, pciehp
55: 0 PCI-MSI 407552-edge PCIe PME, pciehp
56: 7782 PCI-MSI 129024-edge vmw_vmci
57: 0 PCI-MSI 129025-edge vmw_vmci
NMI: 0 Non-maskable interrupts
LOC: 3863622 Local timer interrupts
SPU: 0 Spurious interrupts
PMI: 0 Performance monitoring interrupts
IWI: 0 IRQ work interrupts
RTR: 0 APIC ICR read retries
RES: 0 Rescheduling interrupts
CAL: 0 Function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
THR: 0 Threshold APIC interrupts
DFR: 0 Deferred Error APIC interrupts
MCE: 0 Machine check exceptions
MCP: 177 Machine check polls
HYP: 0 Hypervisor callback interrupts
HRE: 0 Hyper-V reenlightenment interrupts
HVS: 0 Hyper-V stimer0 interrupts
ERR: 0
MIS: 0
PIN: 0 Posted-interrupt notification event
NPI: 0 Nested posted-interrupt event
PIW: 0 Posted-interrupt wakeup event
1.5 / proc / iomem
Здесь также есть файл под названием /proc/iomem
который содержит список I/O
назначения портов в системе.
# cat /proc/iomem
00000000-00000fff : Reserved
00001000-0009ebff : System RAM
0009ec00-0009ffff : Reserved
000a0000-000bffff : PCI Bus 0000:00
000c0000-000c7fff : Video ROM
000ca000-000cafff : Adapter ROM
000cc000-000cffff : PCI Bus 0000:00
000d0000-000d3fff : PCI Bus 0000:00
000d4000-000d7fff : PCI Bus 0000:00
000d8000-000dbfff : PCI Bus 0000:00
000dc000-000fffff : Reserved
000f0000-000fffff : System ROM
00100000-3fedffff : System RAM
1aa00000-1b6013f0 : Kernel code
1b6013f1-1be19eff : Kernel data
1c5ad000-1cbfffff : Kernel bss
2a000000-33ffffff : Crash kernel
3fee0000-3fefefff : ACPI Tables
3feff000-3fefffff : ACPI Non-volatile Storage
3ff00000-3fffffff : System RAM
1.6 / proc / модули
Еще один очень полезный файл — это /proc/modules
файл, этот файл содержит список всех модулей ядра, которые в настоящее время используются системой.
Пример /proc/modules
файл показан здесь.
Я только что использовал cat
, чтобы просмотреть его, и здесь вы можете увидеть все различные загруженные модули ядра, такие как наш драйвер Bluetooth, который используется для обеспечения поддержки устройств Bluetooth в системе.
# cat /proc/modules
uinput 20480 1 - Live 0xffffffffc0adb000
fuse 131072 3 - Live 0xffffffffc0a3d000
rfcomm 86016 6 - Live 0xffffffffc0871000
xt_CHECKSUM 16384 1 - Live 0xffffffffc0a34000
ipt_MASQUERADE 16384 1 - Live 0xffffffffc0a2f000
xt_conntrack 16384 1 - Live 0xffffffffc0a2a000
ipt_REJECT 16384 1 - Live 0xffffffffc0a23000
nft_counter 16384 16 - Live 0xffffffffc0a1e000
nf_nat_tftp 16384 0 - Live 0xffffffffc0a19000
nft_objref 16384 1 - Live 0xffffffffc0a14000
nf_conntrack_tftp 16384 3 nf_nat_tftp, Live 0xffffffffc0a0f000
tun 53248 1 - Live 0xffffffffc0a01000
bridge 192512 0 - Live 0xffffffffc09cf000
stp 16384 1 bridge, Live 0xffffffffc09ca000
llc 16384 2 bridge,stp, Live 0xffffffffc09c5000
bluetooth 634880 27 rfcomm,bnep,btusb,btrtl,btbcm,btintel, Live 0xffffffffc05a9000
ecdh_generic 24576 1 bluetooth, Live 0xffffffffc051f000
rfkill 28672 5 bluetooth, Live 0xffffffffc02ba000
1.7 / proc / scsi / Справочник объяснил
Здесь есть подпапка с именем scsi
.
В scsi
каталог содержит дополнительные файлы, содержащие информацию о различных scsi
устройства в вашей системе.
# ls /proc/scsi/
device_info mptspi scsi sg
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: VMware, Model: VMware Virtual S Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: VMware, Model: VMware Virtual S Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 02 Lun: 00
Vendor: VMware, Model: VMware Virtual S Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 03 Lun: 00
Vendor: VMware, Model: VMware Virtual S Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00
Type: CD-ROM ANSI SCSI revision: 05
1.8 / proc / bus / Справочник объяснил
Здесь также есть папка под названием bus
, в bus
это файл с именем devices
который содержит информацию о различных USB
устройства в системе.
# ls /proc/bus/
input pci
# ls /proc/bus/input/
devices handlers
# cat devices
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=3
B: KEY=10000000000000 0
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input1
U: Uniq=
H: Handlers=sysrq kbd leds event1
B: PROP=0
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
I: Bus=0011 Vendor=0002 Product=0013 Version=0006
N: Name="VirtualPS/2 VMware VMMouse"
P: Phys=isa0060/serio1/input1
S: Sysfs=/devices/platform/i8042/serio1/input/input4
U: Uniq=
H: Handlers=mouse0 event2
B: PROP=0
B: EV=b
B: KEY=70000 0 0 0 0
B: ABS=3
1.9 / proc / diskstats
В /proc/diskstats
файл отображает I/O
статистика блочных устройств. Каждая строка содержит следующие 14 полей:
- Главный номер
- Второстепенное число
- Имя устройства
- Чтения успешно завершены
- Читает объединено
- Секторы читают
- Время, потраченное на чтение (мс)
- Пишет завершено
- Пишет слито
- Секторы написаны
- время, затраченное на написание (мс)
- Операции ввода-вывода в настоящее время выполняются
- Время, затраченное на ввод / вывод (мс)
- Взвешенное время, затраченное на операции ввода-вывода (мс)
Пример /proc/diskstats
файл показан здесь.
# cat /proc/diskstats
8 0 sda 364602 84167 34602359 214193 42116 376022 4221929 47325 0 190620 134354 0 0 0 0
8 1 sda1 599 0 100694 288 17 4 96 6 0 503 105 0 0 0 0
8 2 sda2 142790 83948 1850352 77867 21907 373586 3163944 32211 0 79272 61332 0 0 0 0
8 3 sda3 221046 219 32616689 135978 20192 2432 1057889 15107 0 130180 72903 0 0 0 0
8 16 sdb 7248 0 486546 961 698 830 350550 307 0 3220 164 0 0 0 0
8 17 sdb1 435 0 28880 80 127 83 50841 57 0 347 30 0 0 0 0
8 18 sdb2 414 0 29288 34 23 0 1915 4 0 168 3 0 0 0 0
8 19 sdb3 454 0 28576 40 126 83 50833 55 0 260 22 0 0 0 0
8 32 sdc 2201 0 163248 265 131 0 11523 53 0 1213 41 0 0 0 0
8 48 sdd 1609 0 137440 212 129 0 11507 57 0 1086 36 0 0 0 0
11 0 sr0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
253 0 dm-0 310 0 9616 51 189 0 49302 139 0 169 190 0 0 0 0
253 1 dm-1 262 0 7528 29 189 0 49302 88 0 127 117 0 0 0 0
Источник: kernel.org
1.10 / proc / swaps
/proc/swaps
измеряет пространство подкачки и его использование.
Этот файл предоставляет снимок каждого имени файла подкачки, типа пространства подкачки, общего размера и количества используемого пространства (в килобайтах).
# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 2097148 718592 -2
Предлагаемое чтение: Как создать раздел подкачки в Linux
1.11 / proc / файловые системы
/proc/filesystems
file отображает список типов файловых систем, поддерживаемых в настоящее время ядром.
# cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev ramfs
nodev bdev
nodev proc
nodev cpuset
nodev cgroup
nodev cgroup2
nodev tmpfs
nodev devtmpfs
nodev configfs
nodev debugfs
nodev tracefs
nodev securityfs
nodev sockfs
nodev bpf
nodev pipefs
nodev hugetlbfs
nodev devpts
nodev autofs
nodev pstore
nodev mqueue
nodev selinuxfs
xfs
ext3
ext2
ext4
nodev rpc_pipefs
fuseblk
nodev fuse
nodev fusectl
1.12 / proc / разделы
/proc/partitions
: Этот файл содержит информацию о распределении блоков разделов.
# cat /proc/partitions
major minor #blocks name
8 0 20971520 sda
8 1 307200 sda1
8 2 2097152 sda2
8 3 18566144 sda3
8 16 3145728 sdb
8 17 512000 sdb1
8 18 512000 sdb2
8 19 512000 sdb3
8 32 3145728 sdc
8 48 3145728 sdd
11 0 1048575 sr0
253 0 512000 dm-0
253 1 512000 dm-1
Предлагаемое чтение:
1.13 / proc / meminfo
Это один из наиболее часто используемых файлов в /proc
каталог, так как он сообщает большой объем ценной информации об использовании оперативной памяти системой.
# cat meminfo
MemTotal: 810492 kB
MemFree: 85700 kB
MemAvailable: 141600 kB
Buffers: 64 kB
Cached: 148356 kB
SwapCached: 59496 kB
Active: 214320 kB
Inactive: 178792 kB
Active(anon): 130152 kB
Inactive(anon): 125584 kB
Active(file): 84168 kB
Inactive(file): 53208 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 2097148 kB
SwapFree: 1371388 kB
Dirty: 32 kB
Writeback: 0 kB
AnonPages: 237956 kB
Mapped: 64296 kB
Shmem: 11044 kB
KReclaimable: 55044 kB
Slab: 166788 kB
SReclaimable: 55044 kB
SUnreclaim: 111744 kB
KernelStack: 11436 kB
PageTables: 49720 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 2502392 kB
Committed_AS: 4800280 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Percpu: 57856 kB
HardwareCorrupted: 0 kB
AnonHugePages: 81920 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 286592 kB
DirectMap2M: 761856 kB
DirectMap1G: 0 kB
1.14 / proc / время безотказной работы
Этот файл содержит подробную информацию о том, как долго система была включена с момента последнего перезапуска.
# cat /proc/uptime
69274.12 67735.13
1.15 / proc / версия
В этом файле указывается версия ядра Linux, версия gcc
используется для компиляции ядра и время компиляции ядра. Он также содержит имя пользователя компилятора ядра.
# cat /proc/version
Linux version 4.18.0-193.el8.x86_64 ([email protected]) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri May 8 10:59:10 UTC 2020
Вы также можете получить ту же информацию, используя команда uname.
# uname -a
Linux localhost.localdomain 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
2. Изучение файловой системы / sys
Теперь помимо /proc
directory есть еще один каталог в вашей файловой системе Linux с именем /sys
а также предоставляет информацию об оборудовании, установленном в системе.
Теперь файловая система внутри /sys
фактически организована в виде древовидной структуры, сгруппированной по аппаратной шине, аппаратным устройствам и связанным с ними драйверам.
Верхний уровень /sys
Здесь показан каталог, который содержит множество подкаталогов для организации этой информации.
# ls /sys/
block bus class dev devices firmware fs hypervisor kernel module power
Например, каталог блоков содержит файл символической ссылки для каждого блочного устройства в системе.
2.1 / sys / bus / Справочник объяснил
Каталог шины содержит каталог для каждой шины данных в системе, такой как ваш PCI
автобус, твой scsi
автобус и твой USB
автобус.
Кроме того, в каждом каталоге шины есть два подкаталога, которые называются устройствами и драйверами.
# cd /sys/bus/
# ls
ac97 clockevents cpu event_source i2c memory nvmem platform serio thunderbolt usb-serial xen
acpi clocksource dax gpio machinecheck mipi-dsi pci pnp snd_seq typec virtio
cec container edac hid mdio_bus node pci_express scsi spi usb workqueue
# ls cpu/
devices drivers drivers_autoprobe drivers_probe uevent
# ls memory/
devices drivers drivers_autoprobe drivers_probe uevent
Они показаны прямо здесь. Я внутри каталога шины USB.
# cd usb/
# ls
devices drivers drivers_autoprobe drivers_probe uevent
В устройства подкаталог содержит записи для каждого устройства, подключенного к этой шине, в то время как водители Каталог содержит подкаталоги для каждого драйвера, загруженного для данного устройства на этой шине.
2.2 Объяснение / sys / class /, / sys / devices /, / sys / module / Каталоги
Теперь в рамках /sys
сам каталог — это каталог, называемый класс.
# ls /sys/
block bus class dev devices firmware fs hypervisor kernel module power
В /sys/class
Каталог содержит список всех доступных классов устройств.
В /sys/devices
Каталог содержит запись для каждого аппаратного устройства, обнаруженного в системе.
Здесь также есть каталог под названием /sys/module
.
Сейчас /sys/module
Каталог содержит множество подкаталогов, по одному для каждого модуля, загруженного в ядро в данный момент.
Например, вот наш подкаталог для модуля ядра Bluetooth, драйвера мыши, подкаталог для нашего драйвера клавиатуры и так далее.
# cd /sys/module/
8250 debug_core intel_rapl_common nf_conntrack nft_reject slab_common tpm_tis_core
ac97_bus dm_mod intel_rapl_msr nf_conntrack_ipv4 nft_reject_inet snd ttm
acpi drm intel_rapl_perf nf_conntrack_ipv6 page_alloc snd_ac97_codec tun
acpiphp drm_kms_helper ip6_tables nf_conntrack_tftp pcie_aspm snd_ens1371 uhci_hcd
ata_generic dynamic_debug ip_set nf_defrag_ipv4 pciehp snd_pcm uinput
ata_piix e1000 ip_tables nf_defrag_ipv6 pci_hotplug snd_rawmidi usbcore
battery ecdh_generic ipt_MASQUERADE nf_nat pcmcia_core snd_seq usbhid
blk_cgroup edac_core ipt_REJECT nf_nat_ipv4 pcspkr snd_seq_device uv_nmi
block efi_pstore ipv6 nf_nat_ipv6 printk snd_seq_midi virtio_pci
bluetooth efivars jbd2 nf_nat_tftp processor snd_seq_midi_event vmd
bnep ehci_hcd joydev nfnetlink psmouse snd_timer vmw_balloon
bridge ext4 kdb nf_reject_ipv4 pstore soundcore vmwgfx
btbcm fb kernel nf_reject_ipv6 random spurious vmw_vmci
btintel fb_sys_fops keyboard nf_tables rcupdate srcutree vmw_vsock_vmci_transport
btrtl firmware_class kgdboc nf_tables_set rcutree sr_mod vsock
btusb fuse kgdbts nft_chain_nat_ipv4 rfcomm stp vt
button ghash_clmulni_intel libata nft_chain_nat_ipv6 rfkill sunrpc watchdog
cdrom haltpoll libcrc32c nft_chain_route_ipv4 rng_core suspend workqueue
cec hid llc nft_chain_route_ipv6 rtc_cmos syscopyarea xfs
configfs hid_magicmouse mbcache nft_compat scsi_dh_alua sysfillrect xhci_hcd
cpufreq hid_ntrig md_mod nft_counter scsi_dh_rdac sysimgblt xt_CHECKSUM
cpuidle i2c_piix4 module nft_ct scsi_mod sysrq xt_conntrack
crc32c_intel i8042 mousedev nft_fib scsi_transport_spi tcp_cubic xz_dec
crc32_pclmul ima mptbase nft_fib_inet sd_mod thermal zswap
crc_t10dif intel_idle mptscsih nft_fib_ipv4 serio_raw tpm
crct10dif_pclmul intel_pmc_core mptspi nft_fib_ipv6 sg tpm_crb
cryptomgr intel_pmc_core_pltdrv netpoll nft_objref shpchp tpm_tis
3. Команды для проверки информации об оборудовании в Linux
Теперь помимо /proc
а также /sys
Каталоги большинства дистрибутивов Linux также предоставляют широкий спектр инструментов командной строки, которые можно использовать для просмотра информации об оборудовании, установленном в настоящее время в вашей системе.
И если вы хотите знать правду, многие из этих инструментов на самом деле просто извлекают информацию прямо из /proc
напрямую.
Теперь имейте в виду, что многие команды, которые мы собираемся здесь рассмотреть, могут не быть установлены по умолчанию в некоторых дистрибутивах.
Однако, если он не установлен, вы обычно можете выйти и получить их вручную, используя либо yum
или apt-get
команды.
Давайте посмотрим, что собой представляют некоторые из этих утилит.
3.1 Команда hdparm: получить параметры устройства SATA / IDE
Первое, на что нам нужно обратить внимание, это hdparm
команда.
Он используется для отображения информации о вашем жестком диске, синтаксис — ввести hdparm
а затем укажите, о каком файле жесткого диска мы хотим просмотреть информацию.
Синтаксис: hdparm [options] [device …] / hdparm /dev/device
Мы бы заменили это чем-то вроде sda
или sdb
какое бы устройство мы ни хотели просматривать, и когда вы это делаете, данные об этом устройстве отображаются на экране.
В этом случае я ищу информацию о /dev/sda
привод жесткого диска.
# hdparm /dev/sda
/dev/sda:
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
multcount = 0 (off)
readonly = 0 (off)
readahead = 8192 (on)
geometry = 2610/255/63, sectors = 41943040, start = 0
3.2 Команда sg_scan: Сканирует устройства SCSI / ATAPI / ATA
Следующая утилита, с которой вам нужно ознакомиться, — это sg_scan
утилита.
Он используется для сканирования вашего scsi
автобусы и перечислите все устройства, подключенные к вашему scsi
контроллеры.
# sg_scan
/dev/sg0: scsi0 channel=0 id=0 lun=0
/dev/sg1: scsi0 channel=0 id=1 lun=0
/dev/sg2: scsi0 channel=0 id=2 lun=0
/dev/sg3: scsi0 channel=0 id=3 lun=0
/dev/sg4: scsi2 channel=0 id=0 lun=0 [em]
3.3 Команда sginfo: информация о странице режима доступа для устройства SCSI (или ATAPI)
Похожая команда — это sginfo -l
команда.
Он также используется для отображения информации обо всех scsi
устройств в вашей системе.
# sginfo -l
/dev/sg0 [scsi0 ch=0 id=0 lun=0]
/dev/sg1 [scsi0 ch=0 id=1 lun=0]
/dev/sg2 [scsi0 ch=0 id=2 lun=0]
/dev/sg3 [scsi0 ch=0 id=3 lun=0]
/dev/sg4 [scsi2 ch=0 id=0 lun=0]
3.4 Команда lsusb: список USB-устройств
Еще одна полезная команда — это lsusb
команда.
Отображает информацию обо всех USB
устройства, которые в настоящее время подключены к вашей системе.
Когда вы запустите его, вы увидите список всех ваших USB
шины и все устройства, подключенные к этой шине.
# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 009: ID 0e0f:0008 VMware, Inc.
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
В этом примере я вижу, что у меня две разные шины USB, у меня Bus 001
а потом у меня есть Bus 002
.
На Bus 001
все, что у меня есть, это корневой хаб на Bus 002
У меня есть корневой концентратор, затем еще один USB-концентратор, а затем у меня есть мышь.
3.5 Команда hwinfo: проверка оборудования
Еще одна полезная утилита — это hwinfo
утилита.
# hwinfo
Он отображает исчерпывающий обзор всего системного оборудования в вашей системе.
Он проверит оборудование системы, а затем сгенерирует обзорный отчет системы.
Теперь, если вы не укажете никаких параметров в команде, будет получен очень длинный отчет.
Итак, что мы обычно делаем, так это ограничиваем отчет одной подсистемой устройства, используя --device
вариант.
Теперь вы можете заменить устройство на различные устройства, которые вам нужны.
Синтаксис: hwinfo --device
Вот пример. Введите следующую команду для отображения информации о сетевой карте.
# hwinfo --short --netcard
Примечание: hwinfo
Команда не установлена по умолчанию во многих дистрибутивах, но обычно вы можете пойти, получить ее и установить с помощью yum
, zipper
или apt-get
.
3.6 Команда lspci: список всех устройств PCI
Следующая команда, которую мы рассмотрим, это lspci
, здесь перечислены все PCI
устройств, установленных вместе с системой.
Когда вы используете -k
вариант, затем lspci
команда также перечислит модули ядра, связанные с каждым PCI
устройство.
Вы можете увидеть пример этого здесь.
# lspci -k
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
Subsystem: VMware Virtual Machine Chipset
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
Subsystem: VMware Virtual Machine Chipset
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
Subsystem: VMware Virtual Machine Chipset
Kernel driver in use: ata_piix
Kernel modules: ata_piix, ata_generic
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
Subsystem: VMware Virtual Machine Chipset
Kernel modules: i2c_piix4
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
Subsystem: VMware Virtual Machine Communication Interface
Kernel driver in use: vmw_vmci
Kernel modules: vmw_vmci
3.7 Команда lscpu: отображение информации об архитектуре ЦП
Команда lscpu сообщает информацию о ЦП и процессорах.
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 78
Model name: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz
Stepping: 3
CPU MHz: 2495.999
BogoMIPS: 4991.99
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0
3.8 Команда lsscsi: список устройств SCSI
Перечисляет устройства SCSI / SATA, такие как жесткие диски и оптические приводы.
# lsscsi
[0:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda
[0:0:1:0] disk VMware, VMware Virtual S 1.0 /dev/sdb
[0:0:2:0] disk VMware, VMware Virtual S 1.0 /dev/sdc
[0:0:3:0] disk VMware, VMware Virtual S 1.0 /dev/sdd
[2:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0
3.9 Команда lsblk: список блочных устройств
Перечисляет все блочные устройства, такие как разделы жесткого диска, логические тома (LVM) и другие устройства хранения, такие как оптические приводы и флэш-накопители.
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.7G 0 part /
sdb 8:16 0 3G 0 disk
├─sdb1 8:17 0 500M 0 part
│ └─new_vgroup-newlv001 253:0 0 500M 0 lvm /newlv001
├─sdb2 8:18 0 500M 0 part
│ ├─new_vgroup-newlv001 253:0 0 500M 0 lvm /newlv001
│ └─new_vgroup-newlv002 253:1 0 500M 0 lvm /newlv002
└─sdb3 8:19 0 500M 0 part
└─new_vgroup-newlv002 253:1 0 500M 0 lvm /newlv002
sdc 8:32 0 3G 0 disk
sdd 8:48 0 3G 0 disk
sr0 11:0 1 1024M 0 rom
3.10 команда free: отображение количества свободной и используемой памяти в системе.
Команда free отображает общий объем свободной и используемой физической памяти и памяти подкачки в системе, а также буферы и кеши, используемые ядром. Информация собирается путем парсинга /proc/meminfo
.
# free
total used free shared buff/cache available
Mem: 810492 484516 107052 4480 218924 185472
Swap: 2097148 792320 1304828
Заключение
Надеюсь, вы кое-что узнали из этой статьи.
Я изо всех сил старался включить все полезные команды для проверки информации о системе и оборудовании в Linux.
Теперь хотелось бы услышать ваши мысли.
Было ли это руководство полезно для вас?
Или, может быть, у вас есть вопросы.
Разве я не включил в это руководство какую-либо команду?
Оставьте комментарий ниже.
Источник: https://access.redhat.com/