O que significa o ~ em um caminho de arquivo?

39

O que significa o ~ em um caminho de arquivo absoluto?

Eu vejo isso na saída de coisas como construir scripts, mas o caminho não existe.

    
por blade34r 16.11.2010 / 11:26

5 respostas

33

Normalmente, significa o diretório pessoal do usuário, por exemplo ~mike/ seria o diretório inicial do usuário mike , ~/ seria seu próprio diretório inicial. No entanto, não está claro para mim se ~/ e ~mike/ devem ser considerados absolutos ou relativos; parece depender da definição dada (se alguém puder apresentar uma referência autorizada, por favor poste um comentário).

Note que estou falando sobre sistemas baseados em Unix aqui.

Veja link

    
por 16.11.2010 / 11:33
20

Na verdade, ambas as respostas de Adrian Mouat e studiohack são verdadeiras.
Em sistemas operacionais com convenção de nomenclatura limitada (versão mais antiga do Windows / DOS etc '), isso significa um nome longo.

e.g. "c:\program files\" is equivalent to "c:\progra~1\"

Em alguns sistemas operacionais (como o Unix), isso significa home-dir (e pode ser visto como um caminho absoluto, mas não canônico).
e.g."/a/vol01/usr/mike/" might be shortened to "~/mike/"
* onde 'usr' é o diretório inicial.

    
por 16.11.2010 / 11:49
12

On many file systems, a file name will contain a tilde (~) within each component of the name that is too long to comply with 8.3 naming rules.

Fonte: Nomeando arquivos, caminhos e namespaces - nomes curtos e longos - MSDN

(na metade da página ...)

    
por 16.11.2010 / 11:33
5

E se você fizer programação ASP.NET, isso significa o nível superior do site; em vez de navegar usando ../../images/some_image.jpg (e errando o nível de aninhamento!) você pode simplesmente dizer ~ / images / some_image.jpg

    
por 16.11.2010 / 14:20
1

Aqui estão algumas dicas que podem ajudá-lo a descobrir melhor:

$ readlink -f ~

$ echo $HOME

Nota: $ é uma convenção para especificar o prompt de linha de comando do usuário, não é uma parte dos comandos.

    
por 16.11.2010 / 12:59

Tags