Cómo enumerar los dispositivos de su computadora desde la terminal de Linux

Descubra exactamente qué dispositivos hay dentro de su computadora Linux o conectados a ella. Cubriremos 12 comandos para enumerar sus dispositivos conectados.

¿Por qué 12 comandos?

Independientemente de las muchas formas de despellejar a un gato, apostaría a que hay más formas de enumerar los dispositivos que están conectados o alojados dentro de su computadora Linux. Te mostraremos 12 de ellos. ¡Y esos no son todos!

Inevitablemente, hay mucha superposición en la información que puede obtener de estos comandos, así que ¿por qué molestarse en describir tantos de ellos?

Bueno, por un lado, las variaciones en el contenido y los detalles los hacen lo suficientemente diferentes como para que algunas personas prefieran un método sobre otro. El formato de salida de un comando podría prestarse particularmente bien a un caso de uso específico. El formato de otro comando podría ser ideal para su canalización a través de grep u otro método de procesamiento adicional.

Sin embargo, principalmente es hacer que el artículo sea lo más general posible. En lugar de decidir qué comandos serán de interés o uso para nuestros lectores, preferimos proporcionar una muestra amplia de los comandos que están disponibles y hacer que nuestros lectores elijan cuáles usarán y cuáles no tocarán.

Requiere alguna instalación

La mayoría de estos comandos están incluidos en su distribución de Linux de forma predeterminada. Ubuntu, Fedora y Manjaro se utilizaron como muestra representativa de distribuciones de las principales ramas de las familias Debian, Red Hat y Arch.

Las tres distribuciones necesarias para instalar procinfo, que proporciona el comando lsdev. El comando lsscsi también necesitaba instalarse en los tres.

Para instalar lsdev y lsscsi, use estos comandos.

Ubuntu:

sudo apt-get install procinf
sudo apt-get install lsscsi

sudo apt-get install lsscsi en una ventana de terminal

sudo apt-get install procinf en una ventana de terminal

Fedora:

sudo dnf install procinfo
sudo dnf install lsscsi

sudo dnf instalar procinfo en una ventana de terminal

sudo dnf instala lsscsi en una ventana de terminal

Manjaro

sudo pacman -Syu procinfo
sudo pacman -Syu lsscsi

sudo pacman -Syu lsscsi en una ventana de terminal

sudo pacman -Syu procinfo en una ventana de terminal

Sorprendentemente, Manjaro, famoso por ser un tipo de distribución básico, fue la distribución que tenía la mayoría de los comandos que vamos a ver preinstalados.

Ubuntu y Fedora necesitaban la instalación de hwinfo, y Fedora también requería la instalación de lshw y hdparm.

Ubuntu:

sudo apt-get install hwinfo

sudo apt-get install hwinfo en una ventana de terminal

Fedora:

sudo dnf install hwinfo
sudo dnf install lshw
sudo dnf install hdparm

sudo dnf instala hwinfo en una ventana de terminal

sudo dnf instala hwinfo en una ventana de terminal

sudo dnf instala lshw en una ventana de terminal

1. El comando de montaje

El comando mount se usa para montar sistemas de archivos.

Pero emitir el comando sin parámetros hace que se enumeren todos los sistemas de archivos montados, así como los dispositivos en los que se encuentran. Entonces podemos usar esto como un medio para descubrir esos dispositivos.

mount

montar en una ventana de terminal

La salida del montaje puede ser más larga de lo esperado, especialmente si ha utilizado el método snap para instalar software. Cada vez que usa snap, adquiere otro pseudo-sistema de archivos y estos se enumeran por montaje. Por supuesto, estos no tienen dispositivos físicos asociados, por lo que solo están oscureciendo la imagen real.

  La caída de Max Payne en Linux

salida del montaje en una ventana de terminal

Si ve un sistema de archivos real en la lista en un disco duro, podemos aislarlo con grep.

Los discos duros se identifican por su nombre, generalmente llamado «sd» seguido de una letra que comienza en «a» para el primer disco, «b» para el segundo disco y así uno. Las particiones se identifican agregando un 1 para la primera partición y 2 para la segunda partición, y así sucesivamente.

Entonces, el primer disco duro sería sda, y la primera partición en ese disco se llamaría sda1. Los discos duros se interconectan a través de archivos de dispositivos especiales (llamados archivos de bloque) en / dev y luego se montan en algún lugar del árbol del sistema de archivos.

Este comando usa grep para filtrar los detalles de cualquier unidad que comience con «sd».

mount | grep /dev/sd

montaje |  grep / dev / sd en una ventana de terminal

