La Bash è una Shell testuale utilizzata nella maggior parte dei sistemi Linux per impartire comandi via terminale.
Permette di eseguire comandi più particolareggiati ed interagire maggiormente con i programmi in esecuzione.
In questo post voglio elencare una serie di funzionalità ed utilità che ci consentono di essere più produttivo nel lavoro frequente col terminale.
Nota: Il post non vuole essere una guida esaustiva sui comandi o sulle funzioni della Bash.
Per questo rimando all'ottima guida di Machtelt Garrels, tradotta in italiano e pubblicata al seguente indirizzo: Guida bash 1.11.pdf
Ecco l'elenco di 10 utilità della Bash.
1 - Premendo il tasto tab durante la digitazione, si avrà l'auto-completamento del percorso o del comando in fase di scrittura.
- es. cd /et [tab] → si autocompleta in cd /etc/
- es. ls [tab] → il sistema ci restituisce l'elenco dei comandi filtrati per le iniziali "ls"
ls lsb_release lsinitramfs lspci lsusb
lsattr lscpu lsmod lspgpot
lsblk lshw lsof lss16toppm
Muovendo le frecce direzionali verso l'alto o il basso, si scorre nella cronologia dei comandi eseguiti.
Tutta la cronologia è memorizzata in righe di testo in un file nascosto chiamato .bash_history presente nella Home dell'utente.
Nota: In alcune distribuzioni potrebbe non essere presente il file di configurazione .bashrc nella Home dell'utente. Per crearlo, eseguire una copia da /etc:
cp /etc/bash.bashrc ~/.bashrc
e renderlo operativo attraverso il comando:
source ~/.bashrc
3 - Per ricercare un comando già impartito e presente in cronologia basta eseguire la combinazione CTRL-r e cominciare a digitare quanto desiderato.
Il sistema cercherà la prima occorrenza di quanto digitato a ritroso nella cronologia.
Per continuare a sfogliare secondo il filtro, continuare a premere CTRL-r.
CTRL+c cancella la ricerca. ESC permette di editare il comando mostrato.
Se si vuole invece eseguire il comando mostrato a display, premere Enter.
4 - Il comando History elenca i comandi eseguiti.
Se si vuole navigare attraverso la cronologia, si può far seguire il pipeline | ed il comando less
- es. history | less
Per eseguire direttamente un comando senza scriverlo, è possibile richiamarlo digitando il numero corrispondente (elencato nel listato mostrato precedentemente) con la preposizione !
- es. !155 per eseguire il 155esimo comando
5 - Nella Bash è possibile impostare degli alias che abbreviano la digitazione di comandi magari con molteplici opzioni.
- es. digitando ll (elle elle) la mia distribuzione Linux mi restituirà l'elenco di tutti i files in unica colonna nel formato esteso (opzione -alF)
Per impostare un nuovo "alias", digitare
- alias cdh='cd ~' per andare direttamente nella home dell'utente
Per renderlo definitivo, inserirlo in uno dei files di configurazione che vengono letti all'avvio della Bash, ad es. nel file .bashrc presente in Home utente.
6 - Aggiunta della pipeline | e del comando more per elencare il risultato di comando una schermata alla volta
- es. ls -l | more
7 - Per indirizzare (memorizzare) il risultato di un comando in un file di testo, utilizzare l'oggetto ">"
- es. ls *.doc > elenco_doc.txt
Il doppio segno di maggiore ">>", accoda altre informazioni ad un file esistente.
8 - Per eseguire un comando e disimpegnare la shell, digitare il comando seguito dall'oggetto "&"
- es. firefox &
- es. cd ~ ; ls
- es. sudo apt-get update && sudo apt-get upgrade
- es. pwd
/home/tecnopassopasso