1 Dateinamen
kraeml edited this page 2023-09-22 15:28:28 +02:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Dateinamen

Eine der wesentlichen Dienste eines Betriebssystems wie Linux besteht darin, Daten auf dauerhaften Speichermedien wie Festplatten oder USB-Sticks speichern und später wiederfinden zu können. Um das für Menschen erträglich zu gestalten, werden zusammengehörende Daten normalerweise zu Dateien zusammengefasst, die auf dem Speichermedium unter einem Namen gespeichert werden.

Hinweis

Auch wenn Ihnen das trivial vorkommen mag: Selbstverständlich ist das nicht. Betriebssysteme in früheren Zeiten machten es mitunter nötig, dass man Gräuel wie die passenden Spurnummern auf Platten kennen musste, wenn man seine Daten wieder finden wollte.

Erlaubte Zeichen

Bevor wir Ihnen erklären können, wie Sie mit Dateien umgehen, müssen wir Ihnen also erklären, wie Linux Dateien benennt.

In Linux-Dateinamen sind grundsätzlich alle Zeichen zugelassen, die der Computer darstellen kann (und noch ein paar mehr). Da einige dieser Zeichen aber eine besondere Bedeutung haben, raten wir von deren Verwendung in Dateinamen aber ab. Komplett verboten innerhalb von Dateinamen sind nur zwei Zeichen, der Schrägstrich und das Nullbyte (das Zeichen mit dem ASCII-Wert 0). Andere Zeichen wie Leerzeichen, Umlaute oder Dollarzeichen können verwendet werden, müssen dann aber auf der Kommandozeile meist durch einen Rückstrich oder Anführungszeichen maskiert werden, um Fehlinterpretationen durch die Shell zu vermeiden.

Achtung: Groß- und Kleinschreibung

Eine Stolperfalle für Umsteiger ist, dass Linux in Dateinamen zwischen Groß- und Kleinschreibung unterscheidet. Im Gegensatz zu Windows, wo Groß- und Kleinbuchstaben in Dateinamen zwar dargestellt, aber identisch behandelt werden, interpretiert Linux x- files und X- Files tatsächlich als zwei verschiedene Dateinamen.

Dateinamen dürfen unter Linux ziemlich lang sein eine feste allgemeinverbindliche Grenze gibt es nicht, da das Maximum vom Dateisystem abhängt, also der Methode, wie genau die Bytes auf der Platte arrangiert sind (davon gibt es unter Linux mehrere). Eine typische Obergrenze sind aber 255 Zeichen und da so ein Name auf einem normalen Textterminal gut drei Zeilen einnehmen würde, sollte das Ihren Stil nicht übermäßig einschränken.

Endungen

Eine weitere Abweichung zu DOS- bzw. Windows-Rechnern besteht darin, Endungen dass bei Linux Dateien nicht durch entsprechende Endungen charakterisiert werden müssen. Der Punkt ist in einem Dateinamen also ein ganz gewöhnliches Zeichen. Ein Text kann daher als blabla.txt abgespeichert werden, aber einfach blabla wäre grundsätzlich ebenso zulässig. Was nicht heißt, dass Sie keine Dateiendungen benutzen sollten immerhin erleichtern solche Kennzeichnungen die Identifizierung des Dateiinhaltes.

Hinweis

Manche Programme bestehen darauf, dass ihre Eingabedateien bestimmte Endungen haben. Der C-Übersetzer gcc zum Beispiel betrachtet Dateien mit Namen, die auf .c enden, als C-Quelltext, solche mit Namen auf .s als Assemblerquelltext und solche mit Namen auf .o als vorübersetzte Objektdateien.

Sonderzeichen

Umlaute und andere Sonderzeichen können Sie in Dateinamen grundsätzlich ungeniert verwenden. Sollen aber Dateien gleichermaßen auf anderen Systemen benutzt werden, ist es besser, auf Sonderzeichen in Dateinamen zu verzichten, da nicht garantiert ist, dass sie auf anderen Systemen als dieselben Zeichen erscheinen.

Ortseinstellung

Was mit Sonderzeichen passiert, hängt auch von der Ortseinstellung ab, da es keinen allgemein üblichen Standard dafür gibt, Zeichen darzustellen, die den Zeichenvorrat des ASCII (128 Zeichen, die im wesentlichen die englische Sprache, Ziffern und die gängigsten Sonderzeichen abdecken) überschreiten. In weitem Gebrauch sind zum Beispiel die Zeichentabellen ISO 8859-1 und ISO 8859-15 (vulgo ISO-Latin-1 und ISO-Latin-9 ... fragen Sie nicht) sowie ISO 10646, gerne salopp und nicht ganz korrekt als Unicode bezeichnet und in der Regel als UTF-8 codiert. Dateinamen mit Sonderzeichen, die Sie anlegen, während Zeichentabelle X aktiv ist, können völlig anders aussehen, wenn Sie sich das Verzeichnis gemäß Zeichentabelle Y anschauen. Das ganze Thema ist nichts, worüber man beim Essen nachdenken möchte.

convmv

Sollten Sie jemals in die Verlegenheit kommen, einen Berg Dateien vor sich zu haben, deren Namen allesamt gemäß einer verkehrten Zeichentabelle codiert sind, kann Ihnen vielleicht das Programm convmv helfen, das Dateinamen zwischen verschiedenen Zeichentabellen konvertieren kann. (Sie werden es vermutlich selber installieren müssen, da es sich normalerweise nicht im Standardumfang gängiger Distributionen befindet.) Allerdings sollten Sie sich damit erst befassen, wenn Sie den Rest dieses Kapitels durchgearbeitet haben, denn wir haben Ihnen noch nicht einmal das reguläre mv erklärt ...

Portable Dateinamen

Ohne Bedenken lassen sich alle Zeichen aus

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789+-._

in Dateinamen benutzen. Allerdings sollten Sie die folgenden Tipps berücksichtigen:

  • Um den Datenaustausch mit älteren Unix-Systemen zu ermöglichen, sollte die Länge eines Dateinamens gegebenenfalls maximal 14 Zeichen betragen.

  • Dateinamen sollten stets mit einem der genannten Buchstaben oder einer Ziffer beginnen, die vier anderen Zeichen sind nur innerhalb eines Dateinamens problemlos verwendbar.

Diese Konventionen lassen sich am leichtesten mit ein paar Beispielen verstehen. Zulässige Dateinamen wären etwa:

X-files
bla.txt.bak
17.Juni
7_of_9

Schwierigkeiten wären dagegen möglich (wenn nicht gar wahrscheinlich oder sogar sicher) mit:

-20°C              Beginnt mit » - «, Sonderzeichen
.profile           Wird versteckt
3/4-Takt           Enthält verbotenes Zeichen
Müll               Enthält Umlaut

Versteckte Dateien

Als weitere Besonderheit werden Dateinamen, die mit einem Punkt (.) anfangen, an einigen Stellen (etwa beim Auflisten von Verzeichnisinhalten) übersprungen Dateien mit solchen Namen gelten als »versteckt«. Diese Eigenschaft verwendet man unter anderem gerne für Dateien, die Voreinstellungen für Programme enthalten und die in Dateinamenslisten nicht von wichtigeren Dateien ablenken sollen.

Hinweis

Für DOS- und Windows-Experten: Diese Systeme erlauben »versteckte« Dateien über ein unabhängig vom Namen zu setzendes »Dateiattribut«. Unter Linux bzw. Unix gibt es so etwas nicht.