La salida contiene el único disco duro de la máquina que se utilizó para investigar este artículo.

montar la salida en una ventana de terminal

La respuesta de mount nos dice que la unidad / dev / sda está montada en / (la raíz del árbol del sistema de archivos) y tiene un sistema de archivos ext4. El «rw» indica que se ha montado en modo lectura-escritura

Relatime es el esquema utilizado por las rutinas de actualización de la marca de tiempo del archivo. El tiempo de acceso no se escribe en el disco a menos que el tiempo de modificación (mtime) o el tiempo de cambio (ctime) de un archivo sea más reciente que el último tiempo de acceso, o el tiempo de acceso (atime) sea más antiguo que un umbral definido por el sistema . Esto reduce en gran medida la cantidad de actualizaciones de disco que deben realizarse para los archivos a los que se accede con frecuencia.

El «error = remount-ro» indica que si hay errores suficientemente graves, el sistema de archivos se volverá a montar en modo de solo lectura.

Para poder desplazarse por la salida de mount y detectar más fácilmente los sistemas de archivos que están montados en los dispositivos, canalice la salida de mount a less.

mount | less

montaje |  menos en una ventana de terminal

Desplácese por la salida hasta que vea los sistemas de archivos que están conectados a los archivos especiales / dev.

montar [piped through less in a terminal window

2. The lsblk Command

The lsblk command lists the block devices, their mount point, and other information. Type lsblk at a command line:

lsblk

lsblk in a terminal window

The output shows:

Name: the name of the block device
Maj:Min: The major number shows the device type. The minimum number is the number of the current device out of the list of devices of that type. 7:4, for example, means loop device number 4.
RM: Whether the device is removable or not. 0 means no, 1 means yes.
Size is the capacity of the device.
RM: Whether the device is read-only or not. 0 means no, 1 means yes.
Type: The type of the device, for example, loop, dir (directory), disk, rom (CD ROM), and so on.
Mountpoint: Where the filesystem of the device is mounted.

lsblk output in a terminal window

To de-clutter the output and remove the loop devices, we can use the -e (exclude) option and provide the number of the type of devices we wish to ignore.

  Cómo actualizar a Linux Mint 19.3

This command will cause lsblk to ignore the loop (7) and cd room (11) devices.

lsblk -e 7,11

lsblk -e 7,11 in a terminal window

The results now only contain the hard drive sda.

lsblk output in a terminal window

3. The df Command

The df command reports on drive capacities and used and free space.

Type df on the command line and press Enter.

df

df in a terminal window

The output table shows:

Fileystem: The name of this filesystem.
1K-Blocks: The number of 1K blocks that are available on this filesystem.
Used: The number of 1K blocks that have been used on this file system.
Available: The number of 1K blocks that are unused on this file system.
Use%: The amount of space used in this file system given as a percentage.
File: The filesystem name, if specified on the command line.
Mounted on: The mount point of the filesystem.

output from df in a terminal window

To remove unwanted entries from the output, use the -x (exclude) option. This command will prevent the loop device entries from being listed.

df -x squashfs

df -x squashfs in a terminal window

The compact output is much easier to parse for the important information.

df output in a terminal window

4. The fdisk Command

The fdisk command is a tool designed to manipulate the disk partition table, but it can be used to view information as well. We can use this to our advantage when we are investigating the devices in a computer.

We will use the -l (list) option to list the partition tables. Because the output might be very long, we will pipe the output from fdisk through less. Because fdisk has the potential to alter disk partition tables, we must use sudo.

sudo fdisk -l

fdisk -l in a terminal window

By scrolling through less you will be able to identify the hardware devices. Here is the entry for hard drive sda. This is a physical hard drive of 10 GB.

output from fdisk in a terminal window

Now that we know the identity of one of the hardware devices we can ask fdisk to report on that item alone.

sudo fdisk -l /dev/sda

sudo fdisk -l /dev/sda in a terminal window

We get an output of considerably reduced length.

output of fdisk in a terminal window

5. The /proc Files

The pseudo-files in /proc can be viewed to obtain some system information. The file we will look at is /proc/mounts, which will give us some information regarding the mounted filesystems. We will use nothing grander than cat  to view the file.

cat /proc/mounts

cat /proc/mounts  in a terminal window

The listing shows the special device file in /dev that is used to interface to the device and the mount point on the filesystem tree.

output from cat /proc/mounts in a terminal window

We can refine the listing by using grep to look for entries with /dev/sd in them. This will filter out the physical drives.

cat /proc/mounts | grep /dev/sd

cat /proc/mounts | grep /dev/sd in a terminal window

This gives us a much more manageable report.

output from cat /proc/mounts in a terminal window

We can be slightly more inclusive by using grep to look for devices that have  /dev/sd and /dev/sr special device files. This will include hard drives and the CD ROM for this machine.

cat /proc/partitions | grep s[rd]

cat / proc / particiones |  grep s[rd] en una ventana de terminal

Ahora hay dos dispositivos y una partición incluidos en la salida.

salida de cat / proc / mounts en una ventana de terminal

6. El comando lspci

Las listas de comandos lspci todos los dispositivos PCI en su computadora.

lspci

lspci en una ventana de terminal

La información proporcionada es:

Ranura: la ranura en la que está instalado el dispositivo PCi
Clase: la clase del dispositivo.
Nombre del proveedor: el nombre del fabricante.
Nombre del dispositivo: el nombre del dispositivo.
Subsistema: nombre del proveedor del subsistema (si el dispositivo tiene un subsistema).
Nombre del subsistema: si el dispositivo tiene un subsistema.
Número de revisión: el número de versión del dispositivo
Interfaz de programación: la interfaz de programación, si el dispositivo la proporciona.

  Cómo escuchar Spotify sin el cliente oficial en Linux

salida lspci en una ventana de terminal

7. El comando lsusb

El comando lsusb listará los dispositivos que están conectado a puertos USB en su computadora, así como los dispositivos habilitados para USB que están integrados en su computadora.

lsusb

lsusb en una ventana de terminal

Esta computadora de prueba tiene un escáner Canon conectado como dispositivo USB 5 y una unidad USB externa como dispositivo USB 4. Los dispositivos 3 y 1 son controladores de interfaz USB internos.

Dispositivos USB enumerados en una ventana de terminal

Puede recibir una lista más detallada usando la opción -v (verbose), y una versión aún más detallada usando -vv.

8. El comando lsdev

El comando lsdev muestra información sobre todos los dispositivos instalados.

Este comando genera una gran cantidad de resultados, por lo que vamos a canalizarlo menos.

lsdev | less

lsdev |  menos en una ventana de terminal

Hay muchos dispositivos de hardware enumerados en la salida.

Salida de lsdev canalizada a través de less en una ventana de terminal

9. El comando lshw

El comando lshw enumera los dispositivos conectado a su computadora. Este es otro comando con mucha salida. En la computadora de prueba, se generaron más de 260 líneas de información. Lo pasaremos por menos una vez más.

Tenga en cuenta que debe usar sudo con lshw para aprovecharlo al máximo. Si no lo hace, no podrá acceder a todos los dispositivos.

sudo lshw | less

sudo lshw |  menos en una ventana de terminal

Aquí está la entrada para el CD ROM con una interfaz SCSI. Como puede ver, la información proporcionada para cada dispositivo es muy detallada. lshw lee la mayor parte de su información de varios archivos en / proc.

salida de lshw en menos en una ventana de terminal

Si desea una salida más corta y menos detallada, puede usar la opción –short.

10. El comando lsscsi

Como ya imaginaría, el comando lsscsi enumera los dispositivos SCSI conectado a su computadora.

lsscsi

lsscsi en una ventana de terminal

Estos son los dispositivos SCSI conectados a esta máquina de prueba.

Salida lsscsi en una terminal widnow

11. El comando dmidecode

Los comandos dmidecode decodifican el Tablas de Desktop Management Interface (DMI)y extrae información relacionada con el hardware conectado a la computadora y dentro de la computadora.

El DMI también se conoce a veces como SMBIOS (Sistema básico de entrada / salida de gestión del sistema), aunque en realidad son dos estándares diferentes.

Nuevamente, canalizaremos esto a través de menos.

dmidecode | less

Salida de dmidecode en una ventana de terminal

El comando dmidecode puede informar sobre más de 40 tipos de hardware diferentes.

12. El comando hwinfo

El comando hwinfo es el más detallado de todos. Cuando decimos que necesita canalizar algo a través de menos, esta vez no es opcional. En la computadora de prueba, generó 5850 líneas de salida.

Puede comenzar con suavidad al incluir la opción –short.

hwinfo --short

hwinfo: corto en una ventana de terminal

Si realmente necesita ver el detalle más fino, repita esto y omita la opción –short.

salida de hwinfo en menos en una ventana de terminal

Envuélvelo

Entonces, aquí está nuestra docena de formas de investigar los dispositivos dentro o conectados a su computadora.

Cualquiera que sea su interés particular en la búsqueda de este hardware, habrá un método en esta lista que le permitirá encontrar lo que necesita.