Todo diretório contém uma entrada . e .. .
. significa o próprio diretório. É chamado de diretório atual .
.. significa o diretório pai , isto é, o diretório que o contém.
Existe um diretório que não está contido por nenhum outro diretório: / . Portanto / é especial - assim como todos os outros diretórios, ele contém uma entrada .. , mas sua entrada .. é ela própria. Portanto, para / e apenas para / , .. e . são equivalentes.
Essas entradas de diretório são úteis para várias finalidades. Por exemplo, você pode alterar o diretório para o pai do diretório em que você está atualmente com o comando cd .. .
Você pode ter visto . no contexto da execução de programas ou scripts. Em um shell no estilo Unix, quando você executa um comando pelo nome, o shell não tenta executar automaticamente um programa com o nome no diretório atual. (Isso é surpreendente para alguns usuários que vêm do Windows, onde isso acontece.) A principal razão para isso é a segurança - se alguém criar um programa em seu diretório com o mesmo nome de alguma ferramenta de administração do sistema e executar essa ferramenta enquanto em seu diretório, eles poderiam ter apenas enganado você para executar o programa.
Portanto, para executar um programa que não esteja em sua PATH , você deve chamá-lo por algum nome que tenha um / nele. Para executar um programa no diretório atual, você pode usar ./program . (Você não pode usar /program , porque esse é um caminho absoluto e significa "o arquivo chamado program no diretório raiz, / .)