Zum Inhalt springen

Linux/Datei/Name: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „===== Weblinks =====“ durch „==== Weblinks ====“
K Textersetzung - „http://“ durch „https://“
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
; Was ist ein Dateiname?
; Was ist ein Dateiname?
Identifiziert eine [[Datei]]
Identifiziert eine [[Datei]]
* auf einem [http://de.wikipedia.org/wiki/Datenspeicher Datenträger]
* auf einem [https://de.wikipedia.org/wiki/Datenspeicher Datenträger]
* bei einer [http://de.wikipedia.org/wiki/Datenübertragung Datenübertragung]
* bei einer [https://de.wikipedia.org/wiki/Datenübertragung Datenübertragung]


; Verzeichnis
; Verzeichnis
* Meist wird eine Datei zusätzlich durch einen Verzeichnisnamen charakterisiert
* Meist wird eine Datei zusätzlich durch einen Verzeichnisnamen charakterisiert
* sodass ein vollständiger [http://de.wikipedia.org/wiki/Pfadname Pfadname] entsteht
* sodass ein vollständiger [https://de.wikipedia.org/wiki/Pfadname Pfadname] entsteht


Eindeutigkeit
Eindeutigkeit
Zeile 16: Zeile 16:
; Teile
; Teile
Dateinamen können aus mehreren Teilen bestehen
Dateinamen können aus mehreren Teilen bestehen
* Abhängig vom jeweiligen [http://de.wikipedia.org/wiki/Betriebssystem Betriebssystem]
* Abhängig vom jeweiligen [https://de.wikipedia.org/wiki/Betriebssystem Betriebssystem]
* Die einzelnen Teile sind durch bestimmte Zeichen, die in der Regel nicht Teil des Dateinamens sein können, getrennt; die [http://de.wikipedia.org/wiki/Liste_von_Dateinamenserweiterungen Liste von Dateinamenserweiterungen] verschafft einen Überblick
* Die einzelnen Teile sind durch bestimmte Zeichen, die in der Regel nicht Teil des Dateinamens sein können, getrennt; die [https://de.wikipedia.org/wiki/Liste_von_Dateinamenserweiterungen Liste von Dateinamenserweiterungen] verschafft einen Überblick


; Mime-Types
; Mime-Types
* Einige Betriebssysteme machen die Behandlung der Dateien von der jeweiligen [http://de.wikipedia.org/wiki/Dateinamenserweiterung Dateinamenserweiterung] abhängig, andere arbeiten ohne diese Konvention und erkennen den Dateityp anhand des Inhalts (beispielsweise anhand einer sogenannten [http://de.wikipedia.org/wiki/Magische_Zahl_%28Informatik%29 magischen Zahl])
* Einige Betriebssysteme machen die Behandlung der Dateien von der jeweiligen [https://de.wikipedia.org/wiki/Dateinamenserweiterung Dateinamenserweiterung] abhängig, andere arbeiten ohne diese Konvention und erkennen den Dateityp anhand des Inhalts (beispielsweise anhand einer sogenannten [https://de.wikipedia.org/wiki/Magische_Zahl_%28Informatik%29 magischen Zahl])
* Auch auf diesen Systemen werden aber oft Dateien mit solchen Dateiendungen versehen, da es den Datenaustausch vereinfacht
* Auch auf diesen Systemen werden aber oft Dateien mit solchen Dateiendungen versehen, da es den Datenaustausch vereinfacht


; Länge
; Länge
Die maximale Länge eines Dateinamens wird sowohl durch das Betriebssystem als auch durch das [http://de.wikipedia.org/wiki/Dateisystem Dateisystem] des Datenträgers begrenzt
Die maximale Länge eines Dateinamens wird sowohl durch das Betriebssystem als auch durch das [https://de.wikipedia.org/wiki/Dateisystem Dateisystem] des Datenträgers begrenzt
* So können etwa auf einer CD-ROM bei Verwendung des [http://de.wikipedia.org/wiki/Joliet_%28Dateisystem%29 Joliet-Dateisystems] maximal 64 Zeichen genutzt werden
* So können etwa auf einer CD-ROM bei Verwendung des [https://de.wikipedia.org/wiki/Joliet_%28Dateisystem%29 Joliet-Dateisystems] maximal 64 Zeichen genutzt werden
* Eine indirekte Begrenzung kann zudem durch eine maximale Länge von Pfadnamen im Betriebssystem entstehen
* Eine indirekte Begrenzung kann zudem durch eine maximale Länge von Pfadnamen im Betriebssystem entstehen
* Ein Unterschied zwischen MS-Windows und Linux/Unix besteht darin, dass Windows bei Dateinamen nicht zwischen Groß- und Kleinschreibung unterscheidet, während Unix dies tut (zum Beispiel bezeichnen dort ''Haustuer.txt'' und ''hausTuer.txt'' unterschiedliche Dateien)
* Ein Unterschied zwischen MS-Windows und Linux/Unix besteht darin, dass Windows bei Dateinamen nicht zwischen Groß- und Kleinschreibung unterscheidet, während Unix dies tut (zum Beispiel bezeichnen dort ''Haustuer.txt'' und ''hausTuer.txt'' unterschiedliche Dateien)
Zeile 46: Zeile 46:
* Auch dies verwirrt am Anfang den Umsteiger, doch gewöhnt man sich auch daran
* Auch dies verwirrt am Anfang den Umsteiger, doch gewöhnt man sich auch daran


Die meisten Dateien haben aber eine Endung, nicht ungewöhnlich sind auch mehrere - durch Punkte getrennte - Endungen (beispiel.tar.bz2).[http://de.wikipedia.org/wiki/Unix Unix]- und Unix-ähnliche Betriebssysteme wie zum Beispiel [http://de.wikipedia.org/wiki/Solaris_%28Betriebssystem%29 Solaris] oder [http://de.wikipedia.org/wiki/Linux Linux] betrachten Dateinamen als Ganzes
Die meisten Dateien haben aber eine Endung, nicht ungewöhnlich sind auch mehrere - durch Punkte getrennte - Endungen (beispiel.tar.bz2).[https://de.wikipedia.org/wiki/Unix Unix]- und Unix-ähnliche Betriebssysteme wie zum Beispiel [https://de.wikipedia.org/wiki/Solaris_%28Betriebssystem%29 Solaris] oder [https://de.wikipedia.org/wiki/Linux Linux] betrachten Dateinamen als Ganzes


Eine Datei kann mehrere Namen haben und sich in mehreren Verzeichnissen befinden („hard links“ oder „bind mounts“)
Eine Datei kann mehrere Namen haben und sich in mehreren Verzeichnissen befinden ("hard links" oder "bind mounts")
* Alle Zeichen außer dem [http://de.wikipedia.org/wiki/Schrägstrich Schrägstrich] "/" und dem [http://de.wikipedia.org/wiki/Nullzeichen Nullzeichen] sind erlaubt
* Alle Zeichen außer dem [https://de.wikipedia.org/wiki/Schrägstrich Schrägstrich] "/" und dem [https://de.wikipedia.org/wiki/Nullzeichen Nullzeichen] sind erlaubt
* Frühe Versionen hatten 1 bis 14 Zeichen lange Dateinamen
* Frühe Versionen hatten 1 bis 14 Zeichen lange Dateinamen
* Die [http://de.wikipedia.org/wiki/Berkeley_Software_Distribution BSD]-Varianten führten bis zu 255 Zeichen lange Namen ein
* Die [https://de.wikipedia.org/wiki/Berkeley_Software_Distribution BSD]-Varianten führten bis zu 255 Zeichen lange Namen ein


Ein relativer Dateipfad kann aus mehreren Segmenten bestehen und beginnt mit einem Segment
Ein relativer Dateipfad kann aus mehreren Segmenten bestehen und beginnt mit einem Segment
Zeile 58: Zeile 58:


Das letzte Segment kennzeichnet die eigentliche Datei
Das letzte Segment kennzeichnet die eigentliche Datei
* Die vorhergehenden Segmente sind entweder Verzeichnisnamen oder symbolische Verweise (englisch „symbolic links“) auf Verzeichnisnamen
* Die vorhergehenden Segmente sind entweder Verzeichnisnamen oder symbolische Verweise (englisch "symbolic links") auf Verzeichnisnamen
* Ein relativer Dateipfad geht vom aktuellen Arbeitsverzeichnis aus, das jeder [http://de.wikipedia.org/wiki/Prozess_%28Informatik%29 Prozess] individuell setzen kann
* Ein relativer Dateipfad geht vom aktuellen Arbeitsverzeichnis aus, das jeder [https://de.wikipedia.org/wiki/Prozess_%28Informatik%29 Prozess] individuell setzen kann


Ein absoluter Dateipfad beginnt hingegen bereits mit "/" und ist unabhängig vom aktuellen Arbeitsverzeichnis
Ein absoluter Dateipfad beginnt hingegen bereits mit "/" und ist unabhängig vom aktuellen Arbeitsverzeichnis
Zeile 129: Zeile 129:
! | Zeichensatz
! | Zeichensatz
|-
|-
| | FAT ohne VFAT ([http://de.wikipedia.org/wiki/MS-DOS DOS])
| | FAT ohne VFAT ([https://de.wikipedia.org/wiki/MS-DOS DOS])
| | Festplatten, Speicherkarten (Foto)
| | Festplatten, Speicherkarten (Foto)
| | [http://de.wikipedia.org/wiki/8.3 8+3]
| | [https://de.wikipedia.org/wiki/8.3 8+3]
| | OEM (meist [http://de.wikipedia.org/wiki/Codepage_437 Codepage 437])
| | OEM (meist [https://de.wikipedia.org/wiki/Codepage_437 Codepage 437])
|-
|-
| | [http://de.wikipedia.org/wiki/ISO_9660 ISO 9660] Level 2
| | [https://de.wikipedia.org/wiki/ISO_9660 ISO 9660] Level 2
| | CD, DVD
| | CD, DVD
| | 31
| | 31
| | [http://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange ASCII]
| | [https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange ASCII]
|-
|-
| | [http://de.wikipedia.org/wiki/Joliet_%28Dateisystem%29 Joliet]
| | [https://de.wikipedia.org/wiki/Joliet_%28Dateisystem%29 Joliet]
| | CD, DVD
| | CD, DVD
| | 64
| | 64
| | Unicode
| | Unicode
|-
|-
| | [http://de.wikipedia.org/wiki/ISO_9660 ISO 9660]:1999
| | [https://de.wikipedia.org/wiki/ISO_9660 ISO 9660]:1999
| | CD, DVD
| | CD, DVD
| | 179 - 221 je nach sonstigen Attributen
| | 179 - 221 je nach sonstigen Attributen
| | ASCII/unspezifiziert
| | ASCII/unspezifiziert
|-
|-
| | [http://de.wikipedia.org/wiki/File_Allocation_Table FAT] mit [http://de.wikipedia.org/wiki/File_Allocation_Table#VFAT VFAT] ([http://de.wikipedia.org/wiki/Microsoft_Windows Windows])
| | [https://de.wikipedia.org/wiki/File_Allocation_Table FAT] mit [https://de.wikipedia.org/wiki/File_Allocation_Table#VFAT VFAT] ([https://de.wikipedia.org/wiki/Microsoft_Windows Windows])
| | Festplatten, USB-Sticks
| | Festplatten, USB-Sticks
| | 255
| | 255
| | [http://de.wikipedia.org/wiki/Unicode Unicode]
| | [https://de.wikipedia.org/wiki/Unicode Unicode]
|-
|-
| | [http://de.wikipedia.org/wiki/Ext3 ext3]
| | [https://de.wikipedia.org/wiki/Ext3 ext3]
| | Festplatten
| | Festplatten
| | 255 (1)
| | 255 (1)
| | Unicode (2)
| | Unicode (2)
|-
|-
| | [http://de.wikipedia.org/wiki/HFS_plus HFS plus]
| | [https://de.wikipedia.org/wiki/HFS_plus HFS plus]
| | Festplatten
| | Festplatten
| | 255
| | 255
| | Unicode (UTF-16)
| | Unicode (UTF-16)
|-
|-
| | [http://de.wikipedia.org/wiki/Universal_Disk_Format UDF]
| | [https://de.wikipedia.org/wiki/Universal_Disk_Format UDF]
| | CD, DVD
| | CD, DVD
| | 255
| | 255
| | Unicode
| | Unicode
|-
|-
| | [http://de.wikipedia.org/wiki/NTFS NTFS]
| | [https://de.wikipedia.org/wiki/NTFS NTFS]
| | Festplatten
| | Festplatten
| | 256 (3)
| | 256 (3)
| | Unicode (UTF-16) (4)
| | Unicode (UTF-16) (4)
|-
|-
| | [http://de.wikipedia.org/wiki/ReFS ReFS]
| | [https://de.wikipedia.org/wiki/ReFS ReFS]
| | Festplatten
| | Festplatten
| | 32000
| | 32000
Zeile 181: Zeile 181:
|}
|}
:Anmerkungen
:Anmerkungen
:# Bei Verwendung von [http://de.wikipedia.org/wiki/UTF-8 UTF-8]-Codierung und Benutzung von Nicht-ASCII-Zeichen stehen zwar 255 ''Byte'', aber weniger als 255 ''Zeichen'' zur Verfügung
:# Bei Verwendung von [https://de.wikipedia.org/wiki/UTF-8 UTF-8]-Codierung und Benutzung von Nicht-ASCII-Zeichen stehen zwar 255 ''Byte'', aber weniger als 255 ''Zeichen'' zur Verfügung
:# Die Codierung ist nicht genormt; als Voreinstellung wird meist UTF-8 verwendet
:# Die Codierung ist nicht genormt; als Voreinstellung wird meist UTF-8 verwendet
:# Bei Verwendung langer Unicode-Pfade sind lediglich 255 Zeichen möglich
:# Bei Verwendung langer Unicode-Pfade sind lediglich 255 Zeichen möglich
Zeile 193: Zeile 193:
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


==== Dokumentation ====
=== Dokumentation ===
; Man-Page
; Man-Page
;Info-Page
;Info-Page

Aktuelle Version vom 7. April 2025, 14:50 Uhr

Linux/Dateinamen - Beschreibung

Beschreibung

Was ist ein Dateiname?

Identifiziert eine Datei

Verzeichnis
  • Meist wird eine Datei zusätzlich durch einen Verzeichnisnamen charakterisiert
  • sodass ein vollständiger Pfadname entsteht

Eindeutigkeit Erst diese Kombination zu einem vollständigen Pfadnamen ist in der Regel eindeutig

Teile

Dateinamen können aus mehreren Teilen bestehen

Mime-Types
  • Einige Betriebssysteme machen die Behandlung der Dateien von der jeweiligen Dateinamenserweiterung abhängig, andere arbeiten ohne diese Konvention und erkennen den Dateityp anhand des Inhalts (beispielsweise anhand einer sogenannten magischen Zahl)
  • Auch auf diesen Systemen werden aber oft Dateien mit solchen Dateiendungen versehen, da es den Datenaustausch vereinfacht
Länge

Die maximale Länge eines Dateinamens wird sowohl durch das Betriebssystem als auch durch das Dateisystem des Datenträgers begrenzt

  • So können etwa auf einer CD-ROM bei Verwendung des Joliet-Dateisystems maximal 64 Zeichen genutzt werden
  • Eine indirekte Begrenzung kann zudem durch eine maximale Länge von Pfadnamen im Betriebssystem entstehen
  • Ein Unterschied zwischen MS-Windows und Linux/Unix besteht darin, dass Windows bei Dateinamen nicht zwischen Groß- und Kleinschreibung unterscheidet, während Unix dies tut (zum Beispiel bezeichnen dort Haustuer.txt und hausTuer.txt unterschiedliche Dateien)

Groß-/Kleinschreibung

Im Unterschied zu Windows wird bei Linux zwischen Groß- und Kleinschreibung unterschieden

  • Daher ist die Datei test nicht identisch mit der Datei Test
  • Was am Anfang bei Umsteigern womöglich zur Verwirrung beiträgt, erweist sich nach einer Einarbeitungszeit häufig als eine praktische Eigenschaft
  • Der folgende Einzeiler wandelt alle Dateinamen im aktuellen Verzeichnis in Kleinbuchstaben um:
for i in * ; do mv -i $i $(echo $i | tr [A-ZÄÖÜ] [a-zäöü]) ; done
  • Mit dem ß hat der Einzeiler noch Probleme. (Warum? Es gibt kein großes ß.)

Länge von Dateinamen

Ein Dateiname darf 255 Zeichen lang sein

  • Damit sollte es jedem gelingen, seine Dokumente aussagekräftig zu benennen
  • Wie die Erfahrung zeigt, sind Dateinamen in der Praxis selten auch nur annähernd so lang

Dateiendungen

Eine Datei muss unter Linux keine bestimmte Endung haben, wie dies bei Windows der Fall ist (beispiel.exe oder beispiel.txt)

  • Auch dies verwirrt am Anfang den Umsteiger, doch gewöhnt man sich auch daran

Die meisten Dateien haben aber eine Endung, nicht ungewöhnlich sind auch mehrere - durch Punkte getrennte - Endungen (beispiel.tar.bz2).Unix- und Unix-ähnliche Betriebssysteme wie zum Beispiel Solaris oder Linux betrachten Dateinamen als Ganzes

Eine Datei kann mehrere Namen haben und sich in mehreren Verzeichnissen befinden ("hard links" oder "bind mounts")

  • Alle Zeichen außer dem Schrägstrich "/" und dem Nullzeichen sind erlaubt
  • Frühe Versionen hatten 1 bis 14 Zeichen lange Dateinamen
  • Die BSD-Varianten führten bis zu 255 Zeichen lange Namen ein

Ein relativer Dateipfad kann aus mehreren Segmenten bestehen und beginnt mit einem Segment

  • Jedes Segment unterliegt den Regeln des Dateinamens, kann also 14 bzw. 255 Zeichen lang sein
  • Die Segmente der Dateipfade werden durch das Zeichen "/" getrennt

Das letzte Segment kennzeichnet die eigentliche Datei

  • Die vorhergehenden Segmente sind entweder Verzeichnisnamen oder symbolische Verweise (englisch "symbolic links") auf Verzeichnisnamen
  • Ein relativer Dateipfad geht vom aktuellen Arbeitsverzeichnis aus, das jeder Prozess individuell setzen kann

Ein absoluter Dateipfad beginnt hingegen bereits mit "/" und ist unabhängig vom aktuellen Arbeitsverzeichnis

  • Er geht vom Wurzelverzeichnis aus. Über das Wurzelverzeichnis sind alle Dateien eines Systems erreichbar

Beim Zugriff wird zwischen Groß- und Kleinschreibung unterschieden

Wichtige Dateiendungen
.zip.gz Mit dem ZIP Algorithmus komprimierte Datei
.so Shared Object - Entspricht in der Bedeutung in etwa einer DLL Datei unter Windows
.h Header Datei - Teil eines C Quellcodes
.c.cpp C bzw. 
  • C++ Quelltext
.o Object File - compilierter C (C++) Quellcode
.html Hypertext - Dieser Text ist in Hypertext geschrieben
.db Datenbankdatei im DBASE Format
.sh Shellscript (selten verwandtes Suffix), entspricht in etwa einer DOS .BAT Datei
.a siehe .so
.gif.jpg.tiff.png.xbm.xpm Verschiedene Bildformate
.au.wav.mp3.mod Verschiedene Audioformate
.rpm.tar.tgz.deb Verschiedene Packetformate
  • Packete werden verwendet, um Software zu installieren
.conf Konfigurationsdatei (selten verwendetes Suffix)
.ps Postscript - Eine Seitenbeschreibungssprache der Firma Adobe
.tex LaTeX Datei, LaTeX ist für UNIX, was Word für Windows ist
.dvi Device Independent - Übersetzte .tex Datei

Dateisysteme

Dateisystem typische Anwendung max. Anzahl Zeichen in einem Dateinamen Zeichensatz
FAT ohne VFAT (DOS) Festplatten, Speicherkarten (Foto) 8+3 OEM (meist Codepage 437)
ISO 9660 Level 2 CD, DVD 31 ASCII
Joliet CD, DVD 64 Unicode
ISO 9660:1999 CD, DVD 179 - 221 je nach sonstigen Attributen ASCII/unspezifiziert
FAT mit VFAT (Windows) Festplatten, USB-Sticks 255 Unicode
ext3 Festplatten 255 (1) Unicode (2)
HFS plus Festplatten 255 Unicode (UTF-16)
UDF CD, DVD 255 Unicode
NTFS Festplatten 256 (3) Unicode (UTF-16) (4)
ReFS Festplatten 32000 Unicode
Anmerkungen
  1. Bei Verwendung von UTF-8-Codierung und Benutzung von Nicht-ASCII-Zeichen stehen zwar 255 Byte, aber weniger als 255 Zeichen zur Verfügung
  2. Die Codierung ist nicht genormt; als Voreinstellung wird meist UTF-8 verwendet
  3. Bei Verwendung langer Unicode-Pfade sind lediglich 255 Zeichen möglich

Anwendung

Anhang

Siehe auch

Dokumentation

Man-Page
Info-Page

Links

Projekt

Weblinks