O que significa o ./ (ponto barra) no linux?

3

Por exemplo, posso fazer o seguinte

touch a

ou

touch ./a

Então quando eu faço ls eu posso ver ambos, então qual é exatamente o ./ ?

    
por K Split X 11.10.2017 / 18:46

3 respostas

8

A barra de pontos, ./ , é um caminho relativo para algo no diretório atual.

O ponto é o diretório atual e a barra é um delimitador de caminho.

Quando você der o comando touch ./a , diga "executar o utilitário touch com o argumento ./a " e touch criará (ou atualizará o registro de data e hora para) o arquivo a no diretório atual .

Não há diferença entre touch a e touch ./a já que ambos os comandos irão atuar na coisa chamada a no diretório atual.

De maneira semelhante, touch ../a atuará no a no diretório acima do diretório atual, pois .. refere-se a "um diretório mais acima na hierarquia".

. e .. são dois nomes de diretórios especiais que estão presentes em todos os diretórios dos sistemas Unix.

É útil colocar ./ na frente de um nome de arquivo às vezes, como quando você está tentando criar ou excluir, ou apenas trabalhar com, um arquivo com um traço como o primeiro caractere em seu nome de arquivo. / p>

Por exemplo,

touch -a file

não criará um arquivo chamado -a file e nem

touch '-a file'

Mas,

touch ./'-a file'

seria.

    
por 11.10.2017 / 18:50
3

Isso é chamado de caminho relativo.

. representa o diretório de trabalho atual. Então, se você está atualmente em /home/jesse , . é simplesmente um link para /home/jesse , então quando você aponta para ./ você está realmente apontando para /home/jesse/

    
por 11.10.2017 / 18:49
3

A notação ./ é útil ao tentar executar um script ou outro executável no diretório atual. Ao contrário do prompt de comando do Windows, os shells Unix (e do tipo Unix, como o Linux) não verificam o diretório atual dos executáveis antes de verificar a variável de ambiente PATH , e os sistemas Unix tendem a não incluir ./ no PATH razões de segurança. Por ter que especificar

./executable

em vez de apenas

executable

o usuário está dizendo "sim, eu faço quero executar este executável no diretório atual"

    
por 11.10.2017 / 18:55