Estas são as anotações padrão do Linux para o diretório atual ( . ) e o diretório pai ( .. ). Eles não têm nada a ver com o Android ou o cartão SD. Este é apenas o comportamento padrão do sistema de arquivos, e eles existem para todos os diretórios no sistema de arquivos.
$ pwd
/home/xieerqi/testdir/parent
$ ls -a
./ ../
# going to . directory doesn't do anything, you remain in same place
$ cd .
$ pwd
/home/xieerqi/testdir/parent
# going to .. brings you up one level to parent folder
$ cd ..
$ pwd
/home/xieerqi/testdir
A exceção importante é que, com o diretório raiz / , o .. apontará para si mesmo, já que não há um diretório mais alto para ir.
Você também não pode realizar a remoção neles (o que não faria sentido, já que você está tentando se livrar do seu diretório de trabalho atual ou de seu pai):
$ pwd
/home/xieerqi/testdir/parent
$ rm -r .
rm: refusing to remove '.' or '..' directory: skipping '.'
$
Então, o que você deve fazer sobre eles? Nada. Eles são parte do pacote Linux, por assim dizer. Isso não está quebrado, então não tente consertá-lo.
O uso freqüente de . é via notação ./ . Isso pode ser usado no caso de você executar um script ou executável em seu diretório de trabalho atual, como ./myscript.sh ou como argumento para comando, significando um arquivo no diretório atual, como ls ./myfile.txt . A última abordagem é frequentemente usada com globstar para expandir para vários nomes de arquivos no diretório atual, como ls ./* . Essa abordagem é particularmente útil com nomes de arquivos que podem conter - e, portanto, esses nomes de arquivos podem ser mal interpretados por comandos como argumentos, enquanto ./-myfile.txt evita esse problema.
Também é importante notar que, como os nomes de arquivos que contêm os pontos principais são considerados ocultos no Linux, esses dois diretórios "ponteiro" podem ser vistos se você especificar explicitamente o comando usado para processar nomes ocultos (a menos que seu comando, como find faz isso por padrão).
Veja também: link