Acabei de encontrar a seguinte pergunta no Unix Programming Environment , o livro clássico de Kernighan e Pike sobre Unix (encontrei o texto abaixo na p. 79 da edição do ano 1984, ISBN: 0-13-937699-2):
Exercício 3-6. (Pergunta de truque) Como você coloca um / em um nome de arquivo (ou seja, um / que não separa os componentes do caminho?
Trabalho com Linux há anos, tanto como usuário final quanto como programador, mas não consigo responder a essa pergunta. Não há como colocar barras nos nomes de arquivos, é absolutamente proibido pelo kernel. Você pode corrigir seu sistema de arquivos através do acesso ao dispositivo de bloco ou usar caracteres com aparência semelhante no Unicode, mas essas não são soluções.
Eu entendo que o Linux ≠ Unix, mas o mesmo princípio deve se aplicar, já que o sistema deve ser capaz de extrair inequivocamente a hierarquia de diretórios dos caminhos.
Alguém sabe o que exatamente Kernighan e Pike pensaram ao fazer essas perguntas? Qual foi a suposta resposta? O que exatamente é o 'truque'? Ou talvez o sistema Unix original simplesmente tenha escapado dessa barra de alguma forma?
UPD:
Entrei em contato com Brian Kernighan sobre a pergunta e foi isso que ele respondeu:
A resposta é (ou foi): "Você não pode".
Por isso, Timothy Martin estava certo e recebe o sinal verde.
a
e forçar seu sistema a pensar que o sistema de arquivos está em um código de idioma EBCDIC? ASCII a
é 0x61, que corresponde ao /
EBCDIC (página de códigos 37)