16 команд для проверки аппаратной части компьютера в Linux
Оригинал: 16 commands to check hardware information on Linux
Автор: Silver Moon
Дата публикации: Apr 8, 2014
Перевод: Н.Ромоданов
Дата перевода: август 2014 г.
Информация о комплектации компьютера
Точно также, как для всего прочего, в вашей системе Linux есть много команд для получения информацию об аппаратной части вашего компьютера. Некоторые команды сообщают информацию только о конкретных компонентах оборудования, например, процессоре или памяти, а другие — выдают информацию сразу о нескольких устройствах.
В данной статье кратко рассказывается о нескольких наиболее часто используемых командах, предназначенных для получения информации и особенностях настройки различных периферийных устройств и компонентах компьютера. Среди рассматриваемых — команды lscpu, hwinfo, lshw, dmidecode, lspci и другие.
1. lscpu
Команда lscpu выдает информацию о процессоре и его составляющих. В ней нет каких-либо дополнительных параметров или функциональных возможностей.
Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 23 Stepping: 10 CPU MHz: 1998.000 BogoMIPS: 5302.48 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 2048K NUMA node0 CPU(s): 0-3
2. lshw – список аппаратных устройств
Утилита общего назначения, которая сообщает подробную и краткую информацию о нескольких различных аппаратных устройствах, таких как процессор, память, диск, контроллеры usb, сетевые адаптеры и т.д. Команда lscpu извлекает информацию из различных файлов /proc.
$ sudo lshw -short H/W path Device Class Description =================================================== system () /0 bus DG35EC /0/0 processor Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz /0/0/1 memory 2MiB L2 cache /0/0/3 memory 32KiB L1 cache /0/2 memory 32KiB L1 cache /0/4 memory 64KiB BIOS /0/14 memory 8GiB System Memory /0/14/0 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns) /0/14/1 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns) /0/14/2 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns) /0/14/3 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns) /0/100 bridge 82G35 Express DRAM Controller /0/100/2 display 82G35 Express Integrated Graphics Controller /0/100/2.1 display 82G35 Express Integrated Graphics Controller /0/100/19 eth0 network 82566DC Gigabit Network Connection /0/100/1a bus 82801H (ICH8 Family) USB UHCI Controller #4 /0/100/1a.1 bus 82801H (ICH8 Family) USB UHCI Controller #5 /0/100/1a.7 bus 82801H (ICH8 Family) USB2 EHCI Controller #2 /0/100/1b multimedia 82801H (ICH8 Family) HD Audio Controller /0/100/1c bridge 82801H (ICH8 Family) PCI Express Port 1 /0/100/1c.1 bridge 82801H (ICH8 Family) PCI Express Port 2 /0/100/1c.2 bridge 82801H (ICH8 Family) PCI Express Port 3 /0/100/1c.2/0 storage JMB368 IDE controller /0/100/1d bus 82801H (ICH8 Family) USB UHCI Controller #1 /0/100/1d.1 bus 82801H (ICH8 Family) USB UHCI Controller #2 /0/100/1d.2 bus 82801H (ICH8 Family) USB UHCI Controller #3 /0/100/1d.7 bus 82801H (ICH8 Family) USB2 EHCI Controller #1 /0/100/1e bridge 82801 PCI Bridge /0/100/1e/5 bus FW322/323 [TrueFire] 1394a Controller /0/100/1f bridge 82801HB/HR (ICH8/R) LPC Interface Controller /0/100/1f.2 storage 82801H (ICH8 Family) 4 port SATA Controller [IDE mode] /0/100/1f.3 bus 82801H (ICH8 Family) SMBus Controller /0/100/1f.5 storage 82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE m /0/1 scsi3 storage /0/1/0.0.0 /dev/sda disk 500GB ST3500418AS /0/1/0.0.0/1 /dev/sda1 volume 70GiB Windows NTFS volume /0/1/0.0.0/2 /dev/sda2 volume 395GiB Extended partition /0/1/0.0.0/2/5 /dev/sda5 volume 97GiB HPFS/NTFS partition /0/1/0.0.0/2/6 /dev/sda6 volume 97GiB Linux filesystem partition /0/1/0.0.0/2/7 /dev/sda7 volume 1952MiB Linux swap / Solaris partition /0/1/0.0.0/2/8 /dev/sda8 volume 198GiB Linux filesystem partition /0/3 scsi4 storage /0/3/0.0.0 /dev/cdrom disk DVD RW DRU-190A
Если вы хотите больше узнать о команде lshw, то обратите внимание на пост Получаем интфомацию в Linux об аппаратных частях компьютера с помощью команды lshw .
3. hwinfo – информация об аппаратуре компьютера
Утилита hwinfo является еще одной универсальной утилитой зондирования аппаратуры, которая может сообщить подробную и краткую информацию о многих различных аппаратных компонентах, причем может сообщить больше, чем утилита lshw.
$ hwinfo --short cpu: Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz, 2000 MHz Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz, 2000 MHz Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz, 2666 MHz Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz, 2666 MHz keyboard: /dev/input/event2 AT Translated Set 2 keyboard mouse: /dev/input/mice Microsoft Basic Optical Mouse v2.0 graphics card: Intel 965G-1 Intel 82G35 Express Integrated Graphics Controller sound: Intel 82801H (ICH8 Family) HD Audio Controller storage: Intel 82801H (ICH8 Family) 4 port SATA IDE Controller Intel 82801H (ICH8 Family) 2 port SATA IDE Controller JMicron JMB368 IDE controller network: eth0 Intel 82566DC Gigabit Network Connection network interface: eth0 Ethernet network interface lo Loopback network interface disk: /dev/sda ST3500418AS partition: /dev/sda1 Partition /dev/sda2 Partition /dev/sda5 Partition /dev/sda6 Partition /dev/sda7 Partition /dev/sda8 Partition cdrom: /dev/sr0 SONY DVD RW DRU-190A usb controller: Intel 82801H (ICH8 Family) USB UHCI Controller #4 Intel 82801H (ICH8 Family) USB UHCI Controller #5 Intel 82801H (ICH8 Family) USB2 EHCI Controller #2 Intel 82801H (ICH8 Family) USB UHCI Controller #1 Intel 82801H (ICH8 Family) USB UHCI Controller #2 Intel 82801H (ICH8 Family) USB UHCI Controller #3 Intel 82801H (ICH8 Family) USB2 EHCI Controller #1 bios: BIOS . СОКРАЩЕНО .
4. lspci – список устройств PCI
Команда lspci выдает список всех шин PCI, а также подробную информация об устройствах, которые к ним подключены. Под эту категорию подпадают следующие устройства — адаптер vga, графическая карта, сетевой адаптер, порты usb, контроллеры sata и т.д.
$ lspci 00:00.0 Host bridge: Intel Corporation 82G35 Express DRAM Controller (rev 03) 00:02.0 VGA compatible controller: Intel Corporation 82G35 Express Integrated Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation 82G35 Express Integrated Graphics Controller (rev 03) 00:19.0 Ethernet controller: Intel Corporation 82566DC Gigabit Network Connection (rev 02) 00:1a.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02) 00:1a.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02) 00:1a.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02) 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02) 00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 02) 00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 02) 00:1d.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02) 00:1d.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02) 00:1d.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2) 00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller (rev 02) 00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (rev 02) 00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02) 00:1f.5 IDE interface: Intel Corporation 82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (rev 02) 03:00.0 IDE interface: JMicron Technology Corp. JMB368 IDE controller 04:05.0 FireWire (IEEE 1394): LSI Corporation FW322/323 [TrueFire] 1394a Controller (rev 70)
Отфильтруйте информацию о конкретном устройстве с помощью команды grep.
$ lspci -v | grep "VGA" -A 12
5. lsscsi — список устройств scsi
Выдается список устройств scsi/sata, например, жестких дисков и оптических приводов.
$ lsscsi [3:0:0:0] disk ATA ST3500418AS CC38 /dev/sda [4:0:0:0] cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0
6. lsusb – подробный список шин и устройств usb
Эта команда показывает информацию о контроллерах usb и подробные сведения о подключенных к ним устройствах. По умолчанию выдается краткая информация. Для того, чтобы о каждом порте usb получить подробную информацию, используйте параметр «-v».
$ lsusb Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
В системе, информация о которой приведена выше, один порт usb используется для подключения мыши.
7. Inxi
Inxi является мега скриптом bash, состоящим из 10000 строк кода, с помощью которого из разных источников и команд системы будет получена подробная информация об аппаратном обеспечении и будет создан отчет в виде, позволяющим его читать пользователям, которые не являются техническими специалистами.
$ inxi -Fx

