Ús de Pipes en sistemes Unix

Actualitzat el 2026-10-28 12:01:15 12 visites

Los pipes (tuberies) en sistemes Unix-like, com Debian, són una eina poderosa que permeten combinar i redirigir la sortida de comandes de manera eficient. En utilitzar pipes, podem agafar la sortida d'una comanda i enviar-la directament com a entrada a una altra, la qual cosa ens permet realitzar tasques més complexes i estalviar temps evitant l'ús de fitxers temporals. En aquest manual, explorarem en detall com utilitzar pipes a Debian per millorar la nostra productivitat a la línia de comandes.

1. Conceptes Bàsics de Pipes

Els pipes es representen mitjançant el símbol vertical |. En utilitzar-lo a la línia de comandes, indica que la sortida de la comanda a l'esquerra del pipe serà l'entrada de la comanda a la dreta del pipe.

Exemple 1:

ls | grep archivo

En aquest exemple, la sortida de la comanda ls, que llista els fitxers al directori actual, s'enviarà com a entrada a la comanda grep que filtrarà només les línies que contenen la paraula 'archivo'.

2. Pipes amb Comandes Simples

Els pipes són especialment útils quan es combinen amb comandes 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 'archivo.txt' (grep 'archivo.txt'), i finalment, comptem quantes línies coincideixen (wc -l). Això ens donarà el número de fitxers anomenats 'archivo.txt' al directori actual.

3. Pipes amb Comandes més Complexes

Els pipes també són efectius quan es combinen amb comandes més complexes 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'ID de procés (PID) de l'execució de Firefox, el filtrem utilitzant grep, en extreiem només el PID utilitzant awk, i després enviem aquest PID com a argument per matar (terminar forçadament) el procés utilitzant kill -9.

4. Múltiples Pipes Encadenats

És possible encadenar múltiples pipes per realitzar tasques encara més complexes.

Exemple 4:

cat access.log | grep 'Error' | sort | uniq -c | sort -nr

En aquest exemple, llegim el contingut del fitxer 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 al fitxer de registre.

5. Pipes i Redirecció de Fitxers

Podem combinar pipes amb la redirecció de fitxers per guardar els resultats en un fitxer.

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 'archivo.txt', i redirigim la sortida a un fitxer anomenat resultado.txt.

6. Pipes amb Comandes Personalitzades

A més de les comandes estàndard, podem utilitzar els nostres propis scripts o comandes personalitzades i combinar-les 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 la comanda sed per substituir totes les ocurrències de 'foo' per 'bar'.

Conclusió

Els pipes en sistemes Unix-like, com Debian, són una eina poderosa que pot millorar significativament la nostra eficiència a la línia de comandes. En combinar i redirigir la sortida de diferents comandes, podem realitzar 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.