Linux/Datei/Name: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 41: Zeile 41:


</noinclude>
</noinclude>
= TMP =
=== Beschreibung ===
Ein Dateiname identifiziert eine [http://de.wikipedia.org/wiki/Datei Datei] auf einem [http://de.wikipedia.org/wiki/Datenspeicher Datenträger] oder bei einer [http://de.wikipedia.org/wiki/Datenübertragung Datenübertragung]
* Meist wird eine Datei zusätzlich durch einen Verzeichnisnamen charakterisiert, sodass ein vollständiger [http://de.wikipedia.org/wiki/Pfadname Pfadname] entsteht
* Erst diese Kombination zu einem vollständigen Pfadnamen ist in der Regel eindeutig
* Ein Dateiname kann – abhängig vom jeweiligen [http://de.wikipedia.org/wiki/Betriebssystem Betriebssystem] – aus mehreren Teilen bestehen
* 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
* 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])
* Auch auf diesen Systemen werden aber oft Dateien mit solchen Dateiendungen versehen, da es den Datenaustausch vereinfacht
* 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
* 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
* 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).[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
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
* 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
Ein relativer Dateipfad kann aus mehreren Segmenten bestehen und beginnt mit einem Segment
* Jedes Segment unterliegt den Regeln des Dateinamens, kann also 14 bzw.&nbsp;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 [http://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
* Er geht vom Wurzelverzeichnis aus. Über das Wurzelverzeichnis sind alle Dateien eines Systems erreichbar
Beim Zugriff wird zwischen Groß- und Kleinschreibung unterschieden
===== Wichtige Dateiendungen =====
{| class="wikitable sortable"
|-
| | <tt>'''Zip.gz'''</tt>
| | Mit dem ZIP Algorithmus komprimierte Datei
|-
| | <tt>'''.so'''</tt>
| | Shared Object - Entspricht in der Bedeutung in etwa einer DLL Datei unter Windows
|-
| | <tt>'''.h'''</tt>
| | Header Datei - Teil eines C Quellcodes
|-
| | <tt>'''.c.cpp'''</tt>
| | C bzw.&nbsp;
* C++ Quelltext
|-
| | <tt>'''.o'''</tt>
| | Object File - compilierter C (C++) Quellcode
|-
| | <tt>'''.html'''</tt>
| | Hypertext - Dieser Text ist in Hypertext geschrieben
|-
| | <tt>'''.db'''</tt>
| | Datenbankdatei im DBASE Format
|-
| | <tt>'''.sh'''</tt>
| | Shellscript (selten verwandtes Suffix), entspricht in etwa einer DOS .BAT Datei
|-
| | <tt>'''.a'''</tt>
| | siehe .so
|-
| | <tt>'''.gif.jpg.tiff.png.xbm.xpm'''</tt>
| | Verschiedene Bildformate
|-
| | <tt>'''.au.wav.mp3.mod'''</tt>
| | Verschiedene Audioformate
|-
| | <tt>'''.rpm.tar.tgz.deb'''</tt>
| | Verschiedene Packetformate
* Packete werden verwendet, um Software zu installieren
|-
| | <tt>'''.conf'''</tt>
| | Konfigurationsdatei (selten verwendetes Suffix)
|-
| | <tt>'''.ps'''</tt>
| | Postscript - Eine Seitenbeschreibungssprache der Firma Adobe
|-
| | <tt>'''.tex'''</tt>
| | LaTeX Datei, LaTeX ist für UNIX, was Word für Windows ist
|-
| | <tt>'''.dvi'''</tt>
| | Device Independent - Übersetzte .tex Datei
|-
|}
<noinclude>
=== Dateisysteme ===
{| class="wikitable big options"
|-
! | Dateisystem
! | typische Anwendung
! | max. Anzahl Zeichen in einem Dateinamen
! | Zeichensatz
|-
| | FAT ohne VFAT ([http://de.wikipedia.org/wiki/MS-DOS DOS])
| | Festplatten, Speicherkarten (Foto)
| | [http://de.wikipedia.org/wiki/8.3 8+3]
| | OEM (meist [http://de.wikipedia.org/wiki/Codepage_437 Codepage 437])
|-
| | [http://de.wikipedia.org/wiki/ISO_9660 ISO 9660] Level 2
| | CD, DVD
| | 31
| | [http://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange ASCII]
|-
| | [http://de.wikipedia.org/wiki/Joliet_%28Dateisystem%29 Joliet]
| | CD, DVD
| | 64
| | Unicode
|-
| | [http://de.wikipedia.org/wiki/ISO_9660 ISO 9660]:1999
| | CD, DVD
| | 179 - 221 je nach sonstigen Attributen
| | 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])
| | Festplatten, USB-Sticks
| | 255
| | [http://de.wikipedia.org/wiki/Unicode Unicode]
|-
| | [http://de.wikipedia.org/wiki/Ext3 ext3]
| | Festplatten
| | 255 (1)
| | Unicode (2)
|-
| | [http://de.wikipedia.org/wiki/HFS_plus HFS plus]
| | Festplatten
| | 255
| | Unicode (UTF-16)
|-
| | [http://de.wikipedia.org/wiki/Universal_Disk_Format UDF]
| | CD, DVD
| | 255
| | Unicode
|-
| | [http://de.wikipedia.org/wiki/NTFS NTFS]
| | Festplatten
| | 256 (3)
| | Unicode (UTF-16) (4)
|-
| | [http://de.wikipedia.org/wiki/ReFS ReFS]
| | Festplatten
| | 32000
| | Unicode
|-
|}
(1) 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
(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

Version vom 12. September 2024, 13:18 Uhr

Linux/Dateinamen - Kurzbeschreibung topic - Kurzbeschreibung

Beschreibung

Installation

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Dateinamen kürzen

rename

siehe Dateinamen kürzen mit rename

Shellscript

Beispiel

MP3-Dateien auf 30 Zeichen kürzen

for altname in *.mp3; do neuname=$(echo $altname | cut -c -26); mv "$altname" "$neuname.mp3"; done

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Man-Pages
Info-Pages

Links

Projekt
Weblinks