8. lsblk — список блочных устройств
Перечисляется информация о всех блочных устройствах, которыми являются разделы жестких дисков и других устройств хранения данных, например, оптических приводов и флэш-накопителей
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 70G 0 part ├─sda2 8:2 0 1K 0 part ├─sda5 8:5 0 97.7G 0 part /media/4668484A68483B47 ├─sda6 8:6 0 97.7G 0 part / ├─sda7 8:7 0 1.9G 0 part [SWAP] └─sda8 8:8 0 198.5G 0 part /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 sr0 11:0 1 1024M 0 rom
9. df – дисковое пространство файловых систем
Отчеты о различных разделах, об их точках монтирования и о том, сколько в каждом разделе есть свободного места.
$ df -H Filesystem Size Used Avail Use% Mounted on /dev/sda6 104G 26G 73G 26% / none 4.1k 0 4.1k 0% /sys/fs/cgroup udev 4.2G 4.1k 4.2G 1% /dev tmpfs 837M 1.6M 835M 1% /run none 5.3M 0 5.3M 0% /run/lock none 4.2G 13M 4.2G 1% /run/shm none 105M 21k 105M 1% /run/user /dev/sda8 210G 149G 51G 75% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 /dev/sda5 105G 31G 75G 30% /media/4668484A68483B47
10. Pydf – команда df, написанная на языке Python
Улучшенный вариант команды df , написанной на языке python, который выдает информацию в цвете, что выглядит лучше, чем информация, выдаваемая командой df
$ pydf Filesystem Size Used Avail Use% Mounted on /dev/sda6 96G 23G 68G 24.4 [#. ] / /dev/sda8 195G 138G 47G 70.6 [####..] /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 /dev/sda5 98G 28G 69G 29.2 [##. ] /media/4668484A68483B47
11. fdisk
Fdisk является утилитой, предназначенной для изменения разделов жестких дисков, и ей также можно пользоваться для получения информации о списке имеющихся разделов.
$ sudo fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x30093008 Device Boot Start End Blocks Id System /dev/sda1 * 63 146801969 73400953+ 7 HPFS/NTFS/exFAT /dev/sda2 146802031 976771071 414984520+ f W95 Ext'd (LBA) /dev/sda5 146802033 351614654 102406311 7 HPFS/NTFS/exFAT /dev/sda6 351614718 556427339 102406311 83 Linux /dev/sda7 556429312 560427007 1998848 82 Linux swap / Solaris /dev/sda8 560429056 976771071 208171008 83 Linux
12. mount
Команда mount используется для монтирования/демонтирования, а также для просмотра смонтированных файловых систем.
$ mount | column -t /dev/sda6 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/cgroup type tmpfs (rw) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) udev on /dev type devtmpfs (rw,mode=0755) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) none on /run/shm type tmpfs (rw,nosuid,nodev) none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755) none on /sys/fs/pstore type pstore (rw) /dev/sda8 on /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 type ext4 (rw,nosuid,nodev,errors=remount-ro) /dev/sda5 on /media/4668484A68483B47 type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd) gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=enlightened)
Опять же, используйте команду grep для отфильтровывания информации только о тех файловых системах, которые вам интересны
$ mount | column -t | grep ext
13. free – проверка оперативной памяти
С помощью команды free проверьте объем используемой, свободной и общий объема оперативной памяти, имеющейся в системе.
free -m total used free shared buffers cached Mem: 7975 5865 2110 0 24 622 -/+ buffers/cache: 5218 2757 Swap: 1951 921 1030
14. dmidecode
Команда dmidecode отличается от всех других команд. Она извлекает информацию об оборудовании, читая для этого данные из структур данных SMBOIS (которые также называются таблицами DMI).
# display information about the processor/cpu $ sudo dmidecode -t processor # memory/ram information $ sudo dmidecode -t memory # bios details $ sudo dmidecode -t bios
Подробности смотрите на странице man.
15. Файлы /proc
Во многих виртуальных файлах каталога /proc содержится информация об аппаратном обеспечении и о конфигурациях. Ниже приведены некоторые из них.
Информация о процессоре/памяти
# cpu information $ cat /proc/cpuinfo # memory information $ cat /proc/meminfo
Информация о Linux/ядре
$ cat /proc/version Linux version 3.11.0-12-generic (buildd@allspice) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu7) ) #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013
$ cat /proc/scsi/scsi Attached devices: Host: scsi3 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST3500418AS Rev: CC38 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi4 Channel: 00 Id: 00 Lun: 00 Vendor: SONY Model: DVD RW DRU-190A Rev: 1.63 Type: CD-ROM ANSI SCSI revision: 05
$ cat /proc/partitions major minor #blocks name 8 0 488386584 sda 8 1 73400953 sda1 8 2 1 sda2 8 5 102406311 sda5 8 6 102406311 sda6 8 7 1998848 sda7 8 8 208171008 sda8 11 0 1048575 sr0
16. hdparm
Команда hdparm получает информацию об устройствах sata, например, жестких дисков.
$ sudo hdparm -i /dev/sda /dev/sda: Model=ST3500418AS, FwRev=CC38, SerialNo=9VMJXV1N Config=< HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% > RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4 BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168 IORDY=on/off, tPIO=, tDMA= PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=no WriteCache=enabled Drive conforms to: unknown: ATA/ATAPI-4,5,6,7 * signifies the current active mode
Заключение
В каждой из команд используется чуть-чуть иной способ извлечения информации, и вам для, чтобы получить определенную информацию об оборудовании, возможно, потребуется попробовать более одной команды. Но все они есть в большинстве дистрибутивов Linux и их легко можно установить из репозиториев, используемых по умолчанию.
Для тех, кто не хочет запоминать и вводить команды, на рабочем столе есть графические инструментальные средства. Hardinfo и I-nex — некоторые из популярных инструментальных средств, с помощью которых можно получить подробную информацию о большом количестве различных аппаратных компонентов.
Подключенные устройства Linux
Работа с устройствами в Linux очень сильно отличается от Windows. Главная концепция Linux в том, что все есть файл, не только пользовательские файлы с информацией, но и различные настройки ядра, подключенные устройства, память, сетевые соединения, все это представлено в виде файлов, которые размещены в специальных файловых системах.
С помощью этих файлов система работает с устройствами, и вы можете ими управлять с помощью различных утилит. В этой статье мы рассмотрим как выполняется работа с устройствами Linux, что из себя представляют устройства Linux, а также рассмотрим несколько примеров создания файлов устройств и обращения к ним. Это довольно интересная тема.
Файлы устройств Linux
Все файлы устройств расположены в каталоге /dev, который есть неотделимой частью корневой файловой системы, поскольку они должны быть доступны на всех этапах загрузки. Они также известны как специальные файлы устройств. Эти файлы используются операционной системой для обеспечения пользователю и программам интерфейса доступа к устройствам, подключенным к компьютеру.
Самое важное, что нужно знать об этих файлах — это не драйверы устройств, их лучше рассматривать как интерфейс доступа к драйверам устройств. Приложение отправляет данные в файл устройства, откуда они читаются драйвером устройства и отправляются на физическое устройства. Обратная передача от физических устройств тоже проходит по этому пути через файл устройства. Давайте посмотрим как будет выглядеть поток передачи данных для типичной команды, например, cat:

