Algo que sinto que devo ter certeza: se remover ls <something>, rm <something>removerei exatamente os mesmos arquivos lsexibidos? Existe alguma circunstância em que você rmpossa remover arquivos que lsnão foram exibidos? (Isso é no bash 18.04)
Edit: obrigado a todos que responderam. Penso que a resposta completa é uma combinação de todas as respostas, pelo que aceitei a resposta mais votada como "a resposta".
Coisas inesperadas que aprendi ao longo do caminho:
lsnão é tão simples quanto você imagina ao lidar com seus argumentos- Em uma instalação simples e sem complicações do Ubuntu, aliases .bashrc
ls - Não nomeie seus arquivos começando com um hífen, pois podem parecer argumentos de comando, e nomear um -r é pedir!
find -deleteseria melhor do que rm? Você diz "É por isso" , mas não está totalmente claro para mim a que isso se refere. Observe também que sua findchamada excluirá todos os arquivos recursivamente no diretório atual, onde rmapenas excluirá os arquivos no diretório imediato. Também -name *é um no-op. Tudo em tudo, estou muito intrigado com o seu conselho ...
findé que você pode executá-lo, ver todos os arquivos e, em seguida, executar o mesmo comando com -delete. Desde que você já viu os resultados find, não deve haver nenhuma ambigüidade ao que será removido (que eu realmente gostaria de ouvir mais detalhes sobre isso na forma de uma resposta)
-delete" - Mas como isso é melhor do que executar ls <filespec>, seguido por rm <filespec>(que o OP já sabe como fazer)?
find ... -printprimeiro para confirmar quais arquivos serão excluídos e find ... -delete, em seguida , ainda excluirá os arquivos criados entre os dois comandos. Se você usa os dois -printe -deletenão obtém confirmação, apenas um relatório posterior do que foi excluído (e você também pode usar rm -v).
rmnão tenha uma--dry-runbandeira ...