Gibt es eine Einschränkung für Dateinamen unter Unix?

0

Wir verwenden crontab, um Jobs zu planen, und es wurden keine Dateien für die Verarbeitung ausgewählt, die [oder ]oder enthalten ¿.

Gibt es eine Beschränkung für Dateinamen oder bedeuten diese Zeichen etwas in UNIX?

Gibt es andere Variablen, die wir nicht in Dateinamen verwenden sollten?

Devoloper250
quelle
Mögliches Duplikat: stackoverflow.com/questions/457994/…
Sickest

Antworten:

2

Auf Unix-Systemen können Dateinamen jedes Zeichen enthalten, mit Ausnahme von:

  • / (ein Schrägstrich)
  • NUL (ASCII null)

Abgesehen davon erlaubt POSIX jede Art von Zeichen, sogar UTF-8 - aber das bedeutet nicht, dass jede Anwendung (sei es eine Shell, ein Befehlszeilentool, ein Dateisystem usw.) damit umgehen kann. Aus Gründen der Portabilität sollten Sie den portablen Dateinamen-Zeichensatz verwenden .

*Stellen Sie einfach sicher, dass Sie bei der Verwendung von Zeichen mit einer speziellen Shellbedeutung (z. B. Globs) den Dateinamen in Anführungszeichen setzen. Wenn Ihre Datei beispielsweise aufgerufen wird file*name, verwenden Sie Folgendes :

./some-command "file*name"
slhck
quelle
1

Es hängt vom Dateisystem ab, z. ext4 Genehmigungen (aus Wikipedia)

alle Bytes außer NUL ('\ 0') und '/' und den speziellen Dateinamen "." und ".."

ozeane11
quelle