Magazine Informatica

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

Creato il 19 marzo 2015 da Desktopsolution

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

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.

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

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 distaccatte da questa programmazione, ribellatevi anarchici Linux: perché denota file nascosti?

Storia assurda, vero? Incredibile ma vero Linux: perché denota file nascosti?


Sono presenti link non funzionanti nell'articolo? Segnalalo tramite commento oppure mandaci un Email a [email protected]
Hai bisogno di aiuto? Scrivi il tuo problema sul nostroForum, i nostri moderatori ti aiuteranno.
Perché sul Forum? - Perché è più facile da gestire molte richieste di aiuto.
Grazie della collaborazione

Ritornare alla prima pagina di Logo Paperblog