O que é uma pasta com um único ponto? [duplicado]

7

Eu sei o que são arquivos ou pastas de pontos, mas há um ponto específico chamado pasta (o nome é apenas um ponto) em todos os diretórios. Para que eles são usados?

Por exemplo, aqui é uma parte da minha pasta "bin". Olhe para as primeiras linhas de reboque.

drwxr-xr-x  2 root root 4.0K Jul 29 12:39 .
drwxr-xr-x 23 root root 4.0K Jul 29 12:37 ..
-rwxr-xr-x  1 root root 904K Mar 30 20:02 bash
-rwxr-xr-x  1 root root  30K Aug  3  2012 bunzip2
...
    
por ziggurat 31.07.2013 / 21:48

3 respostas

15

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, / .)

    
por Eliah Kagan 01.08.2013 / 00:15
1

O ponto único representa o diretório atual. O ponto duplo representa o diretório pai. Digitar "cd .." levará você ao diretório pai. Veja a parte inferior desta página para mais informações: link

    
por tstew 31.07.2013 / 21:53
1

. significa o diretório atual.

.. significa o diretório pai.

Então, quando você digita cd .. , você move um nível acima. Quando você digitar cp /etc/resolv.conf . , copiará o arquivo /etc/resolv.conf no diretório atual.

    
por ubuntu_tr 31.07.2013 / 21:51