No se puede crear un directorio llamado '!?'

No se puede crear un directorio llamado '!?'

Estoy en Linux y quiero crear un directorio llamado !?en una unidad flash formateada como FAT32. No importa lo que intente, ya sea GUI o mkdir, no puedo crear un directorio llamado !?. Sin embargo, puedo hacerlo en otros lugares, como mi directorio personal. ¿Por qué no puedo hacer esto en una unidad flash?

Respuesta1

Enesta tabla en Wikipediahay una columna de "caracteres permitidos en las entradas del directorio". La entrada para FAT32 dice:

[…] excepto NUL," * / : < > ? \ |

El nombre elegido !?contiene ?algo que no está permitido. Elija otro nombre u otro sistema de archivos. Tenga en cuenta que si bien ?es técnicamente posible en NTFS, puede serproblemático en Windows, por lo que NTFS no es necesariamente una buena opción si necesita este nombre de directorio en particular.

Respuesta2

Tienes que usar un carácter de escape antes del !símbolo.

Para crear su directorio, !?debe escribir el comando como mkdir \!?(sin espacios entre \y !) o como mkdir '!?'(comillas simples, no dobles).

Normalmente, creo !se utiliza para hacer referencia a eventos. Sinceramente no sé mucho al respecto. Simplemente sé cómo crear su directorio usando el carácter de escape, por lo que el shell sabe interpretar ese carácter literalmente.

información relacionada