Wie lang dürfen Dateinamen sein?

17

Wie lang dürfen unter Ubuntu Linux Dateinamen und Ordnernamen sein und welche Zeichen dürfen unter Ubuntu Linux in Dateinamen und Ordnernamen vorkommen?

Gaurav Agarwal
quelle

Antworten:

21

Die Dateinamen in Linux waren in früheren Unix-Versionen 14 Byte lang. Das moderne Linux-System hat jedoch 255 Bytes für Dateinamen.

Da ein Zeichen 1 Byte benötigt, beträgt die Länge 255 Zeichen. Auch die Ordner werden im Linux-System als Dateien behandelt

Weitere Informationen finden Sie unter diesem Link

Anwar
quelle
2
Dateinamen sind utf-8, also variable Länge: ein Byte für jedes ASCII-Zeichen. 2 oder mehr für ein anderes Zeichen, z. B. £, ★, ≠, ☺, ¡, ¿, á,… usw.
Strg-Alt-Delor
1
Wenn sich der Dateiname in UTF-Codierung befindet, verringert sich die Anzahl der Zeichen mit der Anzahl der UTF-Codierungen. Siehe serverfault.com/a/542452/363611 und den Kommentar unter dieser Antwort
Sergiy Kolodyazhnyy
4

Ich bin mir nicht sicher, wie lang der maximale Dateiname sein darf (für ext4), aber er hängt mehr vom Dateisystem ab als Linux. Bei FAT32 sind es meiner Meinung nach 255 Zeichen. Sie brauchen wahrscheinlich nie einen so langen Dateinamen.

Bei den zulässigen Zeichen ist jeder Byte-Wert im ext4-Dateisystem zulässig, mit Ausnahme des NULL-Bytes (und /, da dies das Verzeichnis-Trennzeichen 1 ist ). Sie sollten Ihre Dateinamen jedoch auf den UTF-8-Zeichensatz beschränken, um die größtmögliche Kompatibilität zwischen Anwendungen und Geräten zu erzielen.

1. Wie im glibc-Handbuch angegeben , "ist in einer Dateinamenzeichenfolge jedes Zeichen außer dem Nullzeichen zulässig", wobei jedoch /in der Dateinamenzeichenfolge der Name einer Datei oder eines Ordners vom Namen der übergeordneten Datei getrennt wird.

dobey
quelle
Ich würde Limit auf az, AZ und Zahlen sagen. Das Hinzufügen von nicht-
alphanumerischen Werten
@ aking1012 Ich möchte '.' und '@' ist es nicht ratsam.
Gaurav Agarwal
'.' ist natürlich in ordnung. Ich habe @ go wooly noch nicht gesehen, aber ich denke, es könnte in einem Eckfall sein. Dinge, die Parser als Begrenzer verwenden und die nicht richtig flüchten, sind eher das, worauf ich mich bezog - Beispiele: Leerzeichen, /, ", usw.
RobotHumans
1
Die Periode .wird häufig im System selbst verwendet, daher ist dies kein Problem. Das @sollte auch in Ordnung sein, ich sehe E-Mail-Server (zB exim) mit einem Verzeichnis pro Account, @die keinerlei Probleme enthalten und haben.
Marios Zindilis
1
mit einem @ ist in Ordnung. 2 Anmerkungen: WENN Sie etwas Besonderes verwenden, können Sie dem Saibling immer entkommen. Beachten Sie auch, dass manchmal ein Zeichen als Teiler verwendet wird: Zum Beispiel verwendet ssh dieses Zeichen, um Benutzer und System user@system:/dir/dir@dir/zu trennen.
Rinzwind