Índex
La terminal és una bona manera de moure’t pel sistema i executar comandes que et permeten fer accions més ràpid que si ho fessis amb el ratolí.
Bàsiques
Algunes de les més bàsiques són:
- pwd: mostra el directori actual
nadki@debian:~$ pwd
/home/nadki
- ls: llista el contingut de la carpeta
# Llistat per defecte
nadki@debian:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
# Llista amb detalls
nadki@debian:~$ ls -l
total 36
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Desktop
drwxr-xr-x 3 nadki nadki 4096 Jan 11 05:11 Documents
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Downloads
drwxr-xr-x 3 nadki nadki 4096 Jan 11 05:11 go
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Music
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Pictures
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Public
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Templates
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Videos
# Llista amb detalls i també els fitxers ocults
nadki@debian:~$ ls -la
total 124
drwxr-xr-x 15 nadki nadki 4096 Jan 11 05:11 .
drwxr-xr-x 3 root root 4096 Jan 10 10:21 ..
-rw------- 1 nadki nadki 296 Jan 11 05:07 .bash_history
-rw-r--r-- 1 nadki nadki 220 Jan 10 10:21 .bash_logout
-rw-r--r-- 1 nadki nadki 3526 Jan 10 10:21 .bashrc
drwxr-xr-x 7 nadki nadki 4096 Jan 11 05:11 .cache
drwx------ 7 nadki nadki 4096 Jan 11 05:03 .config
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Desktop
-rw-r--r-- 1 nadki nadki 35 Jan 10 10:23 .dmrc
drwxr-xr-x 3 nadki nadki 4096 Jan 11 05:11 Documents
drwxr-xr-x 2 nadki nadki 4096 Jan 10 10:23 Downloads
drwx------ 3 nadki nadki 4096 Jan 10 10:23 .gnupg
- cd: canvi de carpeta.
# Canvia a la carpeta Documents
nadki@debian:~$ cd Documents
# Canvia a la carpeta etc que esta a /
nadki@debian:~$ cd /etc
# Canvia a la carpeta anterior
nadki@debian:~$ cd ..
# Canvia a la HOME de l'usuari
nadki@debian:~$ cd
- mkdir: crea una nova carpeta (li has d’indicar el nom de la carpeta).
nadki@debian:~$ mkdir nadki
- rmidr: elimina una carpeta buida (li has d’indicar el nom de la carpeta).
nadki@debian:~$ rmdir nadki
- mv: mou i reanomena fitxers i carpetes.
# Mou el fitxer nadki.txt a la carpeta Documents
nadki@debian:~$ mv nadki.txt /home/nadki/Documents
# Mou el fitxer nadki.txt a la carpeta Documents però en canvia el nom
nadki@debian:~$ mv nadki.txt /home/nadki/Documents/nadki2.txt
- rm: elimina fitxers i carpetes.
# Elimina fitxer
nadki@debian:~$ rm nadki.txt
# Elimina carpeta i el seu contingut
nadki@debian:~$ rm -r nadki/
- cp: copia fitxers o carpetes
nadki@debian:~$ cp nadki.txt Documents/
- which: indica la carpeta on hi ha el binari:
nadki@debian:~$ which ls
/bin/ls
Totes aquestes comandes no deixen de ser programes, anomenats binaris, que estan emmagatzemats a algun lloc del sistema operatiu. Normalment a /sbin, /usr/bin o /usr/sbin.
Per poder executar les comandes sense haver d’escriure el directori complet cada vegada, el que es fa és afegir els directoris a la variable global $PATH.
Per exemple, si tens un binari que es diu nadki a la carpeta /home/nadki/Documents/bin/ i vols poder-lo executar sense haver d’escriure tot, hauràs d’afegir aquest directori a la variable PATH.
nadki@debian:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
nadki@debian:~$ nadki
bash: nadki: command not found
# Afegir directori al PATH
nadki@debian:~$ export PATH="/home/nadki/Documents/bin:$PATH"
nadki@debian:~$ echo $PATH
/home/nadki/Documents/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
nadki@debian:~$ nadki
Comanda executada!
Algunes comandes com cd o pwd no tenen binaris enlloc, sinó que les gestiona directament la terminal.
- {} a una comanda: et permet executar la mateixa comanda amb cada un dels valors. Per exemple, si vols crear tres documents, les dues comandes següents tenen el mateix efecte:
nadki@debian:~$ touch /home/nadki/fitxer1.txt /home/nadki/fitxer2.txt /home/nadki/fitxer3.txt
nadki@debian:~$ touch /home/nadki/fitxer{1,2,3}.txt
Llegir i editar fitxers
- cat: mostra el contingut del fitxer.
- less o more: mostren el contingut del fitxer per pàgina. Normalment, s’utilitzen quan el fitxer és molt gran per llegir-lo amb cat.
- nano: permet llegir i editar fitxers.
- vi: permet llegir i editar fitxers. Més complex de fer servir que nano.
Buscar fitxers
- find: permet buscar fitxers pel nom.
# Busca el fitxer hosts a la carpeta /etc
nadki@debian:~$ find /etc -name hosts
/etc/hosts
/etc/avahi/hosts
# Busca tots els fitxers que comencin per "host" a la carpeta /etc
nadki@debian:~$ find /etc -name "hosts*"
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/avahi/hosts
- grep: permet buscar dins dels fitxers. És compatible amb expressions regulars.
# Busca el text a tots els fitxers de la carpeta de manera recursiva
nadki@debian:~$ grep -rnw /home/ -e 'contrasenya'
# Busca utilitzant regex (atribut -E)
nadki@debian:~$ grep -Eo 'REGEX' -r *
Alguns exemples de REGEX:
# IP (999.999.999.999)
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
# Email
[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
# DNI
[0-9]{8,8}[A-Za-z]$
# IBAN
[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}
# Base64
(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$
- locate: permet buscar fitxers. A diferència del find, no buscar per tot el sistema, sinó que té una base de dades i, per tant, va més de pressa.
# Actualitza la base de dades
nadki@debian:~$ sudo updatedb
nadki@debian:~$ locate nadki.txt
/home/nadki/Documents/nadki.txt
Gestionar processos
- ps aux: llista tots els processos que s’estan executant al sistema.
nadki@debian:~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 99812 10676 ? Ss 05:02 0:02 /sbin/init
root 132 0.0 0.0 0 0 ? S 05:02 0:00 [card0-crtc7]
root 171 0.0 0.0 0 0 ? S 05:02 0:00 [jbd2/sda1-8]
root 172 0.0 0.0 0 0 ? I< 05:02 0:00 [ext4-rsv-conver]
root 209 0.0 0.2 48408 17504 ? Ss 05:02 0:00 /lib/systemd/systemd-journald
root 239 0.0 0.0 23276 6324 ? Ss 05:02 0:00 /lib/systemd/systemd-udevd
root 285 0.0 0.0 0 0 ? I< 05:02 0:00 [cryptd]
[...]
# Es pot concatenar amb grep per buscar processos específics
nadki@debian:~$ ps aux | grep -i vbox
root 584 0.0 0.0 293716 3336 ? Sl 05:02 0:00 /usr/sbin/VBoxService --pidfile /var/run/vboxadd-service.sh
nadki 1200 0.0 0.0 19956 184 ? S 05:05 0:00 /usr/bin/VBoxClient --clipboard
nadki 1202 0.0 0.0 152224 3936 ? Sl 05:05 0:00 /usr/bin/VBoxClient --clipboard
nadki 1212 0.0 0.0 19956 180 ? S 05:05 0:00 /usr/bin/VBoxClient --seamless
[...]
- kill: mata els processos. Normalment, es necessita permisos de root per executar-lo.
Has d’indicar com vols matar el procés:
Senyal | ID | Descripció |
---|---|---|
SIGHUP | 1 | En espera |
SIGINT | 2 | Interrupció de teclat |
SIGKILL | 9 | Mata directament |
SIGTERM | 15 | Acaba correctament |
SIGSTOP | 17, 19, 23 | Atura el procés |
nadki@debian:~$ kill -9 PID_DEL_PROCÉS
També pots executar programes en segon pla si al final de la comanda li poses &.
nadki@debian:~$ python3 -m http.server &
[1] 25090
nadki@debian:~$
- jobs: llista tots els processos executant-se en segon pla.
nadki@debian:~$ jobs
[1]+ Running python3 -m http.server &
- fg: permet recuperar la comanda que s’està executant en segon pla.
nadki@debian:~$ fg 1
python3 -m http.server
Si quan s’està executant una comanda cliques Control+Z, aturaràs l’execució.
nadki@debian:~$ python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
^Z
[1]+ Stopped python3 -m http.server
- bg: permet executar la comanda que està en pausa.
nadki@debian:~$ bg 1
[1]+ python3 -m http.server &
També pots matar els processos en segon pla referenciant-los directament amb l’id de la comanda jobs:
nadki@debian:~$ jobs -l
[1]- 3605 Running ping -i 10 localhost &
[2]+ 3606 Running ping -i 10 127.0.0.1 &
nadki@debian:~$ kill %1
nadki@debian:~$ jobs -l
[1]- 3605 Terminated ping -i 10 localhost
[2]+ 3606 Running ping -i 10 127.0.0.1 &
Permisos
Linux és multiusuari, això implica que ha de tenir un sistema de seguretat per controlar que pot fer i accedir cada usuari.
Cada fitxer o carpeta té els permisos dividits en tres categories:
- Propietari: se simbolitza amb la lletra u (User).
- Grup: representa tots els membres d’un grup i se simbolitza amb la lletra g (Group).
- Altres: se simbolitza amb la lletra o (Other).
Cada categoria té tres tipus de permisos diferents, que es poden combinar:
- Llegir: permís per obrir i llegir un fitxer. Permís per llistar el contingut d’una carpeta. Se simbolitza amb la lletra r (Read).
- Escriure: permís per modificar el fitxer. Permís per crear, eliminar o reanomenar els fitxers de la carpeta. Se simbolitza amb la lletra w (Write).
- Execució: permís per executar el fitxer. Permís per creuar el directori (accedir a una carpeta d’aquest). Se simbolitza amb la lletra x (eXecute).
Nota: si un directori té permisos d’escriptura i execució, però no lectura, l’usuari podrà editar i executar fitxers del subdirectori sempre que en sàpiga el nom, ja que no pot llistar.
nadki@debian:~/Documents/tools/impacketnadki@debian:~$ ls -la
total 132
drwxr-xr-x 7 nadki nadki 4096 Jan 11 05:13 .
drwxr-xr-x 10 nadki nadki 4096 Jan 11 05:15 ..
-rw-r--r-- 1 nadki nadki 37039 Jan 11 05:13 ChangeLog.md
-rw-r--r-- 1 nadki nadki 444 Jan 11 05:13 Dockerfile
drwxr-xr-x 2 nadki nadki 4096 Jan 11 05:13 examples
drwxr-xr-x 8 nadki nadki 4096 Jan 11 05:13 .git
drwxr-xr-x 4 nadki nadki 4096 Jan 11 05:13 .github
-rw-r--r-- 1 nadki nadki 844 Jan 11 05:13 .gitignore
drwxr-xr-x 6 nadki nadki 4096 Jan 11 05:13 impacket
-rw-r--r-- 1 nadki nadki 8376 Jan 11 05:13 LICENSE
-rw-r--r-- 1 nadki nadki 227 Jan 11 05:13 MANIFEST.in
-rw-r--r-- 1 nadki nadki 5159 Jan 11 05:13 README.md
-rw-r--r-- 1 nadki nadki 17 Jan 11 05:13 requirements-test.txt
-rw-r--r-- 1 nadki nadki 189 Jan 11 05:13 requirements.txt
-rw-r--r-- 1 nadki nadki 320 Jan 11 05:13 SECURITY.md
-rw-r--r-- 1 nadki nadki 3008 Jan 11 05:13 setup.py
-rw-r--r-- 1 nadki nadki 10768 Jan 11 05:13 TESTING.md
drwxr-xr-x 8 nadki nadki 4096 Jan 11 05:13 tests
-rw-r--r-- 1 nadki nadki 1356 Jan 11 05:13 tox.ini
Setiud i setgid
Hi ha dos permisos que són molt importants si el fitxer és un executable: setuid i setgid, representats amb la lletra s. Aquests permisos tenen valors booleans, és a dir 0 o 1.
Permeten a qualsevol usuari executar el fitxer com si fos el propietari d’aquest. D’aquesta manera, atorga privilegis més elevats a l’usuari.
Com que el setuid d’un programa propietat de root permetria a un usuari executar-lo amb permisos de sistema i possiblement impersonar l’usuari root i comprometre tot el sistema, és crucial assegurar-se que cap fitxer no desitjat tingui aquest permís.
Per exemple, imagina que tens aquest executable que indica si s’ha executat com a root o no, i mostra el UID:
nadki@debian:~$ cat test.sh
#!/bin/bash
if [[ "$EUID" -ne 0 ]]; then
echo "Executat com a Nadki"
else echo "Executat com a Root"
fi
echo "UID: $(id -u)"
Linux té un sistema de seguretat que no permet executar scripts amb els bits setuid i setgid. Si ho intentes, veuràs que sempre s’executarà amb l’usuari amb el qual l’executes i no amb el propietari. Per tant, per a poder fer aquest exemple correctament, creo un fitxer .c que executa l’script anterior:
nadki@debian:~$ cat test.c
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
setuid(0);
system("./test.sh");
return 0;
}
nadki@debian:~$ gcc test.c -o test
L’uid de l’usuari Nadki és 1001 i el de root és 0:
nadki@debian:~$ id
uid=1001(nadki) gid=1001(nadki) groups=1001(nadki),27(sudo),998(vboxsf)
nadki@debian:~$ sudo id
uid=0(root) gid=0(root) groups=0(root)
Amb els permisos per defecte (755), l’script s’executa amb els permisos de l’usuari:
nadki@debian:~$ ls -la test
-rwxr-xr-x 1 nadki nadki 16656 Feb 16 06:42 test
nadki@debian:~$ ./test
Executat com a Nadki
UID: 1001
nadki@debian:~$ sudo ./test
Executat com a Root
UID: 0
Ara canvio els permisos. El propietari serà root i afegeixo el bit setuid:
nadki@debian:~$ sudo chown root test
nadki@debian:~$ sudo chgrp root test
nadki@debian:~$ sudo chmod 4755 test
nadki@debian:~$ ls -la test
-rwsr-xr-x 1 root root 16656 Feb 16 06:42 test
Ara, si executo el programa amb l’usuari Nadki, en lloc d’executar-se com a Nadki, s’executa com a root:
nadki@debian:~$ ./test
Executat com a Root
UID: 0
Ja que el bit setuid permet executar el fitxer com si fos el propietari, en aquest cas root.
El permís setgid també s’aplica a carpetes. Qualsevol fitxer creat a la carpeta se li assignarà automàticament el grup de la carpeta en lloc del grup del propietari que ha creat el fitxer.
El bit seguid funciona exactament igual, però en lloc d’executar-se com si fos el propietari, s’executaria com si fos el grup.
Sticky bit
Aquest permís està representat amb la lletra t. És un permís que s’utilitza només a directoris. Aquest bit s’acostuma a assignar a carpetes on tots els usuaris tenen accés, com /tmp o /var/tmp. Evita que un usuari pugui eliminar fitxers o carpetes d’altres usuaris dins d’aquest directori, ja que normalment acostumen a tenir permís d’escriptura.
Per l’exemple he creat una carpeta que es diu test amb permisos 777. L’usuari Nadki2 crea un fitxer també amb permisos 777 i l’usuari Nadki intentarà eliminar-lo.
Com pots veure, quan no hi ha sticky bit, els usuaris poden eliminar fitxers d’altres sense problemes:
nadki@debian:/home/nadki2/test$ ls -la
total 8
drwxrwxrwx 2 nadki2 nadki2 4096 Feb 16 10:45 .
drwxr-xr-x 3 nadki2 nadki2 4096 Feb 16 10:31 ..
-rwxrwxrwx 1 nadki2 nadki2 0 Feb 16 10:32 sticky
nadki@debian:/home/nadki2/test$ rm sticky
nadki@debian:/home/nadki2/test$ ls -la
total 8
drwxrwxrwx 2 nadki2 nadki2 4096 Feb 16 10:49 .
drwxr-xr-x 3 nadki2 nadki2 4096 Feb 16 10:31 ..
Nadki2 ha assignat l’sticky bit a la carpeta:
nadki2@debian:~$ chmod 1777 test/
nadki@debian:/home/nadki2/test$ ls -la
total 8
drwxrwxrwt 2 nadki2 nadki2 4096 Feb 16 10:49 .
drwxr-xr-x 3 nadki2 nadki2 4096 Feb 16 10:31 ..
-rwxrwxrwx 1 nadki2 nadki2 0 Feb 16 10:49 sticky
nadki@debian:/home/nadki2/test$ rm sticky
rm: cannot remove 'sticky': Operation not permitted
Només els propietaris poden eliminar els seus fitxers:
nadki2@debian:~/test$ ls -la
total 8
drwxrwxrwt 2 nadki2 nadki2 4096 Feb 16 10:49 .
drwxr-xr-x 3 nadki2 nadki2 4096 Feb 16 10:31 ..
-rwxrwxrwx 1 nadki2 nadki2 0 Feb 16 10:49 sticky
nadki2@debian:~/test$ rm sticky
nadki2@debian:~/test$ ls -la
total 8
drwxrwxrwt 2 nadki2 nadki2 4096 Feb 16 10:52 .
drwxr-xr-x 3 nadki2 nadki2 4096 Feb 16 10:31 ..
Canviar permisos
Hi ha tres comandes que et permeten modificar els permisos:
- chown: canvia el propietari d’un fitxer
- chgrp: canvia el propietari d’un grup
- chmod: canvia els permisos d’un fitxer
Hi ha dues maneres de representar els permisos. Els símbols mencionats anteriorment (u, g, o):
nadki@debian:~$ chmod u=rwx,g=rx,o=r nadki.txt
O amb representació numèrica (octal), on cada número representa una categoria i el número els permisos (es tradueix el número en binari, 1 té el permís, 0 no el té).
# Tothom pot llegir, escriure i executar
nadki@debian:~$ chmod 777 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rwxrwxrwx 1 nadki nadki 0 Jan 11 09:35 nadki.txt
# Només el propietari pot modificar, la resta poden llegir i executar
nadki@debian:~$ chmod 755 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rwxr-xr-x 1 nadki nadki 0 Jan 11 09:35 nadki.txt
# Només el propietari llegir i escriure, la resta dels usuaris només poden llegir
nadki@debian:~$ chmod 644 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rw-r--r-- 1 nadki nadki 0 Jan 11 09:35 nadki.txt
# Només el propietari llegir i escriure, la resta dels usuaris no poden fer res
nadki@debian:~$ chmod 600 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rw------- 1 nadki nadki 0 Jan 11 09:35 nadki.txt
Les combinacions més usades, acostumen a ser 755 per executables i 644 per fitxers.
Els permisos especials com setuid, setgid i sticky bit són el 4, 2 i 1 respectivament.
# Permís setuid amb 644
nadki@debian:~$ chmod 4644 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rwSr--r-- 1 nadki nadki 0 Jan 11 09:35 nadki.txt
# Permís sticky bit amb 644
nadki@debian:~$ chmod 1644 nadki.txt
nadki@debian:~$ ls -la nadki.txt
-rw-r--r-T 1 nadki nadki 0 Jan 11 09:35 nadki.txt
Logs i informació del sistema
- free: mostra informació sobre la memòria
nadki@debian:~$ free
total used free shared buff/cache available
Mem: 8148772 493132 215812 10304 7439828 7341448
Swap: 998396 780 997616
# Mostra l'informació en MB (-m) o GB (-g)
nadki@debian:~$ free -m
total used free shared buff/cache available
Mem: 7957 471 220 9 7265 7179
Swap: 974 0 974
- df: mostra informació sobre el disc
nadki@debian:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4049752 0 4049752 0% /dev
tmpfs 814880 932 813948 1% /run
/dev/sda1 31861548 10444572 19772944 35% /
tmpfs 4074384 0 4074384 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 814876 52 814824 1% /run/user/1000
# L'atribut -h mostra els valors més llegibles
nadki@debian:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 796M 932K 795M 1% /run
/dev/sda1 31G 10G 19G 35% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 796M 52K 796M 1% /run/user/1000
- id: mostra l’usuari amb el qual s’ha iniciat sessió i als grups als quals pertany
nadki@debian:~$ id
uid=1000(nadki) gid=1000(nadki) groups=1000(nadki),27(sudo)
- uname -a: mostra diversa informació del sistema:
uname -a
Linux ProjecteNadki 5.10.0-20-amd64 #1 SMP Debian 5.10.158-2 (2022-12-13) x86_64 GNU/Linux
- dmesg: mostra els logs del kernel. Necessites permisos de root.
- journalctl: mostra diversos logs, com stdout/stderr dels serveis, missatges syslog o logs del kernel. Si l’executes sense arguments, et mostrarà tots els logs amb ordre cronològic. Amb l’atribut -r te’ls mostrarà en l’ordre invers, és a dir els més nous primer. L’opció -f et permetrà veure els logs en temps real. L’opció -u permet veure els logs d’un systemd específic, com per exemple el servei SSH (ssh.service).
Hardware
La majoria de la informació que el kernel detecta sobre el hardware, l’emmagatzema a les carpetes /proc/ i /sys/. Hi ha diverses eines que permeten extreure fàcilment la informació.
- lspci: llista els dispositius PCI
nadki@debian:~$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: VMware SVGA II Adapter
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)
- lsusb: llista els dispositius USB
nadki@debian:~$ lsusb
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
- lsdev: llista els recursos que utilitzen els dispositius per comunicar-se. Aquesta eina no ve per defecte a Debian, has d’instal·lar el paquet procinfo.
nadki@debian:~$ lsdev
Device DMA IRQ I/O Ports
------------------------------------------------
0000:00:01.1 0000-0000 0000-0000 0000-0000 0000-0000 0000-0000
0000:00:02.0 0000-0000
0000:00:03.0 0000-0000
0000:00:04.0 0000-0000
0000:00:05.0 0000-0000 0000-0000
0000:00:07.0 0000-0000 0000-0000
0000:00:0d.0 0000-0000 0000-0000 0000-0000 0000-0000 0000-0000
acpi 9
ACPI 0000-0000 0000-0000 0000-0000 0000-0000
ahci 0000-0000 0000-0000 0000-0000 0000-0000 0000-0000
ata_piix 14 15 0000-0000 0000-0000 0000-0000 0000-0000 0000-0000
cascade 4
dma 0000-0000
dma1 0000-0000
dma2 0000-0000
e1000 0000-0000
enp0s3 19
fpu 0000-0000
i8042 1 12
Intel 0000-0000 0000-0000
keyboard 0000-0000 0000-0000
ohci_hcd:usb1 22
PCI 0000-0000 0000-0000 0000-0000
pic1 0000-0000
pic2 0000-0000
- lshw: és una combinació dels programes anteriors. No ve per defecte, així que l’has d’instal·lar amb apt.
nadki@debian:~$ lshw
WARNING: you should run this program as super-user.
projectenadki
description: Computer
width: 64 bits
capabilities: vsyscall32
*-core
description: Motherboard
physical id: 0
*-memory
description: System memory
physical id: 0
size: 8GiB
*-cpu
product: AMD Ryzen 5 3600 6-Core Processor
vendor: Advanced Micro Devices [AMD]
physical id: 1
bus info: cpu@0
width: 64 bits
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp x86-64 constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid tsc_known_freq pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm cr8_legacy abm sse4a misalignsse 3dnowprefetch ssbd vmmcall fsgsbase avx2 rdseed clflushopt arat
*-pci
...