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