Зарезервированные символы в именах файлов

У меня создалось впечатление, что единственным символом, который не разрешен в именах файлов, был / , но я, похоже, не могу создать файл, чье имя содержит символы, такие как * , \ , " , : , | , < или > либо . Например,

 $ echo "*" > * $ touch "*" > touch: setting times of `*': No such file or directory 

Я пишу сценарий оболочки, который требует от пользователя ввода имени файла, и я хотел бы удостовериться, что имя не имеет никаких недопустимых символов. Есть ли где-нибудь список?

Обновить:

Я не понимал, что делаю это в файловой системе FAT32 (USB-накопитель), которая не позволяет «*» и другим символам в именах файлов. Неудивительно, что это не сработало. Извини, я виноват!!

  • какая оболочка будет использовать sudo для выполнения сценария оболочки без строки shebang
  • значение {0 , 1 *, 2 *}
  • Как я могу показать cd каталог, в который он переключается?
  • Cron автоматизированный сценарий bash для запуска run 1 скрипт bash, затем другой, плюс проверка целостности
  • find (1): как применяется групповой символ звезды для отказа от некоторых имен файлов?
  • Как скопировать три файла одновременно, а не один файл за один раз в сценарии оболочки bash?
  • Как выполнить эту задачу?
  • Завершить второй (параллельный) процесс, если первый из них завершен
  • 2 Solutions collect form web for “Зарезервированные символы в именах файлов”

    Я уверен, что единственными зарезервированными байтами являются 0 (ASCII Nul) и 0x2f (ASCII '/', косая черта).

    Вы можете легко создать файл с '.', '\' И другими напуганными вещами. Думайте «имена файлов Unicode», которые содержат все виды странных байтовых значений.

    Естественно, вы не можете дублировать имена файлов в одном каталоге, поэтому файлы с именем «.» и «..» обычно не могут быть сделаны простым пользователем: часть файловой системы ядра создает их при создании каталога.

    Также обратите внимание, что большинство файловых систем имеют ограничение на длину имени файла, и вы не можете создать файл, имя которого является пустой строкой.

    Ну, на самом деле вы могли бы, просто сделайте одну цитату,

    например, touch '*'

    Или используйте свой FM:

    введите описание изображения здесь

    Для получения дополнительной информации см. Reserved characters and words на этой странице , как минимум / \ . .. / \ . .. не допускаются

    Linux и Unix - лучшая ОС в мире.