“.” su Linux: perché evidenzia file nascosti?

Mia antica spiegazione che sono sicuro amerete.

Su Linux, come molti di voi sapranno, le cartelle nascoste agli utenti “comuni” (quindi non superutenti, senza permessi speciali, senza “sudo” o “su”) vengono chiamate “.” qualcosa. Ad esempio, “.Wine” o “.qbittorent”.

Ma perché questa stranezza? Perché questo punto antecedente il nome?

Anche questo approccio trova storia nel passato ed è direttamente collegato con i riferimenti “.” e “..”  relativi a directory corrente e directory superiore. La gestione dei file nascosti, infatti, è stato un errore.

linux-ls

I riferimenti a “.” e “..” sono presenti in tutte le directory di Linux per semplificare la navigazione e sembra che, durante la seconda riscrittura del filesystem Unix, Thompson e Ritchie cercassero un modo di evitare questa ridondanza e di nasconderli quando si utilizzava il comando per ottenere la lista dei file nelle varie directory.

Thompson e Ritchie quindi hanno progettato il comando “ls” affinché evitasse di mostrare i due riferimenti ridondanti, purtroppo però l’hanno fatto con una logica errata: anziché evitare soltanto i file “.” e “..”, hanno implementato tale comando facendo sì che evitasse di mostrare qualsiasi file che avesse come primo carattere un punto.

Insomma, dal punto di vista del codice, probabilmente ls contiene qualcosa di questo tipo:


if (nome(file).iniziaCon(".")) == true
then nonMostrare(file)

invece che contenere:


if (nome(file).corrispondeA(".") oppure nome(file).corrispondeA("..")) == true
then nonMostrare(file)

 

Che va a nascondere per impostazione predefinita tutti i file che iniziano con un punto. Questa pigrizia, corretta poi con l’introduzione del parametro -a che permette di mostrare tutti i file in seguito al comando ls, è stata ereditata da un numero enorme di programmatori, ragion per cui quello che era un errore è poi diventato convenzione, nonché il modo definitivo di Linux di nascondere i file.

Se vi distaccate da questa programmazione, ribellatevi anarchici 😀

Storia assurda, vero? Incredibile ma vero 🙂

Riguardo a: Salvo Cirmi (Tux1)

Un pinguino intraprendente che dopo diversi anni di "servizio" online (e soprattutto delle guide) ha acquisito conoscenze non di poco conto sui settori Android, Linux e Windows. Le mie specialità sono il modding e le review. Nel tempo libero (che è raro trovare) suono il piano, mi diverto effettuando modding e provando distribuzioni Linux, BSD ed altre.

Guarda anche..

Emmabuntüs Debian Edition 3 – 1.04 fa il suo debutto!

Per il primo Marzo, il team di Emmabuntus ci fa una sorpresina, con un rilascio …

Lascia un commento