На схеме приведена схема передачи данных для команды cat /etc/resolv.conf. Вы выполняете команду из терминала, утилита отправляет запрос файла драйверу, который ищет файл на диске и читает его содержимое. Данные передаются через файл устройства, а затем опять же, через файл устройства псевдо-терминала передаются в эмулятор терминала 6, где они будут отображены.
Если мы перенаправим вывод команды в файл, например, cat /etc/resolv.conf > /etc/resolv.bak, то левая часть схемы останется неизменной, а правая сторона будет вести к файлу устройства /dev/sda2. Эти устройства делают очень простым использование стандартных потоков ввода/вывода для доступа к каждому устройству. Простое перенаправление потока данных в файл устройства приведет к записи данных на устройство.
Классификация файлов устройств
Файлы устройств можно классифицировать по меньшей мере двумя способами. Первая и наиболее широкая классификация — на основе потока данных. В устройствах TTY и других символьных устройствах, данные обрабатываются по одному символу или байту за раз. В блочных устройствах, таких как жесткие диски данные передаются блоками, как правило, с размером, кратным 256 байт.
Если вы еще этого не делали, то перейдите в папку /dev/ и посмотрите список находящихся там файлов с помощью команды ls. Вы увидите очень длинный список файлов с их правами доступа, владельцами и группами — это список устройств linux. Обратите внимание на самый первый символ в каждой строке. Он указывает тип устройства. Символом «b» — обозначаются блочные устройства linux (block), а символом «c» — символьные (character).

