Acidentalmente eu digitei dir /..
no final, preciso perceber a real diferença entre esses caminhos:
$ command ../dir
$ command dir/..
Eles fazem duas coisas diferentes, usando o mesmo..
também funciona para:
$ ls ~/..
para listar um diretório acima de $HOME, e talvez se eu usar $VARIABLE/.. também.
O que mais é possível? No caminho do mundo Linux.
Estou falando especificamente sobre isso ..
, ./
, .
, ../
, ou /..
, se houver algum outro símbolo assim, um que eu não conheça, ou uma maneira avançada ou truque para usá-lo de uma maneira melhor, fora do comum
E se eles tiverem nomes próprios, por favor, compartilhe-os.
Se não houver outro, a resposta deve ser "Não há nenhum"
O caminho é analisado da esquerda para a direita, então
../dir
significa subir e depois ir paradir
;dir/..
significa ir paradir
depois subir, que é o mesmo quepwd
ou$PWD
.Basicamente, qualquer coisa relacionada ao caminho relativo.
EDITAR:
.
é um símbolo que significa diretório atual e também pode significar fonte se você deseja executar um arquivo bash,..
é um símbolo que significa o diretório superior, o mesmo vale para../
../
são dois símbolos que significam explicitamente o diretório atual, sem executar o bash como o anterior,/..
são dois símbolos que significam ir para o diretório superior da raiz, que retornará root. Quaisquer outros símbolos como...
....
são prováveis aliases.Mais informações podem ser encontradas usando palavras-chave como
directory actions on Linux
oufolder actions for Linux
.Portanto, não há tratamento especial para
..
,../
ou/..
.../
não é um único token. É..
(diretório pai) seguido por/
(separador de diretório). Da mesma forma,/..
são dois tokens também...
é apenas um nome de diretório como qualquer outro , exceto que leva para cima na árvore de diretórios em vez de para baixo. O shell entendecd ../dir
exatamente da mesma maneira que entenderiacd foo/bar
: é[directory1]/[directory2]
.