Les ordres de Linux més utilitzades que hauríeu de conèixer


Linux és un sistema operatiu (SO) molt popular entre programadors i usuaris habituals. Un dels motius principals de la seva popularitat és el seu excepcional suport de línia d'ordres. Només podem gestionar tot el sistema operatiu Linux mitjançant la interfície de línia d'ordres (CLI). Això ens permet realitzar tasques complexes amb poques ordres.

En aquesta guia, parlarem d'algunes ordres d'ús habitual que són útils per a administradors de sistemes experimentats o per a principiants. Després de seguir aquesta guia, els usuaris podran utilitzar el sistema Linux amb confiança.

Per a una millor organització, aquestes ordres s'agrupen en tres seccions: sistema de fitxers, xarxes i informació del sistema.

Ordres del sistema de fitxers Linux

En aquesta secció, parlarem d'algunes de les ordres útils relacionades amb fitxers i directoris a Linux.

L'ordre cat s'utilitza principalment per mostrar el contingut del fitxer. Llegeix el contingut del fitxer i el mostra a la sortida estàndard (stdout).

La sintaxi comuna de l'ordre cat és:

$ cat [OPTIONS] [FILE1] [FILE2] ...

Mostrem el contingut del fitxer /etc/os-release mitjançant l'ordre cat:

$ cat /etc/os-release

A més, també podem utilitzar l'opció -n de l'ordre per mostrar el contingut amb el número de línia:

$ cat -n /etc/os-release

L'ordre cp és útil per copiar fitxers, grups de fitxers i directoris.

La sintaxi comuna de l'ordre cp és:

$ cp [OPTIONS]  

Aquí, els claudàtors ([]) representen els arguments opcionals mentre que els claudàtors (<>) representen els arguments essencials.

Copiem el fitxer /etc/os-release al directori /tmp:

$ cp /etc/os-release /tmp/new-file.txt

Ara, mostrem el contingut del fitxer per verificar que s'ha copiat:

$ cat /tmp/new-file.txt

De la mateixa manera, podem copiar el directori mitjançant l'ordre cp. Copiem el directori /etc/cron.d dins del directori /tmp:

$ cp -r /etc/cron.d /tmp

Hem utilitzat l'opció -r amb l'ordre cp, que representa l'operació recursiva. Copia el directori de forma recursiva que inclou els seus fitxers i subdirectoris.

En el següent exemple, veurem com verificar que el directori s'ha copiat correctament.

$ ls /tmp/cron.d
$ ls -l /tmp/cron.d

L'ordre ls s'utilitza per llistar el contingut del directori i ordenar els fitxers per mida i hora de darrera modificació en ordre descendent.

La sintaxi comuna de l'ordre ls és:

$ ls [OPTIONS] [FILE1] [FILE2] ...

Si no proporcionem cap argument a l'ordre ls, mostrarà el contingut del directori actual.

$ ls

A l'exemple anterior, vam copiar el directori /etc/cron.d al directori /tmp. Comprovem que hi és present i que conté els fitxers necessaris:

$ ls /tmp/cron.d

Podem utilitzar l'opció -l amb l'ordre ls per mostrar informació més detallada com ara: permisos de fitxer, propietari, marca de temps, mida, etc.

Descobrim més detalls sobre els fitxers presents al directori /tmp/cron.d:

$ ls -l /tmp/cron.d

Sovint creem una estructura de directoris per organitzar els continguts. A Linux, podem utilitzar l'ordre mkdir per crear un directori o diversos directoris i establir els permisos correctes per als directoris.

La sintaxi comuna de l'ordre mkdir és:

$ mkdir [OPTIONS] <DIRECTORY1> <DIRECTORY2> ...

Creem un directori amb el nom dir-1 al directori /tmp:

$ mkdir /tmp/dir-1

Ara, comprovem que s'ha creat el directori:

$ ls /tmp/dir-1

Aquí, podem veure que l'ordre ls no informa de cap error, cosa que significa que el directori hi és present.

De vegades, hem de crear una estructura de directoris imbricada per a una millor organització de les dades. En aquests casos, podem utilitzar l'opció -p de l'ordre per crear uns quants directoris imbricats al directori /tmp/dir-1:

$ mkdir -p /tmp/dir-1/dir-2/dir-3/dir-4/dir-5

A l'exemple anterior, hem creat 4 nivells dels directoris imbricats. Confirmem-ho amb l'ordre ls:

$ ls -R /tmp/dir-1

Aquí, hem utilitzat l'opció -R amb l'ordre per mostrar el contingut del directori d'una manera recursiva.

Per auditar les darreres ordres executades, podeu utilitzar l'ordre history, que mostra la llista de les darreres ordres executades en una sessió de terminal.

$ history

Per veure l'historial d'ordres amb una marca de temps, heu de configurar la marca de temps a l'historial de bash, executeu:

$ HISTTIMEFORMAT="%d/%m/%y %T "             #Temporarily set the history timestamp
$ export HISTTIMEFORMAT="%d/%m/%y %T "      #Permanently set the history timestamp
$ history

Com comprovareu els 10 fitxers principals que s'estan consumint espai al vostre disc? Un script senzill d'una línia fet a partir de l'ordre du, que s'utilitza principalment per utilitzar l'espai de fitxers.

$ du -hsx * | sort -rh | head -10

