Algo que creo que debo saber con certeza: si lo hago ls <something>
, ¿ rm <something>
eliminaré exactamente los mismos archivos que se ls
muestran? ¿Hay alguna circunstancia en la que rm
pueda eliminar archivos que ls
no se muestran? (Esto es en la fiesta 18.04)
Editar: gracias a todos los que respondieron. Creo que la respuesta completa es una combinación de todas las respuestas, por lo que he aceptado la respuesta más votada como "la respuesta".
Cosas inesperadas que he aprendido en el camino:
ls
no es tan sencillo como podría pensar en el manejo de sus argumentos- En una instalación simple y sin complicaciones de Ubuntu, los alias .bashrc
ls
- ¡No asigne un nombre a sus archivos que comiencen con un guión, ya que pueden parecer argumentos de comando, y nombrar a uno -r lo solicita!
find -delete
mejor que rm
? Dices "Por eso" , pero no me queda completamente claro a qué se refiere. También tenga en cuenta que su find
invocación eliminará todos los archivos de forma recursiva en el directorio actual, donde rm
simplemente eliminará los archivos en el directorio inmediato. También -name *
es un no-op. En general, estoy bastante perplejo por su consejo ...
find
es porque puedes ejecutarlo, ver todos los archivos y luego ejecutar el mismo comando con -delete
. Como ya vio los resultados find
, no debería haber ambigüedad sobre lo que se eliminará (en realidad me gustaría escuchar más detalles sobre esto en forma de respuesta)
-delete
" - Pero, ¿cómo es eso mejor que ejecutarlo ls <filespec>
, seguido de rm <filespec>
(que el OP ya sabe cómo hacerlo)?
find ... -print
primero para confirmar qué archivos se eliminarán, y luego find ... -delete
, seguirá eliminando los archivos creados entre los dos comandos. Si usa ambos -print
y -delete
no obtiene confirmación, solo un informe posterior al hecho de lo que se ha eliminado (y también podría usar rm -v
).
rm
no tenga una--dry-run
bandera ...