اوامر لينكس لمعرفة معلومات النظام والأجهزة

hocine
Hocine Gasmi
Back-end Developer (Python/Django)
01/12/2021 |لينكس ⌨️
اوامر لينكس لمعرفة معلومات النظام والأجهزة

من الجيد معرفة المعلومات المكونة لجهازك في نظام التشغيل لينكس و عملها, و التي تساعدك في التعامل مع مشكلات التوافق و تثبيت برامج التشغيل و الحزم.

سوف نتطرق الى بعض الأوامر المفيدة التي يمكن أن تساعدنا على استخراج معلومات حول النظام لينكس ومكونات الجهاز.

 

كيفية عرض معلومات نظام لينكس

لمعرفة اسم نظام التشغيل الخاص بك يمكنك استعمال الامر uname والذي يقوم بطبع الاسم. الامر uname -s يقوم بطبع اسم النواة لنظامك.

~$ uname
Linux

~$ uname -s
Linux

لعرض اسم مضيف الشبكة، نستخدم الخيار-n مع الأمر uname كما في المثال.

~$ uname -n
pop-os

لعرض معلومات حول نسخة النواة (kernel version) نوقوم باضافة الخيار -v مع الامر uname.

~$ uname -v
#21~1626191760~21.04~55de9c3-Ubuntu SMP Tue Jul 20 22:18:55 UTC

لعرض معلومات حول اصدار النواة (kernel release) نوقوم باضافة الخيار -r مع الامر uname.

~$ uname -r
5.11.0-7620-generic

لمعرفة اسم الجهاز نقوم باضافة الخيار -m مع الامر uname.

~$ uname -m
x86_64

يمكننا طباعة كل المعلومات السابق ذكرها مرة واحدة عن طريقالامر uname -a.

~$ uname -a
Linux pop-os 5.11.0-7620-generic 
#21~1626191760~21.04~55de9c3-Ubuntu SMP Tue Jul 20 22:18:55 UTC
x86_64 x86_64 x86_64 GNU/Linux

 

كيفية عرض معلومات الاجهزة في نظام لينكس

الاداة lshw تقوم بجمع معلومات واسعة حول مكونات جهازك مثل وحدة المعالجة المركزية (CPU)، والأقراص (disks)، والذاكرة (memory)، ووحدات تحكم USB ، وما إلى ذلك.

يتم جمع المعلومات المقدمة من قبل lshw من ملفات /proc مختلفة.

لطباعة معلومات حول أجهزة نظام لينكس الخاصة بكنقوم بالامر sudo lshw. لاتنسى ان الامر ينفذ بالمستخدم الجذر (root).

:~$ sudo lshw
[sudo] password for almatten:
pop-os
    description: Computer
    product: VirtualBox
    vendor: innotek GmbH
    version: 1.2
    serial: 0
    width: 64 bits
    capabilities: smbios-2.5 dmi-2.5 vsyscall32
    configuration: family=Virtual Machine uuid=6DCF4E5F-5C83-CD43-9A13-F29BDF5A4862
  *-core
       description: Motherboard
       product: VirtualBox
       vendor: Oracle Corporation
       physical id: 0
       version: 1.2
       serial: 0
     *-firmware
          description: BIOS
          vendor: innotek GmbH
...

يمكنك طباعة ملخص لمعلومات أجهزتك باستخدام خيار -short.

~$ sudo lshw -short
H/W path      Device     Class       Description
================================================
                         system      VirtualBox
