O que // significa em um caminho?

O que // significa em um caminho?

Eu estava trabalhando em meu terminal quando escrevi incorretamente ao cdfazer root ( /). Sem querer, digitei //e entrei no terminal:

root@weblocalhost://#

Quando digito pwd, recebo resposta //, mas quando digito, ls -srecebo a mesma lista do /diretório.

Quando você digita mais de 2, ou seja, ///você obtém:

root@weblocalhost:/#

Sempre 1, /exceto 2. Existe alguma diferença e //para que serve?

Responder1

/é equivalente a//

Dea especificação POSIX(enfase adicionada):

3.267 Caminho

Uma string usada para identificar um arquivo. No contexto do POSIX.1-2008, um nome de caminho pode ser limitado a {PATH_MAX} bytes, incluindo o byte nulo de terminação. Possui <slash> caracteres iniciais opcionais, seguidos por zero ou mais nomes de arquivos separados por <slash> caracteres. Um nome de caminho pode conter opcionalmente um ou mais <slash>caracteres finais.Vários caracteres sucessivos <slash>são considerados iguais a um <slash>, exceto no caso de exatamente dois <slash>caracteres iniciais.

E:

4.12 Resolução de nome de caminho

...
Um nome de caminho que consiste em um único <slash>deve resolver para o diretório raiz do processo. Um nome de caminho nulo não será resolvido com êxito.Se um nome de caminho começar com dois <slash>caracteres sucessivos, o primeiro componente após os <slash>caracteres iniciais poderá ser interpretado de uma maneira definida pela implementação, embora mais de dois <slash>caracteres iniciais devam ser tratados como um único <slash> caractere.

Para uma boa discussão sobre exceções (cygwin e diretórios), consulte:Como o Linux lida com vários separadores de caminho consecutivos (/home////nomedeusuário///arquivo)?

Responder2

Você pode adicionar várias barras a um diretório e isso não mudará nada. Por exemplo, todos esses três comandos fazem o mesmo:

cd /home
cd /home/
cd /home//

Depois de qualquer um desses, meu diretório de trabalho atual está definido como /home (verifique com pwd).

EUadivinharque você tem seu prompt configurado parafaça algo inteligentee que você se deparou com um comportamento inesperado. O que você ganha quando você echo $PS1?

Verificareste comentário em unix.stackexchange.como que pode explicar isso.

informação relacionada