Während die meisten von uns auf unseren Windows-Systemen nur normale Datei- und Ordnernamen sehen, sind andere möglicherweise auf etwas Unerwarteteres gestoßen – Datei- und Ordnernamen mit einem Punkt davor. Warum passiert das? Der heutige SuperUser Q&A-Post hat die Antwort auf die Frage eines sehr neugierigen Lesers.



Die heutige Frage-und-Antwort-Sitzung kommt mit freundlicher Genehmigung von SuperUser – einer Unterabteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q&A-Websites.

Foto mit freundlicher Genehmigung von Domiriel (Flickr).

Die Frage

SuperUser-Leser Niko Bellic möchte wissen, warum vor einigen Windows-Datei- und Ordnernamen ein Punkt steht:

Zum Beispiel in der Meine Dokumente Verzeichnis auf meinem Windows-System habe ich folgende Ordner gefunden:

  • .ssh
  • .Subversion

Ist das eine mir unbekannte Namenskonvention?

Warum haben einige Windows-Datei- und Ordnernamen einen Punkt davor?

Die Antwort

Grawity von SuperUser hat die Antwort für uns:

Diese Namenskonvention kommt von Unix-ähnlichen Betriebssystemen (wie Linux oder OSX), wo sie bedeutet: versteckte Datei oder Verzeichnis . Es funktioniert überall, aber seine primäre Verwendung besteht darin, Konfigurationsdateien in Ihrem Home-Verzeichnis (d. h. ~/.cache/ oder ~/.plan ) Sie werden häufig genannt Punktdateien .

Punktdateien könnte in gewisser Weise das traditionelle Unix-Äquivalent zu dem Anwendungsdaten Verzeichnis unter Windows. Inzwischen werden viele Linux-Programme geändert, um den XDG-Basisverzeichnisspezifikation , ihre Konfiguration verschieben nach ~/.config/ und andere Daten an ~/.cache/ und ~/.local/share/ . Dies macht es ähnlicher zu App-Daten-Roaming und AppDataLocal .

Du hast diese .ssh und .Subversion Verzeichnisse unter Windows, weil Sie einige Programme (insbesondere OpenSSH und Subversion) verwendet haben, die portiert wurden, um Windows-System-APIs anstelle von POSIX-APIs zu verwenden, aber nicht an andere Windows-Konventionen angepasst wurden.

Manchmal wird diese Anpassung absichtlich übersprungen, um Leuten das Leben zu erleichtern, die Unix-ähnliche Umgebungen wie Cygwin auf ihren Windows-Systemen verwenden. Cygwin installiert beispielsweise den Standardsatz von Unix-ähnlichen Tools wie ls , die das Windows ignoriert versteckte Flagge und ehrt nur die Punktdatei Namen. Es ist auch einfacher, Konfigurationen zwischen den Windows- und Linux/BSD/OSX-Computern einer Person zu synchronisieren, wenn sie am selben Ort gemeinsam genutzt werden.

Diese Dateien befinden sich normalerweise im Home-Verzeichnis des Benutzers (d. h. /home/name/.ssh unter Linux oder C:Benutzer ame.ssh unter Windows 7 und höher). Es ist ziemlich selten, dass sie in die Unterlagen oder Meine Dokumente Unterverzeichnisse (sie enthalten schließlich keine Dokumente).

Wie Rob Pike schreibt auf Google+ , dies war ein zufälliges Merkmal:

Vor langer Zeit, als das Design des Unix-Dateisystems ausgearbeitet wurde, wurden die Einträge . und .. erschienen, um die Navigation zu erleichtern. Ich bin mir nicht sicher, aber ich glaube .. ging während des Umschreibens von Version 2 ein, als das Dateisystem hierarchisch wurde (es hatte zu Beginn eine ganz andere Struktur). Wenn einer getippt hat ls , jedoch tauchten diese Dateien auf, sodass entweder Ken oder Dennis dem Programm einen einfachen Test hinzugefügt haben. Es war damals in Assembler, aber der fragliche Code entsprach etwa diesem:

  • if (name[0] == ‘.’) fortfahren;

Diese Aussage war etwas kürzer als sie hätte sein sollen, nämlich:

  • if (strcmp(name, .) == 0 || strcmp(name, ..) == 0) weiter;

Aber hey, es war einfach und zwei Dinge haben sich ergeben.

Zuerst wurde ein schlechter Präzedenzfall geschaffen. Viele andere faule Programmierer führten Fehler durch die gleiche Vereinfachung ein. Tatsächliche Dateien, die mit Punkten beginnen, werden oft übersprungen, wenn sie gezählt werden sollen.

Zweitens, und viel schlimmer, die Idee von a versteckt oder Punktdatei erstellt wurde. Infolgedessen begannen faule Programmierer, Dateien in das Home-Verzeichnis aller zu legen. Ich habe nicht viel Software auf dem Computer installiert, auf dem ich dies eintippe, aber mein Home-Verzeichnis hat ungefähr hundert Punktdateien und ich weiß nicht einmal, was die meisten von ihnen sind oder ob sie noch gebraucht werden. Jede Dateinamenauswertung, die durch mein Home-Verzeichnis geht, wird durch diesen angesammelten Schlamm verlangsamt.


Möchten Sie der Erklärung noch etwas hinzufügen? Ton aus in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Sehen Sie sich hier den vollständigen Diskussionsthread an .

WEITER LESEN
  • › Funktionen vs. Formeln in Microsoft Excel: Was ist der Unterschied?
  • › Der Computerordner ist 40: Wie Xerox Star den Desktop erstellte
  • › So finden Sie Ihr Spotify Wrapped 2021
  • › 5 Websites, die jeder Linux-Benutzer mit einem Lesezeichen versehen sollte
  • › Was ist MIL-SPEC Fallschutz?
  • Cyber ​​Monday 2021: Die besten Tech-Deals