/0                       bus         VirtualBox
/0/0                     memory      128KiB BIOS
/0/1                     memory      4GiB System memory
/0/2                     processor   Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz
/0/100                   bridge      440FX - 82441FX PMC [Natoma]
/0/100/1                 bridge      82371SB PIIX3 ISA [Natoma/Triton II]
/0/100/1.1               storage     82371AB/EB/MB PIIX4 IDE
/0/100/2                 display     SVGA II Adapter
/0/100/3      enp0s3     network     82540EM Gigabit Ethernet Controller
/0/100/4                 generic     VirtualBox Guest Service
/0/100/5                 multimedia  82801AA AC'97 Audio Controller
/0/100/6                 bus         KeyLargo/Intrepid USB
/0/100/6/1    usb1       bus         OHCI PCI host controller
/0/100/6/1/1             input       USB Tablet
/0/100/7                 bridge      82371AB/EB/MB PIIX4 ACPI
/0/100/d                 storage     82801HM/HEM (ICH8M/ICH8M-...
/0/3                     input       PnP device PNP0303
/0/4                     input       PnP device PNP0f03
/0/5          scsi2      storage
/0/5/0.0.0    /dev/sda   disk        25GB VBOX HARDDISK
/0/5/0.0.0/1  /dev/sda1  volume      19GiB EXT4 volume
/0/5/0.0.0/2  /dev/sda2  volume      4095MiB Linux swap volume

إذا كنت ترغب في اخراج المعلومات على شكل ملف html، يمكنك استخدام الخيار -html.

~$ sudo lshw -html > lshw.html

lshw html output

 

كيفية عرض معلومات الـ CPU في لينكس

لعرض المعلومات حول وحدة المعالجة المركزية (CPU) الخاصة بجهازك، نستخدم الأمر lscpu الذي يقوم بعرض معلومات حول بنية وحدة المعالجة المركزية مثل عدد وحدات المعالجة المركزية، والنوى (cores)، ونموذج عائلة وحدة المعالجة المركزية (family model)، وذاكرة التخزين المؤقت لوحدة المعالجة المركزية (caches)، threads، وما إلى ذلك من ملفات المظام sysfs و /proc/cpuinfo.

~$ lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
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) i3-6006U CPU @ 2.00GHz
Stepping:                        3
CPU MHz:                         1991.999
BogoMIPS:                        3983.99
Hypervisor vendor:               KVM
Virtualization type:             full
L1d cache:                       32 KiB
L1i cache:                       32 KiB
L2 cache:                        256 KiB
L3 cache:                        3 MiB
NUMA node0 CPU(s):               0
Vulnerability Itlb multihit:     KVM: Mitigation: VMX unsupported
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT Host ..
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barrie ...
Vulnerability Spectre v2:        Mitigation; Full generic retpoline ...
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected

 

كيفية جمع معلومات أجهزة التخزين (Linux Block Devices)

اجهة التخزين مثل الأقراص الصلبة وذاكرة تخزين USB محمولةاو غيرها، الأمر lsblk يمكّننا من معرفة  معلومات حول أجهزة التخزين.

~$ lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda             8:0    0   24G  0 disk
├─sda1          8:1    0   20G  0 part  /
└─sda2          8:2    0    4G  0 part
  └─cryptswap 253:0    0    4G  0 crypt [SWAP]
sdb             8:16   1 29.4G  0 disk
├─sdb1          8:17   1 29.4G  0 part  /media/almatten/Ventoy
└─sdb2          8:18   1   32M  0 part

إذا كنت ترغب في عرض جميع أجهزة التخزين التي على نظامك، قم بتضمين الخيار -a مع الامر lsblk.

~$ lsblk -a
NAME          MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
loop0           7:0    0    0B  0 loop
loop1           7:1    0    0B  0 loop
loop2           7:2    0    0B  0 loop
loop3           7:3    0    0B  0 loop
loop4           7:4    0    0B  0 loop
loop5           7:5    0    0B  0 loop
loop6           7:6    0    0B  0 loop
loop7           7:7    0    0B  0 loop
sda             8:0    0   24G  0 disk
├─sda1          8:1    0   20G  0 part  /
└─sda2          8:2    0    4G  0 part
  └─cryptswap 253:0    0    4G  0 crypt [SWAP]
sdb             8:16   1 29.4G  0 disk
├─sdb1          8:17   1 29.4G  0 part  /media/almatten/Ventoy
└─sdb2          8:18   1   32M  0 part

 

كيفية طباعة معلومات وحدات تحكم USB (USB Controllers Information)

الأمر lsusb يعطينا معلومات حول وحدات تحكم USB وجميع الأجهزة المتصلة بها.

~$ lsusb
Bus 001 Device 004: ID ffff:5678 USB Disk 2.0
Bus 001 Device 003: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

يمكنك استخدام الخيار -v لتوليد معلومات مفصلة حول كل جهاز USB.

~$ lsusb -v

