Puedo usar lo siguiente para eliminar el directorio de destino y recursivamente todos sus subdirectorios y contenidos.
find '/target/directory/' -type d -name '*' -print0 | xargs -0 rm -rf
Sin embargo, no quiero que se elimine el directorio de destino. ¿Cómo puedo eliminar solo los archivos en el destino, los subdirectorios y sus contenidos?
linux
macos
command-line
terminal
Michael Prescott
fuente
fuente
Tres opciones más.
Usar
find
con-mindepth 1
y-delete
:2. Uso
find
, pero con archivos, no directorios. Esto evita la necesidad derm -rf
:3. Continúe y elimine el directorio principal, pero vuelva a crearlo. Puede crear una función bash para hacer esto con un comando; Aquí hay una simple línea:
fuente
Qué tal si
Si puede haber archivos que comienzan con. en el directorio de destino.
Este segundo coincidirá con todo, comenzando con a., Excepto. y ... fallará en nombres como .a, pero eso no es muy común. Podría modificarse si es necesario para cubrir todos los casos.
fuente
fuente