Qual é a diferença entre barras invertidas e barras invertidas nos caminhos? [duplicado]

9

Qual é a principal diferença entre barra (/) e barra invertida (\) em referência a caminhos, tanto remotos quanto locais?

Se bem me lembro, a barra invertida é usada para denotar algo dentro do computador ou rede atual, como C: \ Windows ou \\ 172.12.1.34, enquanto barras são usadas para denotar algo que está fora ou externo ao computador atual. ou rede, como o link .

Eu gostaria de saber se esta é uma explicação precisa ou se a diferença é realmente mais profunda do que isso, e os exemplos que dei são apenas uma coincidência.

    
por Sean 25.08.2011 / 08:31

4 respostas

11

O Unix e suas variantes sempre usaram a barra (/) para denotar a hierarquia do sistema de arquivos.

No entanto, o Windows deve seu delimitador de sistema de arquivos, a barra invertida (\), ao predecessor do MS-DOS. E o MS-DOS não foi o criador disso. Ele foi trazido do sistema operacional QDOS (que emprestou do CP / M), que a MS comprou e reformulou no MS-DOS.

Como a maioria dos protocolos baseados na Web, se não todos, originados no UNIX (HTTP, FTP, etc.), a Microsoft está em conformidade com esses delimitadores para manter a compatibilidade.

    
por 25.08.2011 / 08:42
4

Essa não é uma explicação precisa. O separador de caminho é apenas um caractere, um token, que é um pouco arbitrário, mas geralmente escolhido para marcar uma separação natural. A barra invertida como separador de caminho vem da linhagem CP / M, DOS e Windows. A barra vem do Unix e possivelmente de outros sistemas anteriores.

O separador de caminho de URL da Internet foi escolhido para ser a barra, já que a maioria dos desenvolvedores dos padrões estava familiarizada com o Unix. A barra Unix como separador de caminho geralmente é considerada o separador canônico. Sua posição no teclado também facilita a digitação para a maioria das pessoas que precisam digitar muito.

Mesmo as linguagens de script entre plataformas, como o Python, usam a barra como a "forma normalizada" de especificar caminhos.

    
por 25.08.2011 / 08:43
2

Em um nível de implementação, o Windows manipulará '/' da mesma maneira que '\'. Eu usaria apenas o '/'. Ele fará todos os aplicativos portáteis. MySQL e python também traduzem o '/' para o que você precisa em seu sistema, dependendo de qual separador de caminho ele usa.

O '\' é usado em outras áreas, como expressões regulares, e alguns terminais e linguagens de programação como um caracter de escape. Isso garantirá que o próximo caractere seguinte seja interpretado como um caractere literal, como \ n \ r no final das linhas.

No que diz respeito à notação em relação a sistemas internos ou externos, isso não é verdade. O '/' foi mais popular no início com os sistemas * nix. A Microsoft então se tornou popular e agora '\' é o que as pessoas esperam. Mas como eu mencionei, a Microsoft tem que ser posix (posix um padrão sobre como os sistemas operacionais devem operar) compatível, o que significa que você poderia substituir todo o '\' com '/' na maioria dos lugares e tudo funcionaria sem problemas.

    
por 25.08.2011 / 09:38
0

Principalmente, é apenas convenção.

O Windows parece favorecer '\' enquanto Linux e Unix parecem favorecer '/'

Você pode ler em detalhes sobre os caminhos e as várias notações usadas em diferentes sistemas em Wikipédia .

    
por 25.08.2011 / 08:41