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.
Descobreix la manera més potent i flexible de gestionar els teus servidors. Deixa'ns el teu correu i t'enviarem els passos per començar en minuts.
Tens un compte? Iniciar Sessió