Bus 001 Device 003: ID 058f:6387 Alcor Micro Corp. Flash Drive
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x058f Alcor Micro Corp.
  idProduct          0x6387 Flash Drive
  bcdDevice            1.00
  iManufacturer           1 Generic
  iProduct                2 Mass Storage
  iSerial                 3 683168D2
  bNumConfigurations      1
...

 

كيفية طباعة معلومات أجهزة PCI

قد تشتمل أجهزة PCI على منافذ USB وبطاقات الرسومات ومحولات الشبكة وما إلى ذلك. لعرض معلومات وحدات تحكم PCI على نظامك و الأجهزة المتصلة بها نستخدم الامر lspci.

~$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 8...
00:01.0 ISA bridge: Intel Corporation 82371SB PI...
00:01.1 IDE interface: Intel Corporation 82371AB...
00:02.0 VGA compatible controller: VMware SVGA II Adapter
00:03.0 Ethernet controller: Intel Corporation ...
00:04.0 System peripheral: InnoTek Systemberatung GmbH ...
00:05.0 Multimedia audio controller: Intel Corporation ...
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ...
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM ...

نستخدم الخيار -t لعرض المعلومات بتنسيق شجري.

~$ lspci -t
-[0000:00]-+-00.0
           +-01.0
           +-01.1
           +-02.0
           +-03.0
           +-04.0
           +-05.0
           +-06.0
           +-07.0
           \-0d.0

نستخدم الخيار -v لعرض معلومات مفصلة حول كل جهاز متصل.

~$ lspci -v
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
        Flags: fast devsel

00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
        Flags: bus master, medium devsel, latency 0

00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE ...
        Flags: bus master, fast devsel, latency 64
        Memory at 000001f0 (32-bit, non-prefetchable) [virtual] [size=8]
        Memory at 000003f0 (type 3, non-prefetchable) [virtual]
        Memory at 00000170 (32-bit, non-prefetchable) [virtual] [size=8]
        Memory at 00000370 (type 3, non-prefetchable) [virtual]
        I/O ports at d000 [virtual] [size=16]
        Kernel driver in use: ata_piix
        Kernel modules: pata_acpi

 

طباعة معلومات أجهزة SCSI

SCSI يمكنه توصيل الكثير من الأجهزة بجهاز كمبيوتر في نفس الوقت، بما في ذلك محركات الأقراص الثابتة والماسحات الضوئية ومحركات الأقراص المضغوطة/القابلة لإعادة الكتابة والطابعات ومحركات الأشرطة.

هناك تقنيات أخرى مثل Serial-ATA (SATA) حلت محل SCSI إلى حد كبير في الأنظمة الجديدة، لكن SCSI لا تزال قيد الاستخدام.

لعرض جميع أجهزة scsi/sata الخاصة بك، استخدم الأمر lsscsi. إذا لم يكن لديك أداة lsscsi مثبتة، فقم بتشغيل الأمر التالي لتثبيتها.

$ sudo apt-get install lsscsi        [on Debian derivatives]
# yum install lsscsi                 [On RedHat based systems]
# dnf install lsscsi                 [On Fedora 21+ Onwards]

في مثالنا قمنا باستخدام pop-os الذي هومبني على أساس Ubuntu.

نقوم اولا بالتثبيت:

~$ sudo apt-get install lsscsi
[sudo] password for almatten:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  lsscsi
0 upgraded, 1 newly installed, 0 to remove and 226 not upgraded.
...
...
...
Unpacking lsscsi (0.31-1) ...
Setting up lsscsi (0.31-1) ...
Processing triggers for man-db (2.9.4-2) ...

بعد التثبيت، نقوم بتشغيل الأمر lsscsi:

~$ lsscsi
[2:0:0:0]    disk    ATA      VBOX HARDDISK    1.0   /dev/sda
[3:0:0:0]    disk    Generic  Flash Disk       8.07  /dev/sdb

استخدم الخيار -s لإظهار حجم الاجهزة.

~$ lsscsi -s
[2:0:0:0]    disk    ATA      VBOX HARDDISK    1.0   /dev/sda   25.7GB
[3:0:0:0]    disk    Generic  Flash Disk       8.07  /dev/sdb   31.6GB

 

كيفية طباعة معلومات حول أجهزة SATA

يمكنك العثور على بعض المعلومات حول أجهزة sata على نظامك باستخدام الأداة المساعدة hdparm. في المثال أدناه ، استخدمنا /dev/sda1.

