O que significa “.” e “..” quando em uma pasta?

34

quando usei ls -a para visualizar arquivos ocultos na pasta, havia 2 arquivos ocultos criados por padrão. Qual é o significado desses dois arquivos . e .. ?

ls -a

Produz

.  ..
    
por mr_eclair 28.07.2011 / 21:37

4 respostas

40

. é a pasta atual.

.. é a pasta acima da pasta atual - a pasta que contém a pasta atual.

Às vezes, você verá esse ponto único em uso quando alguém quiser executar um script em seu diretório pessoal. Por exemplo: ./install-app.sh. Isso significa que o arquivo "install-app.sh" está no diretório atual. Seria tão válido fazer /home/username/directory/install-app.sh. Da mesma forma, você também pode fazer ../install.app se o arquivo estiver no diretório pai. A razão pela qual é assim, não é apenas para navegação, mas também para que não seja possível esconder acidentalmente aplicativos do sistema simplesmente por meio de um arquivo em seu diretório pessoal.

    
por dv3500ea 28.07.2011 / 21:39
3

Esses são hardlinks para diretórios self (.) e parent (..). Eles são criados quando você cria um diretório. Eles nunca podem ser excluídos (sem excluir o diretório apontado por eles).

Se você criar um diretório:

mkdir /tmp/foo

você pode ver que existem dois hardlinks para / tmp / foo:

drwxr-xr-x 2 michal michal 4096 2011-08-07 18:40 /tmp/foo
           ^---- two hardlinks

primeiro é do diretório / tmp / apontando para / tmp / foo, e o segundo é o '.' com em / tmp / foo / apontando para si mesmo.

    
por Michał Šrajer 07.08.2011 / 18:46
2

Além disso, observe que você pode usar ls -A (em vez de ls -a ) para listar todos os arquivos, incluindo arquivos ocultos, mas excluindo os diretórios . e .. .

    
por Paddy Landau 04.08.2011 / 12:14
0

. pasta currect

.. pasta pai

    
por RobinJ 07.08.2011 / 18:50