significado node name filesystem does filesystems naming

filesystems - node - filesystem c++



¿Cuáles son los nombres de archivo reservados para varias plataformas? (7)

No estoy preguntando sobre las reglas sintácticas generales para los nombres de archivo. Quiero decir cosas que saltan de la nada y te muerden. Por ejemplo, tratando de nombrar un archivo "COM <n>" en Windows?


A menos que esté tocando directorios especiales, los únicos nombres ilegales en Linux son '' . ''y'' .. ''. Cualquier otro nombre es posible, aunque el acceso a algunos de ellos desde el shell requiere el uso de secuencias de escape.

EDITAR: Como dijo Vinko Vrsalovic, los archivos que comienzan con '' - '' y '' -- '' son un problema del shell, ya que las secuencias de caracteres son interpretadas por la aplicación, no por el shell.


Bueno, para MSDOS / Windows, NUL, PRN, LPT <n> y CON. Incluso causan problemas si se usan con una extensión: "NUL.TXT"




Un truco de Unix cuando no sabes:

Los archivos que comienzan con - o - son legales pero un problema para trabajar con ellos, ya que muchas herramientas de línea de comandos creen que les estás proporcionando opciones.

Muchas de esas herramientas tienen un marcador especial "-" para indicar el final de las opciones:

gzip -9vf -- -mydashedfilename


Como han dicho otros, los nombres de dispositivo como COM1 no son posibles como nombres de archivo en Windows porque son dispositivos reservados.

Sin embargo, hay un método de escape para crear y acceder a archivos con estos nombres reservados, por ejemplo, este comando redirigirá la salida del comando ver a un archivo llamado COM1:

ver > "//?/C:/Users/username/COM1"

Ahora tendrá un archivo llamado COM1 que el 99% de los programas no podrá abrir, y probablemente se congele si intenta acceder.

Aquí está el artículo de Microsoft que explica cómo funciona este "espacio de nombre de archivo". Básicamente le dice a Windows que no haga ningún procesamiento de cadena en el texto y que lo pase directamente al sistema de archivos. Este truco también se puede usar para trabajar con rutas de más de 260 caracteres.


De: http://www.grouplogic.com/knowledge/index.cfm/fuseaction/view_Info/docID/111 .

Los siguientes caracteres no son válidos como nombres de archivos o carpetas en Windows utilizando NTFS: / ? < > / : * | " y cualquier personaje que pueda escribir con la tecla Ctrl.

Además de los caracteres ilegales anteriores, el símbolo ^ tampoco está permitido en los sistemas operativos Windows que utilizan el sistema de archivos FAT.

En Windows, con el archivo FAT, el archivo del sistema y los nombres de las carpetas pueden tener hasta 255 caracteres.

En Windows, el archivo del sistema NTFS y los nombres de las carpetas pueden tener hasta 256 caracteres.

En Ventana, la longitud de una ruta completa en ambos sistemas es de 260 caracteres.

Además de estos personajes, las siguientes convenciones también son ilegales:

  • Colocando un espacio al final del nombre
  • Colocando un punto al final del nombre

Los siguientes nombres de archivo también están reservados en Windows:

  • com1 ,
  • com2 ,
  • ...
  • com9 ,
  • lpt1 ,
  • lpt2 ,
  • ...
  • lpt9 ,
  • con ,
  • nul ,
  • prn