Более точно можно идентифицировать устройства по их младшему и старшему номеру. Например, жесткие диски имеют старший номер 8, что обозначает их как блочные устройства SCSI. Обратите внимание, что все жесткие диски PATA и SATA находятся под управлением SCSI. Раньше использовалась подсистема ATA, но она уже устарела, поэтому диски, которые раньше обозначались как hd[a-z] теперь обозначаются sd[a-z].
Младший номер диска означает раздел устройства, например, номера 8/0 — это весь диск /dev/sda, а 8/1 уже файл первого раздела на диске, 8/6 — /dev/sda6. Файлы TTY именуются немного по-другому, от tty0 до tty63. Все значения старших номеров устройств Linux вы можете найти на официальном сайте ядра.
Работа с устройствами в Linux
Давайте проведем несколько экспериментов, которые помогут вам понять как работают устройства Linux и как ими управлять в этой операционной системе. Большинство дистрибутивов Linux имеют несколько виртуальных консолей, обычно от 1 до 7, которые могут использоваться для входа в сеанс командной оболочки. К этим виртуальным консолям можно получить доступ с помощью сочетаний клавиш Ctrl+Alt+Fn, например, Ctrl+Alt+F1 для первой консоли, Ctrl+Alt+F2 для второй и так далее.
Сейчас нажмите Ctrl+Alt+F2 для перехода во вторую консоль, в некоторых дистрибутивах, кроме запроса логина и пароля, будет выведена информация про активную TTY связанную с этой консолью. Но этой информации может и не быть. В данном случае консоль будет связана с устройством tty2.
Войдите от имени обычного пользователя, затем наберите такую команду, чтобы посмотреть номер устройства tty:

