GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie finde ich alle seriellen Geräte (ttyS, ttyUSB, ..) unter Linux, ohne sie zu öffnen?

In neueren Kerneln (nicht sicher seit wann) können Sie den Inhalt von /dev/serial auflisten, um eine Liste der seriellen Ports auf Ihrem System zu erhalten. Sie sind eigentlich symbolische Links, die auf den richtigen /dev/-Knoten verweisen:

[email protected]:~$ ls /dev/serial/
total 0
drwxr-xr-x 2 root root 60 2011-07-20 17:12 by-id/
drwxr-xr-x 2 root root 60 2011-07-20 17:12 by-path/
[email protected]:~$ ls /dev/serial/by-id/
total 0
lrwxrwxrwx 1 root root 13 2011-07-20 17:12 usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0 -> ../../ttyUSB0
[email protected]:~$ ls /dev/serial/by-path/
total 0
lrwxrwxrwx 1 root root 13 2011-07-20 17:12 pci-0000:00:0b.0-usb-0:3:1.0-port0 -> ../../ttyUSB0

Dies ist ein USB-Seriell-Adapter, wie Sie sehen können. Beachten Sie, dass das Verzeichnis /dev/serial/ nicht existiert, wenn es keine seriellen Ports auf dem System gibt. Hoffe das hilft :).


Der /sys Das Dateisystem sollte viele Informationen für Ihre Suche enthalten. Mein System (2.6.32-40-generisch #87-Ubuntu) schlägt vor:

/sys/class/tty

Dadurch erhalten Sie Beschreibungen aller dem System bekannten TTY-Geräte. Ein abgespecktes Beispiel:

# ll /sys/class/tty/ttyUSB*
lrwxrwxrwx 1 root root 0 2012-03-28 20:43 /sys/class/tty/ttyUSB0 -> ../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/ttyUSB0/tty/ttyUSB0/
lrwxrwxrwx 1 root root 0 2012-03-28 20:44 /sys/class/tty/ttyUSB1 -> ../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/ttyUSB1/tty/ttyUSB1/

Folgen Sie einem dieser Links:

# ll /sys/class/tty/ttyUSB0/
insgesamt 0
drwxr-xr-x 3 root root    0 2012-03-28 20:43 ./
drwxr-xr-x 3 root root    0 2012-03-28 20:43 ../
-r--r--r-- 1 root root 4096 2012-03-28 20:49 dev
lrwxrwxrwx 1 root root    0 2012-03-28 20:43 device -> ../../../ttyUSB0/
drwxr-xr-x 2 root root    0 2012-03-28 20:49 power/
lrwxrwxrwx 1 root root    0 2012-03-28 20:43 subsystem -> ../../../../../../../../../../class/tty/
-rw-r--r-- 1 root root 4096 2012-03-28 20:43 uevent

Hier die dev Datei enthält diese Informationen:

# cat /sys/class/tty/ttyUSB0/dev
188:0

Dies ist der Haupt-/Nebenknoten. Diese können im /dev gesucht werden Verzeichnis, um benutzerfreundliche Namen zu erhalten:

# ll -R /dev |grep "188, *0"
crw-rw----   1 root dialout 188,   0 2012-03-28 20:44 ttyUSB0

Die /sys/class/tty dir enthält alle TTY-Geräte, aber vielleicht möchten Sie diese lästigen virtuellen Terminals und Pseudo-Terminals ausschließen. Ich schlage vor, dass Sie nur diejenigen untersuchen, die einen device/driver haben Eintrag:

# ll /sys/class/tty/*/device/driver
lrwxrwxrwx 1 root root 0 2012-03-28 19:07 /sys/class/tty/ttyS0/device/driver -> ../../../bus/pnp/drivers/serial/
lrwxrwxrwx 1 root root 0 2012-03-28 19:07 /sys/class/tty/ttyS1/device/driver -> ../../../bus/pnp/drivers/serial/
lrwxrwxrwx 1 root root 0 2012-03-28 19:07 /sys/class/tty/ttyS2/device/driver -> ../../../bus/platform/drivers/serial8250/
lrwxrwxrwx 1 root root 0 2012-03-28 19:07 /sys/class/tty/ttyS3/device/driver -> ../../../bus/platform/drivers/serial8250/
lrwxrwxrwx 1 root root 0 2012-03-28 20:43 /sys/class/tty/ttyUSB0/device/driver -> ../../../../../../../../bus/usb-serial/drivers/ftdi_sio/
lrwxrwxrwx 1 root root 0 2012-03-28 21:15 /sys/class/tty/ttyUSB1/device/driver -> ../../../../../../../../bus/usb-serial/drivers/ftdi_sio/

Linux
  1. Linux – Wie startet Gnome ohne Root-Rechte neu?

  2. Linux – So finden Sie Prozesse über die serielle Schnittstelle?

  3. Wie finde ich alle Dateien, die einem bestimmten Benutzer in Unix/Linux gehören?

  4. So finden Sie alle Sparse-Dateien in Linux

  5. So finden Sie die Dateisystem-Inode-Auslastung in Linux

So erweitern Sie die XFS-Root-Partition ohne LVM in Linux

So finden Sie heraus, welche Geräte in Linux mit dem Netzwerk verbunden sind

So listen Sie alle Benutzer in Linux auf

So listen oder sortieren Sie alle Dateien nach Größe in Linux

So finden Sie doppelte Dateien in Linux und entfernen sie

So finden Sie alle installierten Schriftarten in Linux