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,wgeti 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ó:
pingenvia 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ó:
curlfa una petició HTTP aexample.comi 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ó:
wgetdescarrega el fitxerfile.txtdes 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ó:
-tulnmostra 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ó:
-avzsó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"
doneExplicació:
- Aquest script comprova l'estat HTTP de diverses URL.
- Utilitza
curlper 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
doneExercici 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
doneConclusió
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