У меня вы видите устройство /dev/pts/0, это виртуальное устройство эмулятора терминала, но если вы будете выполнять задачу в tty2, то отобразиться именно она. Теперь давайте посмотрим список tty устройств с помощью команды ls:

Нас будут интересовать не все устройства, а только первые три. В этих устройствах нет ничего особенного, это обычные устройства символьного типа. Устройство tty2 подключено к консоли 2, устройство tty3 подключено к консоли 3.
Нажмите сочетание клавиш Ctrl+Alt+F3, чтобы переключиться в третью консоль, затем выполните команду:
echo «Hello world» > /dev/tty2

Затем вернитесь во вторую консоль. Здесь вы увидите отправленную строку, Hello World. Все это можно повторить с помощью эмуляторов терминала в графическом интерфейсе, только здесь будут использоваться псевдо-терминальные устройства /dev/pts/*. Теперь попробуем отобразить содержимое файла fstab с помощью cat в другом терминале:
cat /etc/fstab > /dev/tty2

С помощью cat вы можете отправить файл непосредственно на принтер. Например, если устройство принтера /dev/usb/lp0, то для печати файла будет достаточно выполнить:
cat test.pdf > /dev/usb/lp0
Каталог /dev/ содержит много интересных файлов устройств. Это интерфейсы доступа к аппаратному обеспечению и вам не нужно думать, что это, жесткий диск или экран. Например, вся оперативная память компьютера доступна в виде устройства /dev/mem. С помощью него вы можете иметь прямой доступ к памяти. Мы можем вывести содержимое памяти в терминал:
dd if=/dev/mem bs=2048 count=100

Утилита dd, в отличие от cat дает больше контроля над процессом и позволяет указать сколько данных нужно прочитать. Но не ко всей памяти вы можете получить доступ. В ядре встроена защита, поэтому обычно, вы можете читать память, только для своего процесса.
Также тут есть файлы, которые несвязанны ни с какими реальными устройствами, это null, zero, random и urandom. Устройство /dev/null может использоваться для перенаправления вывода команд, чтобы данные никуда не выводились. Устройство /dev/zero используется для получения строки, заполненной нулями.
Вы можете использовать ту же команду dd, чтобы попытаться вывести ряд символов с устройства /dev/null:
dd if=/dev/null bs=512 count=500 | od -c

Обратите внимание, что ничего выведено не будет, потому что это устройство пусто, оно только принимает данные и никуда их не сохраняет.
Устройства /dev/random и /dev/urandom позволяют получить случайные комбинации чисел или байт. Вы можете использовать такую команду, чтобы получить случайные байты информации:

Для остановки нажмите Ctrl+C. Устройство urandom позволяет генерировать случайные последовательности независимые от предыдущего числа, в качестве источника энтропии используется нажатия клавиш и движения мыши.
Устройство /dev/zero позволяет получить строку, заполненную нулями. Для проверки используйте такую команду:
dd if=/dev/zero bs=512 count=500 | od -c

Обратите внимание, что восьмеричные нули и нули ASCII это не одно и то же.
Создание устройств в Linux
В прошлом все устройства из каталога /dev создавались во время установки системы, а это означало, что каталог содержал все возможные поддерживаемые устройства, даже если они не использовались. Если вам нужно было создавать или переинициализировать файлы устройств, использовалась утилита mknod. Но для работы с ней вам нужно знать старший и младший номер устройства.
Сейчас ситуация изменилась и все файлы устройств linux создаются во время загрузки только для нужных устройств. Менеджер устройств следит за подключаемыми и отключаемыми устройствами и добавляет или удаляет соответствующие файлы. Вы можете убедиться, что устройства были созданы сейчас просмотрев дату создания в с помощью команды ls.
Команда mknod все еще есть, но уже существует более новая разработка — makedev. Она предоставляет очень простой интерфейс для создания устройств.
Выводы
В этой статье мы рассмотрели подключенные устройства linux, а также как выполняется работа с устройствами в Linux. Конечно, в одной статье невозможно полностью охватить такую огромную тему, но я надеюсь что у вас появились некоторые базовые навыки работы использования файлов устройств и эта статья была вам полезной.
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.035 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Где посмотреть список подключенных устройств?
Подскажите пожалуйста, из какого файла можно узнать список подключенных устройств? (меня интересуют жёсткие диски)
А то в /etc/mtab только смонтированные устройства, а не подключенные не показываются.
Deleted
14.06.13 01:31:18 MSK
anonymous
( 14.06.13 01:34:49 MSK )

fdisk -l lsblk
lampslave ★★
( 14.06.13 01:36:07 MSK )
Ответ на: комментарий от anonymous 14.06.13 01:34:49 MSK
полный путь к файлам какой?
мне нужны не команды отображающие устройства, а файлы в системе где они содержатся (чтоб програмно из этих файлов данные считывать)
Deleted
( 14.06.13 01:36:09 MSK )
Последнее исправление: Deleted 14.06.13 01:37:13 MSK (всего исправлений: 1)

# ls -l /dev/disk/* # parted -l
Infra_HDC ★★★★★
( 14.06.13 01:40:53 MSK )
Ответ на: комментарий от Infra_HDC 14.06.13 01:40:53 MSK
В каком файле содержится информация о подключенных устройствах?
Deleted
( 14.06.13 01:47:21 MSK )
Valkeru ★★★★
( 14.06.13 01:56:57 MSK )
Ответ на: комментарий от Valkeru 14.06.13 01:56:57 MSK
не команда
файл.
Deleted
( 14.06.13 01:58:37 MSK )
Ответ на: комментарий от Deleted 14.06.13 01:58:37 MSK
sudo blkid >fail.txt
anonymous
( 14.06.13 02:11:04 MSK )
Ответ на: комментарий от anonymous 14.06.13 02:11:04 MSK
А системные файлы есть?
Deleted
( 14.06.13 02:19:43 MSK )
Ответ на: комментарий от Deleted 14.06.13 02:19:43 MSK

~$ cat /proc/partitions major minor #blocks name 8 0 244198584 sda 8 1 237915136 sda1 8 2 1 sda2 8 5 6281216 sda5 8 16 976762584 sdb 8 17 972655616 sdb1 8 18 1 sdb2 8 21 4104192 sdb5 11 0 1048575 sr0
Объясните, какую конкретно информацию вы хотите получить.
strangeman ★★★★
( 14.06.13 02:25:18 MSK )
Ответ на: комментарий от strangeman 14.06.13 02:25:18 MSK
Название устройства. Размер. Монтировано или нет.
Deleted
( 14.06.13 02:33:08 MSK )
Ответ на: комментарий от Deleted 14.06.13 02:33:08 MSK
Тебе уже всё показали, осталось чуток курнуть маны. Нет, мы будет требовать, что бы всё разжевали и положили в рот.
valkeru@valkeru-desktop:~$ sudo blkid -o list device fs_type label mount point UUID --------------------------------------------------------------------------------------------------------------------------------- /dev/sda1 swap 9682ebaf-7f3e-4180-9ed9-95b04c784d4a /dev/sda2 reiserfs / 416b8fc4-d54b-4623-9267-208a01b11f49 /dev/sda3 ext4 /home a06b7f3d-2bfe-4c98-b8dd-d7ee8dd3171b /dev/sda5 ntfs Wine&Games (not mounted) 3E3660D3378E7862 /dev/sdb1 swap 10ec09d9-331e-491c-9848-4bc176838875 /dev/sdb2 ntfs Новый том (not mounted) E0E81DECE81DC1A8 /dev/sdb3 ntfs MustDie (not mounted) 48544A70544A60B4
valkeru@valkeru-desktop:~$ sudo parted -l Ошибка: Резервная таблица GPT повреждена, но основная является рабочей, она будет использована. OK/Отменить/Cancel? ok Модель: ATA WDC WD20EARX-00P (scsi) Диск /dev/sda: 2000GB Размер сектора (логич./физич.): 512B/4096B Таблица разделов: gpt Номер Начало Конец Размер Файловая система Имя Флаги 1 1049kB 1075MB 1074MB linux-swap(v1) 2 1075MB 22,5GB 21,5GB reiserfs загрузочный 3 22,5GB 1732GB 1709GB ext4 5 1732GB 2000GB 268GB ntfs 4 2000GB 2000GB 10,5MB bios_grub Модель: ATA WDC WD5001AALS-0 (scsi) Диск /dev/sdb: 500GB Размер сектора (логич./физич.): 512B/512B Таблица разделов: msdos Номер Начало Конец Размер Тип Файловая система Флаги 1 1049kB 1075MB 1074MB primary linux-swap(v1) 2 1075MB 344GB 343GB primary ntfs 3 344GB 500GB 156GB primary ntfs загрузочный