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

PC con Linux que muestra un indicador de shell
Fatmawati Achmad Zaenuri / Shutterstock.com

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 grepu 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 que nuestros lectores elijan cuáles usarán y cuáles dejarán intactos.

Requiere alguna instalación

La mayoría de estos comandos se incluyen 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 lsdevcomando. El lsscsicomando también debía instalarse en los tres.

Para instalar lsdevy 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 instalar procinfo
sudo dnf instalar 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 hwinfoinstalarse, y Fedora también requería lshwe hdparminstalarse.

Ubuntu:

sudo apt-get install hwinfo

sudo apt-get install hwinfo en una ventana de terminal

Fedora:

sudo dnf instalar hwinfo
sudo dnf instalar lshw
sudo dnf instalar 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.

montar

montar en una ventana de terminal

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

Relacionado:  Cómo usar filtros de Wireshark en Linux

salida del montaje en una ventana de terminal

Si detecta 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 se usa greppara filtrar los detalles de cualquier unidad que comience con «sd».

montar | grep / dev / sd

montar |  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 mountnos 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 anterior a 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 ser capaz de desplazarse a través de la salida de mounty más fácilmente detectar los sistemas de ficheros que se montan en los dispositivos, el tubo de la salida de mounttravés less.

montar | Menos

montar |  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.

mount [canalizado a través de less en una ventana de terminal

2. El comando lsblk

El lsblkcomando enumera los dispositivos de bloque , su punto de montaje y otra información. Escriba lsblken una línea de comando:

lsblk

lsblk en una ventana de terminal

La salida muestra:

  • Nombre : el nombre del dispositivo de bloqueo
  • Maj: Min : el número principal muestra el tipo de dispositivo. El número mínimo es el número del dispositivo actual de la lista de dispositivos de ese tipo. 7: 4, por ejemplo, significa dispositivo de bucle número 4.
  • RM : si el dispositivo es extraíble o no. 0 significa no, 1 significa sí.
  • El tamaño es la capacidad del dispositivo.
  • RM : si el dispositivo es de solo lectura o no. 0 significa no, 1 significa sí.
  • Tipo : el tipo de dispositivo, por ejemplo, bucle, dir (directorio), disco, rom (CD ROM), etc.
  • Mountpoint : donde se monta el sistema de archivos del dispositivo.

salida lsblk en una ventana de terminal

Para ordenar la salida y eliminar los dispositivos de bucle, podemos usar la -eopción (excluir) y proporcionar el número del tipo de dispositivos que deseamos ignorar.

Este comando hará lsblkque se ignoren los dispositivos loop (7) y cd room (11).

lsblk -e 7,11

lsblk -e 7,11 en una ventana de terminal

Los resultados ahora solo contienen el disco duro sda.

Relacionado:  Cómo echar un vistazo a los archivos binarios desde la línea de comandos de Linux

salida lsblk en una ventana de terminal

3. El comando df

El dfcomando informa sobre las capacidades de la unidad y el espacio utilizado y libre .

Escriba dfen la línea de comando y presione Entrar.

df

df en una ventana de terminal

La tabla de salida muestra:

  • Sistema de archivos : el nombre de este sistema de archivos.
  • 1K-Blocks : la cantidad de 1K bloques que están disponibles en este sistema de archivos.
  • Usado : el número de bloques de 1K que se han usado en este sistema de archivos.
  • Disponible : el número de bloques de 1K que no se utilizan en este sistema de archivos.
  • Use% : la cantidad de espacio usado en este sistema de archivos expresada como porcentaje.
  • Archivo : el nombre del sistema de archivos, si se especifica en la línea de comando.
  • Montado en : el punto de montaje del sistema de archivos.

salida de df en una ventana de terminal

Para eliminar entradas no deseadas de la salida, use la -xopción (excluir). Este comando evitará que se enumeren las entradas del dispositivo de bucle.

df -x squashfs

df -x squashfs en una ventana de terminal

La salida compacta es mucho más fácil de analizar para la información importante.

salida df en una ventana de terminal

4. El comando fdisk

El fdiskcomando es una herramienta diseñada para manipular la tabla de particiones del disco, pero también se puede usar para ver información . Podemos usar esto a nuestro favor cuando investigamos los dispositivos en una computadora.

Usaremos la -lopción (lista) para listar las tablas de particiones. Debido a que el resultado puede ser muy largo, vamos a canalizar la salida del fdiskmedio less. Debido a que fdisktiene el potencial de alterar las tablas de particiones del disco, debemos usar sudo.

sudo fdisk -l

fdisk -l en una ventana de terminal

Al desplazarse less, podrá identificar los dispositivos de hardware. Aquí está la entrada para disco duro sda. Este es un disco duro físico de 10 GB.

salida de fdisk en una ventana de terminal

Ahora que conocemos la identidad de uno de los dispositivos de hardware, podemos solicitar fdiskque se informe solo sobre ese elemento.

sudo fdisk -l / dev / sda

sudo fdisk -l / dev / sda en una ventana de terminal

Obtenemos una salida de longitud considerablemente reducida.

salida de fdisk en una ventana de terminal

5. Los archivos / proc

Los pseudoarchivos en / proc se pueden ver para obtener información del sistema. El archivo que veremos es / proc / mounts, que nos dará alguna información sobre los sistemas de archivos montados. No usaremos nada más grandioso que cat  ver el archivo.

cat / proc / monturas

cat / proc / se monta en una ventana de terminal

La lista muestra el archivo de dispositivo especial en / dev que se utiliza para interactuar con el dispositivo y el punto de montaje en el árbol del sistema de archivos.

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

Podemos refinar la lista usando greppara buscar entradas con / dev / sd en ellas. Esto filtrará las unidades físicas.

cat / proc / mounts | grep / dev / sd

cat / proc / mounts |  grep / dev / sd en una ventana de terminal

Esto nos da un informe mucho más manejable.

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

Podemos ser un poco más inclusivos usando greppara buscar dispositivos que tengan archivos de dispositivo especiales / dev / sd y / dev / sr. Esto incluirá discos duros y el CD ROM de esta máquina.

cat / proc / particiones | 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

El lspcicomando enumera 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.
Relacionado:  Cómo mostrar la fecha y la hora en la terminal de Linux (y usarla en scripts Bash)

salida lspci en una ventana de terminal

7. El comando lsusb

El lsusbcomando enumerará los dispositivos que están conectados a los puertos USB de 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 utilizando la -vopción (detallada), e incluso una versión más detallada utilizando -vv.

8. El comando lsdev

El lsdevcomando muestra información sobre todos los dispositivos instalados .

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

lsdev | Menos

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 lshwcomando enumera los dispositivos conectados 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 canalizaremos lessuna vez más.

Tenga en cuenta que debe usar sudocon para aprovecharlo lshwal máximo. Si no lo hace, no podrá acceder a todos los dispositivos.

sudo lshw | Menos

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. lshwlee 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 --shortopción.

10. El comando lsscsi

Como ya imaginaría, el lsscsicomando enumera los dispositivos SCSI conectados 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 dmidecodecomandos decodifican las tablas de Desktop Management Interface (DMI) y extraen 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 de entrada / salida básico de gestión del sistema), aunque en realidad son dos estándares diferentes.

Nuevamente, lo canalizaremos less.

dmidecode | Menos

Salida de dmidecode en una ventana de terminal

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

12. El comando hwinfo

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

Puede comenzar las cosas suavemente al incluir la --shortopción.

hwinfo - corto

hwinfo: corto en una ventana de terminal

Si realmente necesita ver los detalles más finos, repita esto y omita la --shortopción.

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.