Recientemente corrí rm -rf
, no rm -rf /
, pero no pasó nada. Acabo de obtener un resultado como este:
Tenía miedo porque me preocupaba que pudiera haber eliminado algunos archivos, pero no fue así. Solo asegúrese, ¿podría esto haber eliminado algún archivo de mi directorio?
rm
), pero para muchos / la mayoría de los otros comandos, por ejemplo, todos los comandos de manipulación de texto basados en tuberías, simplemente probarlos con frecuencia es lo más fácil / simple que puede hacer. Junto con el estudio de la página de manual, obviamente.Respuestas:
No,
rm -rf
no eliminará ningún archivo porque no proporcionó un argumento para el comando.fuente
-f
eso, no es un error ejecutarlo sin argumentos.rm -r
se quejará de "operando faltante", pero lo-f
suprime, y también suprime los errores de los archivos que no existen. (Así, por ejemplo, una secuencia de comandos podría utilizarrm -rf /foo/bar/*
para vaciar un directorio que ya podría estar vacío, sin tener que2>/dev/null
a errores de squash.)Desde la página del manual :
Esto significa que puede usarlo para eliminar una lista de archivos a la vez, por ejemplo, con
Afortunadamente, todo lo que hizo fue pasar una lista vacía de archivos, por lo que no eliminó nada. Además, lo que dice @SolarMike : si no sabe lo que hace un comando, no lo ejecute . macOS está diseñado para 'ocultar' todas las operaciones peligrosas (pero potencialmente poderosas) de Unix del usuario final.
fuente
-r
indicador es innecesario a menos que esté eliminando directorios de forma recursiva. Si solo se trata de archivos,rm
es suficiente,-f
es forzoso, no te pregunta "¿estás seguro" de cada archivo?rm -rf
. Si hubieran ejecutado 'rm -r' sin archivos / directorios especificados, habrían recibido este mensaje de uso:JanNash ~ $ usage: rm [-f | -i] [-dPRrvW] file ... unlink file
/
, simplemente omitirá el archivo inexistentexyz*
(que simplemente no se expandirá debido a la falta de coincidencia).a
yb
para mí, incluso sin especificar-f
. Realice los mismos comandos conecho rm -f a b c*
para ver el comportamiento real.Para el novato / Linux / Unix novato:
rm
solo no hace nada porque no le has dicho de qué deshacerse.man rm
puede explicar la mayor parte de esto, si lo comprende.-r
significa recursivo, como en "incluir todo en subcarpetas"-f
significa fuerza, modo "no me pidas que confirme"rm -rf
(NO HAGA ESTO)/
diría que elimine todo lo que se encuentra debajo de/
(la carpeta raíz) sin verificar (en las versiones recientes de macOS SIP evitará que elimine macOS por sí mismo, pero se eliminarán muchas otras cosas)rm [some file name]
simplemente eliminaría ese archivo.rm -rf /home/myuser/books
eliminaría todo enmyuser
labooks
carpeta, así como la carpeta.fuente
rm -rf / --no-preserve-root
para disparar tu pierna correctamente.find / -delete
debería "funcionar" (es decir, eliminar las cosas, así que no lo ejecutes )No, pero si desea eliminar Aquí hay un ejemplo:
Después de iniciar Terminal (en su carpeta / Aplicaciones / Utilidades) escriba cd ~ / Desktop para navegar al directorio de Desktop. Si tuviera un archivo aquí llamado MyFile.rtf que nunca, nunca quiso volver a ver, podría ejecutar este comando:
Cuando presionas Retorno, ¡el archivo desaparecerá! Se habrá ido, brindis, historia. No puedes recuperarlo.
fuente