Els pipes (canonades) en sistemes Unix-like, com Debian, són una eina poderosa que permeten combinar i redirigir la sortida d'ordres de manera eficient. En utilitzar pipes, podem prendre la sortida d'un ordre i enviar-la directament com a entrada a un altre, la qual cosa ens permet fer tasques més complexes i estalviar temps en evitar l'ús d'arxius temporals. En aquest manual, explorarem detalladament com utilitzar pipes en Debian per a millorar la nostra productivitat en la línia d'ordres.
Els pipes es representen mitjançant el símbol vertical |
. Al fer-ho servir en la línia d'ordres, indica que la sortida de l'ordre a l'esquerra del pipe serà l'entrada de l'ordre a la dreta del pipe.
Exemple 1:
ls | grep archivo
En aquest exemple, la sortida de l'ordre ls
, que llista els arxius en el directori actual, s'enviarà com a entrada a l'ordre grep
que filtrarà només les línies que contenen la paraula "arxivo".
Els pipes son especialment útils quan es combinen amb ordres simples per realitzar tasques específiques.
Exemple 2:
ls -l | grep "archivo.txt" | wc -l
En aquest exemple, llistem el contingut del directori en format llarg (ls -l
), filtrem només les línies que contenen "arxiu.txt" (grep "arxiu.txt"
), i finalment, comptem quantes línies coincideixen (wc -l
). Això ens donarà el nombre d'arxius anomenats "arxiu.txt" en el directori actual..
Els pipes també són efectius quan es combinen amb ordres més complexos i amb opcions addicionals.
Exemple 3:
ps aux | grep "firefox" | awk '{print $2}' | xargs kill -9
En aquest exemple, fem servir pipes per trobar l'ANEU de procés (PID) de l'execució de Firefox, ho filtrem utilitzant grep
, extraiem només el PID utilitzant awk
, i després enviem aquest PID com a argument per matar (acabar forçadament) el procés fent servir kill -9
.
És possible encadenar múltiples pipes per fer tasques encara més complexes.
Exemple 4:
cat access.log | grep "Error" | sort | uniq -c | sort -nr
En aquest exemple, llegim el contingut de l'arxiu access.log
, filtrem només les línies que contenen "Error" (grep "Error"
), després ordenem les línies alfabèticament (sort
), comptem quantes vegades apareix cada línia (uniq -c
), i finalment, ordenem el resultat en ordre invers de freqüència (sort -nr
). Això ens donarà un resum dels errors més freqüents en l'arxiu de registre.
Podem combinar pipes amb la redirecció d'arxius per a desar els resultats en un arxiu.
Exemple 5:
ls -l | grep "archivo.txt" > resultado.txt
En aquest exemple, llistem el contingut del directori en format llarg, filtrem només les línies que contenen "arxiu.txt", i redirigim la sortida a un arxiu anomenat resultat.txt
.
A més dels ordres estàndard, podem utilitzar els nostres propis scripts o ordres personalitzats i combinar-los amb pipes.
Exemple 6:
mi_script.py | grep "patrón" | sed 's/foo/bar/g'
En aquest exemple, executem el nostre script personalitzat mi_script.py
, filtrem les línies que contenen el patró desitjat, i després utilitzem l'ordre set
per a reemplaçar totes les ocurrències de "foo" per "bar".
Els pipes en sistemes Unix-like, com Debian, són una eina poderosa que pot millorar significativament la nostra eficiència en la línia d'ordres. En combinar i redirigir la sortida de diferents ordres, podem fer tasques més complexes de manera ràpida i efectiva. Amb aquest manual, esperem haver-te proporcionat una comprensió sòlida de l'ús de pipes en sistemes Unix, la qual cosa et permetrà aprofitar al màxim aquesta funcionalitat per a les teves tasques diàries d'administració del sistema i anàlisi de dades.