Quando fazemos rm -rf * por que não deletamos. e ..?

2

Estou apenas curioso. Existe um guarda salvador lá? . e .. é um "subdiretório" do diretório que estamos excluindo certo?

Eu sei que não é um subdiretório, mas o Linux o trata como um arquivo com propriedade de diretório.

    
por user4951 25.01.2013 / 03:52

1 resposta

19

Isso não faz parte de rm , mas de uma parte do seu shell. * é um glob que seu shell expande e passa para rm na forma de argumentos ( rm nunca vê um literal * , a menos que o glob não corresponda a nada, nesse caso um literal * é passado). Os * globs padrão não se expandem para incluir nomes de arquivos que começam com um ponto, que inclui . e .. . Por exemplo:

$ tee foo bar baz .foo .bar .baz < /dev/null
$ echo *
bar baz foo
$ echo .*
. .. .bar .baz .foo
    
por 25.01.2013 / 04:29

Tags