BASH e i files: la directory corrente e il percorso per riferirsi a un file.
I comandi (commands) menzionati negli articoli precedenti di questa serie (cp, mv, rm, mkdir) vengono eseguiti tipicamente all’interno di un’interfaccia testuale (ad esempio KDE/Konsole con shell GNU Bash).
Di BASH ne è ho parlato poco ma la menziono perchè è questa che ci fornisce il concetto di “directory corrente” (del processo in esecuzione). Questa directory corrente è usata dai processi che vengono creati quando un comando viene messo in esecuzione (ad esempio digitato non parte, dando il tasto di nuovo rigo il comando parte mediante l’interpretazione del rigo di comando da parte di BASH, che è anche un processo genitore e il comando dato è un processo figlio creato dal genitore, gerarchicamente).
Quindi… Se la directory corrente è la mia “home directory” (utente arkenidar quindi /home/arkenidar), se io creo un nuovo file vuoto con il comando touch così touch nomefile.txt il risultato è che viene fuori un file con questo nome completo: /home/arkenidar/nomefile.txt
Questo vale anche per tutti i comandi usati da shell BASH. Ad esempio: rm nomefile.txt rimuove il file così chiamato cercandolo nella directory corrente.
Se io faccio adesso rm percorso/nomefile.txt cercherà il file all’interno della directory percorso.
Esistono anche dei riferimenti particolari in BASH e in Unix in genere: . (punto) e .. (punto punto).
Lo spiego in pratica: al punto singolo viene sostituito il nome della directory corrente (ad esempio la directory home, ma con cd si fa un cambio directory).
cd nomedirectory farà entrare nella sotto-directory nominata, mentre cd .. farà entrare nella directory appena superiore alla directory corrente, superiore di un livello, rendendo la directory superiore la directory corrente (quella immediatamente superiore, ma se ci fossero più directory superiori si può usare ancora il .. con ad esempio ../.. che indica sopra di due livelli).
Questo forma il percorso di un file. Ad esempio a partire dalla directory radice (directory /) /home/arkenidar o a partire dalla directory corrente /home/arkenidar/sottodirectory: cd ../sottodirectory2 (che diventa quindi /home/arkenidar/sottodirectory2).
NOTA: Vedendoli in azione questa spiegazione testuale può divenire più decodificabile. Scusate se non fornisco immagini o video in questo momento.