O diretório . é o diretório atual. O diretório .. é o nível superior desse diretório
$ pwd
/home/user
$ cd docs; pwd # change to directory 'docs'
/home/user/docs
$ cd . ; pwd # we change to the '.' directory, therefore we'll stay. No change
/home/user/docs
$ cd .. ; pwd # back to up level
/home/user
No Linux, as opções de comandos são introduzidas pelo sinal - , ou seja, ls -l , portanto, se você quiser fazer qualquer referência a um arquivo que comece com - , como -file , o comando pensaria está tentando especificar uma opção. Por exemplo, se você quiser removê-lo:
rm -file
irá reclamar porque está tentando usar a opção file do comando rm . Nesse caso, você precisa indicar onde está o arquivo. Estando no diretório atual, assim, no diretório . , você precisa se referir a esse arquivo como ./-file , significando, no diretório . , o arquivo -file . Nesse caso, o comando rm não acha que é uma opção.
rm ./-file
Isso pode ser feito também usando -- .
De man rm :
To remove a file whose name starts with a '-', for example '-foo', use one of these commands:
rm -- -foo rm ./-foo