Várias barras são permitidas e equivalem a uma única barra. Da Especificação Unix única (versão 3) , definições básicas §3.266 nome do caminho :“ Várias barras sucessivas são consideradas as mesmas que uma barra. ”
Existe uma exceção: se um nome de caminho começa com exatamente duas barras, ele pode ser tratado de forma diferente (ref: definições básicas §4.11 resolução do nome do caminho ). O próprio Linux não faz isso, embora alguns aplicativos possam, e outros sistemas unix-ish (por exemplo, Cygwin).
Um /
no final de um nome de caminho força o nome do caminho a se referir a um diretório. Em ( definições base POSIX 1003.1-2001 (Single Unix v3) §4.11 resolução do nome do caminho , um /
à direita é equivalente a um /.
à direita. POSIX 1003.1-2008 (Single Unix v4 ) definições de base §4.12 elimina o requisito para torná-lo equivalente a /.
, a fim de lidar com diretórios não existentes (por exemplo, mkdir foo/
é necessário para trabalhar, enquanto mkdir foo/.
não - ver o justificativa para a mudança).
Para programas que agem em uma entrada de diretório, se foo
for um link simbólico para um diretório, então passar foo/
é uma maneira de fazer o programa agir no diretório em vez do link simbólico.
¹ Observe que isso se aplica apenas à resolução do nome do caminho, ou seja, ao acessar arquivos. Manipulações de nome de arquivo podem funcionar de forma diferente. Por exemplo, basename
e dirname
ignore as barras finais.