En aquest mòdul, aprendrem com utilitzar Bash per a tasques relacionades amb xarxes. Això inclou la configuració de xarxes, la comunicació entre sistemes i la gestió de connexions de xarxa. Aquestes habilitats són essencials per a l'administració de sistemes i la gestió de servidors.
Objectius del Mòdul
- Entendre les comandes bàsiques de xarxa en Bash.
- Aprendre a utilitzar
ping
,curl
,wget
i altres eines de xarxa. - Gestionar connexions de xarxa i transferències de fitxers.
- Automatitzar tasques de xarxa amb scripts Bash.
Contingut
Comandes Bàsiques de Xarxa
ping
La comanda ping
s'utilitza per comprovar la connectivitat entre el teu sistema i un altre sistema de xarxa.
Explicació:
ping
envia paquets ICMP a l'adreça especificada (en aquest cas,google.com
) i espera una resposta.- És útil per diagnosticar problemes de xarxa.
curl
curl
és una eina per transferir dades des d'un servidor o cap a un servidor, utilitzant diversos protocols.
Explicació:
curl
fa una petició HTTP aexample.com
i mostra la resposta.- Pot utilitzar-se amb altres protocols com FTP, SMTP, etc.
wget
wget
és una altra eina per descarregar fitxers des d'Internet.
Explicació:
wget
descarrega el fitxerfile.txt
des deexample.com
.- És útil per descarregar fitxers grans o múltiples fitxers.
netstat
netstat
mostra informació sobre connexions de xarxa, taules de ruta, estadístiques d'interfície, etc.
Explicació:
-tuln
mostra les connexions TCP i UDP en mode d'escolta i les adreces numèriques.
Transferència de Fitxers
scp
scp
(Secure Copy) s'utilitza per copiar fitxers entre hosts en una xarxa de manera segura.
Explicació:
localfile.txt
és el fitxer local que vols copiar.user@remotehost:/path/to/destination
és la destinació remota.
rsync
rsync
és una eina per sincronitzar fitxers i directoris entre dos llocs.
Explicació:
-avz
són opcions per a l'arxiu, mode verbós i compressió.localdir/
és el directori local que vols sincronitzar.
Automatització de Tasques de Xarxa
Exemple d'Automatització amb curl
#!/bin/bash URLS=("http://example.com" "http://example.org" "http://example.net") for URL in "${URLS[@]}"; do STATUS=$(curl -o /dev/null -s -w "%{http_code}\n" $URL) echo "Status code for $URL: $STATUS" done
Explicació:
- Aquest script comprova l'estat HTTP de diverses URL.
- Utilitza
curl
per obtenir el codi d'estat HTTP i el mostra per a cada URL.
Exercicis Pràctics
Exercici 1: Comprovació de Connectivitat
Escriu un script que comprovi la connectivitat a una llista de servidors i mostri si cada servidor és accessible o no.
Solució:
#!/bin/bash SERVERS=("google.com" "example.com" "nonexistentdomain.xyz") for SERVER in "${SERVERS[@]}"; do if ping -c 1 $SERVER &> /dev/null; then echo "$SERVER is reachable" else echo "$SERVER is not reachable" fi done
Exercici 2: Descarregar Fitxers
Escriu un script que descarregui una llista de fitxers des d'Internet i els guardi en un directori específic.
Solució:
#!/bin/bash URLS=("http://example.com/file1.txt" "http://example.com/file2.txt") DEST_DIR="/path/to/destination" mkdir -p $DEST_DIR for URL in "${URLS[@]}"; do wget -P $DEST_DIR $URL done
Conclusió
En aquest mòdul, hem après a utilitzar diverses eines de xarxa en Bash, com ping
, curl
, wget
, scp
i rsync
. També hem vist com automatitzar tasques de xarxa amb scripts Bash. Aquestes habilitats són essencials per a l'administració de sistemes i la gestió de servidors. En el següent mòdul, explorarem tècniques avançades de scripting per millorar encara més les nostres habilitats en Bash.
Curs de Programació en Bash
Mòdul 1: Introducció a Bash
- Què és Bash?
- Configuració del teu Entorn
- Navegació Bàsica per la Línia de Comandes
- Entenent la Shell
Mòdul 2: Comandes Bàsiques de Bash
- Operacions amb Fitxers i Directoris
- Comandes de Processament de Text
- Permisos i Propietat de Fitxers
- Redirecció i Piping
Mòdul 3: Conceptes Bàsics de Scripting
Mòdul 4: Scripting Intermedi
Mòdul 5: Tècniques Avançades de Scripting
- Operacions Avançades amb Fitxers
- Gestió de Processos
- Gestió d'Errors i Depuració
- Expressions Regulars
Mòdul 6: Treballant amb Eines Externes
Mòdul 7: Automatització i Programació
- Treballs Cron
- Automatització de Tasques
- Scripts de Còpia de Seguretat i Restauració
- Monitorització i Registre
Mòdul 8: Millors Pràctiques i Optimització
- Escriure Codi Llegible
- Optimització de Scripts en Bash
- Consideracions de Seguretat
- Control de Versions amb Git