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?


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"

1

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

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.