Utenti del terminale tutti, questa è un’altra domanda da un milione di dollari! Quasi senza rendercene conto, usiamo meccanicamente il carattere slash (/) sia come separatore di directory che per denotare la cartella radice del nostro sistema.
Ad esempio, il comando
cd /
ci porterà alla “cartella delle cartelle”, la root, quella che contiene qualsiasi cosa sia presente sul nostro sistema operativo, mentre scrivendo
cd /var/log/
saremo condotti direttamente alla cartella “log”, contenuta nella cartella “var”, contenuta a sua volta nella cartella radice. Ma… per quale motivo usiamo lo slash come separatore di directory, e non ad esempio un trattino? E, ancora, per quale motivo questo denota anche la directory root?
La prima domanda trova ancora risposta nelle tastiere dei terminali Lear-Siegler ADM-3A in uso durante gli anni 70, questa volta però la causa è il sistema operativo Multix – il predecessore di Unix: in Multix il separatore di directory era il carattere > tuttavia, malauguratamente, per Unix tale carattere era già stato “preso” come operatore di ridirezione (in Unix/Linux il carattere “>” serve per ridirigere l’output, “<” per ridirigere l’input). Ma guardate l’immagine in basso:
Il carattere “/” è posto immediatamente a destra del carattere “>”, e sono in molti a sostenere che la scelta di “/” come separatore sia dovuta a questa vicinanza.
La scelta di denotare la “cartella delle cartelle” con il solo simbolo /, poi, è quasi logica: quale simbolo migliore del separatore preso singolarmente per tracciare il confine materiale della struttura del filesystem Linux?