Questo comando crea una directory con il nome basato sulla data e ora correnti. È utile per organizzare automaticamente i file in base al tempo.
mkdir $(date +"%Y-%m-%d_%H-%M-%S")
Per fare un semplice backup di un file, puoi usare questo comando:
cp documenti.txt documenti_backup_$(date +%F).txt
In questo esempio, viene creato un file di backup con la data corrente nel nome.
Puoi eseguire un comando in background in modo che non blocchi il terminale.
long_running_process & # Il simbolo '&' esegue il processo in background
Se un processo non risponde, puoi terminarlo con il suo nome:
killall firefox # Termina tutti i processi di Firefox
Questo comando ti permette di cercare file modificati recentemente, utile per capire cosa è cambiato nel sistema.
find /path/to/dir -type f -mtime -7
-type f
cerca solo file (non directory).-mtime -7
trova file modificati negli ultimi 7 giorni.Un altro comando utile per monitorare lo spazio su disco:
df -h
-h
mostra le dimensioni in un formato leggibile dall’uomo (GB, MB, ecc.).Se vuoi salvare l’output di un comando in un file di testo, puoi usare la redirezione:
ls -l > elenco_file.txt
Questo comando salva l’elenco dettagliato dei file nella directory corrente in elenco_file.txt
.
Immagina di voler cercare un errore nei log di sistema. Puoi usare grep
con una pipe per cercare il termine “errore” nei log.
cat /var/log/syslog | grep "errore"
La pipe (|
) passa l’output di cat
come input per grep
.
Se hai un file di configurazione e desideri sostituire un termine, puoi farlo con sed
:
sed -i 's/vecchio/nuovo/g' file.txt
-i
modifica il file in-place.s/vecchio/nuovo/g
sostituisce “vecchio” con “nuovo” in tutto il file.Se hai più file di testo e vuoi unire il loro contenuto in uno solo, puoi usare il comando cat
:
cat file1.txt file2.txt > file_combinato.txt
Ecco un semplice script che controlla se un file esiste prima di eseguire una determinata operazione:
#!/bin/bash
if [ -f "/path/to/file.txt" ]; then
echo "Il file esiste!"
else
echo "Il file non esiste!"
fi
Questo script verifica se file.txt
esiste nella directory specificata e stampa un messaggio di conseguenza.
wget
Se vuoi automatizzare il download di un file da un URL, puoi farlo con wget
:
wget http://esempio.com/file.zip
Questo comando scaricherà il file file.zip
nella directory corrente.
Le variabili in Bash possono essere usate per memorizzare valori temporanei e utilizzarle nei comandi:
nome="Gaspare"
echo "Ciao, $nome!"
Questo script stampa “Ciao, Gaspare!” utilizzando una variabile.
Puoi anche usare una variabile per memorizzare la data e l’ora correnti:
data=$(date +"%Y-%m-%d_%H-%M-%S")
echo "Il backup è stato creato il $data"
In questo caso, la variabile data
contiene la data e ora attuale, e il messaggio è stampato con quel valore.
Puoi configurare un cron job per eseguire automaticamente un comando a una determinata ora. Ad esempio, per eseguire un backup ogni giorno a mezzanotte, puoi usare:
crontab -e
Poi aggiungi la riga:
0 0 * * * cp /home/utente/documenti.txt /home/utente/backup/documenti_$(date +\%F).txt
Questo comando eseguirà il backup ogni giorno a mezzanotte.
Per comprimere un file o una directory in formato .tar.gz
, puoi usare:
tar -czvf archivio.tar.gz cartella/
-c
crea un archivio.-z
comprime con gzip.-v
mostra i file processati.-f
specifica il nome dell’archivio.Per decomprimere un archivio .tar.gz
, puoi usare:
tar -xzvf archivio.tar.gz
ssh
per eseguire comandi su server remotiPuoi usare ssh
per eseguire comandi su server remoti senza dover accedere direttamente:
ssh utente@server.com "ls -l /home/utente"
Questo comando eseguirà il comando ls -l
nella directory /home/utente
del server remoto.
Bash è una shell potentissima che può essere utilizzata per una vasta gamma di attività, dalla gestione dei file alla scrittura di script complessi per automatizzare e gestire sistemi.