Explicació de les opcions i commutadors d'ordres anteriors.

  • du – Estima l'ús d'espai de fitxers.
  • -hsx – (-h) Format de lectura humana, (-s) Sortida de resums, (-x) Format d'un fitxer, saltar directoris en altres formats de fitxer.
  • ordena: ordena les línies del fitxer de text.
  • -rh – (-r) Inverteix el resultat de la comparació, (-h) per comparar el format llegible per persones.
  • head: emet les primeres n línies del fitxer.

L'ordre stat s'utilitza per obtenir la informació sobre la mida del fitxer, el permís d'accés, el temps d'accés i l'ID d'usuari i l'ID de grup del fitxer.

$ stat anaconda-ks.cfg

Comandes de xarxa de Linux

En aquesta secció, parlarem d'alguns dels problemes relacionats amb la xarxa.

Una de les operacions molt habituals que es realitzen a qualsevol xarxa és comprovar si un host concret és accessible o no. Podem utilitzar l'ordre ping per comprovar la connectivitat amb l'altre host.

La sintaxi general de l'ordre ping és:

$ ping [OPTIONS] <destination>

Aquí, la destinació pot ser una adreça IP o un nom de domini totalment qualificat (FQDN), com ara google.com. Comprovem que el sistema actual es pot comunicar amb Google:

$ ping -c 4 google.com

A l'exemple anterior, l'ordre mostra les estadístiques sobre la comunicació de xarxa, que mostra que la resposta es rep per a les quatre peticions de xarxa (paquets). És important tenir en compte que hem utilitzat l'opció -c amb l'ordre per limitar el nombre de sol·licituds a enviar a l'amfitrió en particular.

Vegem l'exemple quan es trenca la comunicació entre els dos amfitrions.

Per simular aquest escenari, intentarem arribar a una adreça IP no accessible. En aquest cas, és 192.168.10.100:

$ ping -c 4 192.168.10.100

Aquí, podem veure que no hem rebut cap resposta per a cap sol·licitud de xarxa. Per tant, l'ordre informa de l'error: host de destinació inaccessible.

De vegades, hem de trobar l'adreça IP del domini concret. Per aconseguir-ho, podem utilitzar l'ordre host, que realitza una cerca de DNS i tradueix FQDN a adreça IP i viceversa.

La sintaxi general de l'ordre host és:

$ host [OPTIONS] <destination>

Aquí, la destinació pot ser una adreça IP o FQDN.

Descobrim l'adreça IP de google.com mitjançant l'ordre host:

$ host google.com

Tots els detalls sobre els dominis registrats s'emmagatzemen a la base de dades centralitzada i es poden consultar mitjançant l'ordre whois, que mostra detalls sobre el domini en particular.

La sintaxi general de l'ordre whois és:

$ whois [OPTIONS] <FQDN>

Descobrim els detalls de google.com:

$ whois google.com

Aquí, podem veure molta informació detallada com ara: registre/renovació/data de caducitat del domini, proveïdor de domini, etc.

És important tenir en compte que l'ordre whois no està disponible per defecte en tots els sistemes. Tanmateix, el podem instal·lar mitjançant el gestor de paquets. Per exemple, al gestor de paquets apt:

$ sudo apt install whois

En distribucions basades en RHEL i altres, podeu instal·lar-lo tal com es mostra.

$ sudo yum install whois         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a net-misc/whois  [On Gentoo Linux]
$ sudo apk add whois             [On Alpine Linux]
$ sudo pacman -S whois           [On Arch Linux]
$ sudo zypper install whois      [On OpenSUSE]    

Ordres d'informació del sistema Linux

En aquesta secció, parlarem d'algunes de les ordres que poden proporcionar detalls sobre el sistema actual.

És un requisit molt comú trobar quan es va reiniciar el sistema l'última vegada mitjançant l'ordre uptime, que indica quant de temps ha estat en funcionament el sistema.

Descobrim el temps de funcionament del sistema actual:

$ uptime -p

12:10:57 up  2:00,  1 user,  load average: 0.48, 0.60, 0.45

En aquest exemple, hem utilitzat l'opció -p per mostrar la sortida en la forma bonica.

Els usuaris sovint necessiten trobar els detalls sobre la memòria instal·lada, disponible i utilitzada. Aquesta informació té un paper important a l'hora de resoldre problemes de rendiment. Podem utilitzar l'ordre lliure per trobar els detalls sobre la memòria:

$ free -m

Aquí, hem utilitzat l'opció -m amb l'ordre que mostra la sortida en els mebibytes.

De manera similar, podem utilitzar les opcions -g, -t i -p per mostrar la sortida en gibibytes, tebibytes i pebibytes respectivament.

Els sistemes informàtics emmagatzemen dades en dispositius de bloc. Alguns exemples de dispositius de bloc són les unitats de disc dur (HDD), les unitats d'estat sòlid (SSD), etc. Podem utilitzar l'ordre lsblk per mostrar informació detallada sobre els dispositius de bloc:

$ lsblk

En aquest exemple, podem veure que només hi ha un dispositiu de bloc i el seu nom és /dev/sda. Hi ha tres particions creades en aquest dispositiu de bloc.

En aquest article, hem comentat algunes de les ordres que són útils per als principiants de Linux. Primer, vam parlar de les ordres del sistema de fitxers. Després vam parlar de les ordres de xarxa. Finalment, vam parlar d'algunes ordres que proporcionaven detalls sobre el sistema actual.