~$ sudo hdparm /dev/sda1

/dev/sda1:
 multcount     = 128 (on)
 IO_support    =  1 (32-bit)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 3133/255/63, sectors = 41934847, start = 4096

لطباعة معلومات حول هندسة الجهاز(geometry ) من حيث الأسطوانات (cylinders) والرؤوس (heads) والقطاعات (sectors) والحجم (size) وإزاحة بدء الجهاز (offset)، نستخدم الخيار -g.

~$ sudo hdparm -g /dev/sda1

/dev/sda1:
 geometry      = 3133/255/63, sectors = 41934847, start = 4096

 

كيفية التحقق من معلومات نظام ملفات لينكس (Linux File System)

لجمع معلومات حول أقسام نظام الملفات في لينكس، يمكننا استخدام الأمر fdisk. الوظيفة الرئيسية للأمر fdisk هي تعديل أقسام نظام الملفات، إلّا أنه يمكن استخدامها أيضًا لعرض معلومات حول الأقسام المختلفة في نظام الملفات.

يمكننا طباعة معلومات القسم (partition information) على النحو التالي. نقوم بتنفيذ الأمر كمستخدم جذر (root) وإلا فلن نرى أي نتائج كما في المثال ادناه.

~$ fdisk -l
fdisk: cannot open /dev/sda: Permission denied
fdisk: cannot open /dev/mapper/cryptswap: Permission denied
fdisk: cannot open /dev/sdb: Permission denied

نقوم بتنفيذ الامر بالمستخدم المتميز root باضافة الامر sudo قبل الامر fdisk:

:~$ sudo fdisk -l

sudo fdisk -l

 

كيفية التحقق من معلومات مكونات الجهازفي لينكس

لطباعة معلومات حول الذاكرة (memory)، نقوم بتشغيل الأمر dmidecode كمستخدم متميز root مع الخيار -t.

~$ sudo dmidecode -t memory
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

لطباعة معلومات حول النظام:

~$ sudo dmidecode -t system
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: innotek GmbH
        Product Name: VirtualBox
        Version: 1.2
        Serial Number: 0
        UUID: 6dcf4e5f-5c83-cd43-9a13-f29bdf5a4862
        Wake-up Type: Power Switch
        SKU Number: Not Specified
        Family: Virtual Machine

لطباعة معلومات حول BIOS:

~$ sudo dmidecode -t bios
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
        Vendor: innotek GmbH
        Version: VirtualBox
        Release Date: 12/01/2006
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 128 kB
        Characteristics:
                ISA is supported
                PCI is supported
                Boot from CD is supported
                Selectable boot is supported
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported

لطباعة معلومات حول المعالج:

~$ sudo dmidecode -t processor
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

لطباعة معلومات حول baseboard

~$ sudo dmidecode -t baseboard
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

Handle 0x0008, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: Oracle Corporation
        Product Name: VirtualBox
        Version: 1.2
        Serial Number: 0
        Asset Tag: Not Specified
        Features:
                Board is a hosting board
        Location In Chassis: Not Specified
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

لطباعة معلومات حول chassis

~$ sudo dmidecode -t chassis
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

Handle 0x0003, DMI type 3, 13 bytes
Chassis Information
        Manufacturer: Oracle Corporation
        Type: Other
        Lock: Not Present
        Version: Not Specified
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Boot-up State: Safe
        Power Supply State: Safe
        Thermal State: Safe
        Security Status: None

لطباعة معلومات حول cache

~$ sudo dmidecode -t cache

لطباعة معلومات حول connector

~$ sudo dmidecode -t connector

لطباعة معلومات حول slot

~$ sudo dmidecode -t slot

 

ملخص

قمنا بمعرفة الاوامر التي تمكّننا من استخراج معلومات حول النظام و الاجهزة في لينكس, معضم المعلومات يتم استخراجها من الملفات التي في المسار  /proc.

اتمنى ان يكون هذا الموضوع مفيدا, اذا كان لديك اي اضافات لا تتردد في مشاركتها معنا في التعليقات.

تذكر أن المساهمات في هذا الموضوع يجب أن تتبع إرشادات المجتمع.


التعليقات:

    لا توجد تعليقات بعد.