Para responder às suas perguntas:
Is this safe to run?
Depende da sua definição de "salvar". Não vai causar estragos, mas eu não recomendaria isso.
... does rm skip the trash?
O comando rm
ignora a lixeira. rm
nem sabe sobre o conceito de lixeira. Praticamente todos os comandos de linha de comando não fazem idéia do conceito de lixeira (alguns esquisitos acham divertido ter uma lixeira baseada em terminais).
Se você insistir em um cron job para limpar seu diretório de downloads, eu recomendaria fazer isso da seguinte forma:
find $HOME/Downloads/ -mtime +1 -delete
Isso excluirá todos os arquivos (e diretórios) com mais de um dia. Caso contrário, se você fez o download de algo em 8:59, ele será excluído imediatamente.
Nota: no linux, o curinga *.*
significa algo diferente do windows. Eu suponho que você vem do mundo do Windows, onde *.*
significa todo arquivo.
Observe:
$ ls
foo foo..bar foo.bar foo.bar.baz
$ echo *
foo foo..bar foo.bar foo.bar.baz
$ echo *.*
foo..bar foo.bar foo.bar.baz
$ echo *.*.*
foo..bar foo.bar.baz
$ echo *..*
foo..bar
*
é expandido para tudo, incluindo .
, exceto um .
inicial, mas essa é uma história totalmente diferente. *.*
é expandido para tudo que tenha pelo menos um ponto no meio. *.*.*
é expandido para tudo que tem dois pontos. Acho que você entendeu a ideia, o ponto não tem nenhum significado especial na expansão do nome de arquivo. Tenha cuidado, porém, o ponto tem um significado muito especial quando se lida com expressões regulares , mas isso também é uma história completamente diferente.