¿Cómo puedo omitir la Papelera al eliminar un archivo?

66

Con frecuencia conecto diferentes discos duros externos USB y unidades flash a mi computadora y me gustaría facilitar la eliminación de archivos y recuperar espacio en disco de ellos.

Si simplemente elimino el archivo, se mantendrá en una carpeta de basura oculta en la unidad externa hasta que vacíe la Papelera. Esto también me obliga a vaciar mi basura local simultáneamente mientras el disco externo todavía está conectado para recuperar el espacio en disco, lo que no es deseable.

Por el momento, la única otra "solución" que he encontrado es mover el archivo al disco duro interno y luego desecharlo. Esto no es óptimo porque pierdo tiempo moviendo archivos de una unidad a otra (regularmente trato con máquinas virtuales de 20GB +).

¿Cómo puedo eliminar permanentemente un archivo de una unidad externa, sin pasar por la papelera?

Rojo y blanco
fuente
1
Es muy difícil borrar permanentemente algo de una unidad USB basada en flash. Más información: security.stackexchange.com/questions/5662/…
Andris el
3
@Andris Gracias, enlace interesante. Creo que enmarqué mal mi pregunta. No estoy interesado en una eliminación segura. Simplemente estoy interesado en eliminar un archivo y recuperar el espacio.
Redandwhite
Entonces, ¿no puede vaciar la basura localmente cuando el archivo es externo, pero puede hacerlo cuando está almacenado internamente? ¿Por qué mantener algo en la basura cuando estás a un paso de eliminarlo? No consigo la justificación añadida. ¿Por qué no editar eso y solo decir que quieres hacer X?
bmike
66
@bmike porque no me importa tener una basura localmente. Me importa tener una basura en una unidad flash más limitada. Básicamente, eliminar un archivo no libera espacio en la unidad. Sé que esto es lo mismo para los discos locales, pero es más aceptable para mí. Esto aborda un caso de uso específico.
Redandwhite
Es increíble que Apple no vea qué problema es esto. ¿Cómo se supone que un usuario normal debe entender lo que está pasando? Desde su punto de vista, su unidad USB está vacía pero es inútil.
cja

Respuestas:

17

⌘ Command⌥ Option⌫ Deleteeliminará permanentemente los archivos, con un diálogo de confirmación que advierte que esta acción no se puede deshacer ⌘Command⌫ Deletesimplemente mueve archivos a la Papelera, sin confirmación.

Consejo: siempre que desee que la aplicación Mac realice la misma acción pero de manera un poco diferente, intente hacerlo con el ⌥ Optionbotón presionado.

hamstergene
fuente
1
¡Gracias! Esta es ahora la respuesta aceptada. Para el beneficio de otros, podría ser útil notar en su respuesta que Alt se llama Opción en el teclado de diseño de EE. UU.
Redandwhite
54

Puede crear un servicio o aplicación Automator para facilitar la ejecución del rmcomando de shell, que eliminará permanentemente archivos o carpetas y omitirá la papelera.

Por ejemplo, comience creando un nuevo Servicio en Automator.app .

  • Seleccione files or folderscomo entrada, probablemente también desee limitar la disponibilidad de este servicio a la aplicación Finder.

Entrada de servicio del automatizador

  • Opcionalmente, pero muy recomendable, primero agregue un Ask for Confirmationpaso al flujo de trabajo.

Paso de confirmación

  • Finalmente, agregue el Run Shell Scriptpaso al flujo de trabajo. Asegúrese de pasar la entrada as arguments. Luego puedes poner el siguiente script:

    for f in "$@"
    do
        rm -rf "$f"
    done
    

Script de shell de entrada

Según lo mencionado por @Thecafremo, también puede agregar un -Pparámetro rmpara seguridad adicional durante la eliminación. Para un detalle adicional, puede agregar algunos comentarios audibles agregando el siguiente comando al final del script de shell:

afplay "/System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/finder/empty trash.aif"

Guarde su servicio, y debería estar listo para usar en Finder desde el menú Servicios en la barra de menú. El servicio también aparecerá en la parte inferior del menú que obtienes haciendo clic derecho en los archivos en Finder, aunque para que aparezca allí, Finder > Servicesprimero debes ejecutarlo una vez desde el menú. También puede configurar un método abreviado de teclado para su servicio en el panel de preferencias Teclado de Preferencias del Sistema.

Menú de servicios

Servicio en accion

En lugar de crear un servicio, podría crear de manera similar una aplicación en Automator, que puede anclar en el Dock para poder arrastrar archivos a él.

Gerry
fuente
1
Esta es sin duda la solución más elegante. Y es gratis :-)
Maverik
Esto es realmente lindo Gracias por una gran solución :)
Redandwhite
Esto no funciona para mí en Mavericks ... Simplemente no hace nada cuando uso el servicio.
Bruno Stonek
1
Me gustaría agregar que este servicio incluso se puede usar para eliminar archivos que ya están en la basura, algo que de otra manera es muy difícil. (¡Impresionante!)
Protector uno
1
¡Increíble! Un par de cosas. Al hacer clic en el ícono dentro del paso Solicitar confirmación lo cambiará a un signo de exclamación amarillo, útil para advertir que lo que está a punto de hacer es peligroso. Al guardar, el nombre ingresado debe ser "Eliminar permanentemente", ya que esto es lo que se mostrará en el menú Servicios. Lamentablemente, esto no es compatible sudocuando se requiere contraseña. He intentado utilizar osascript -e ... with administrator priveleges, pero escapar el original "con \"no parece funcionar.
ADTC
19

Y la opción podría ser el comando Terminal rm, con la -Popción si desea un poco de seguridad adicional:

[Opción -P ] Sobreescribirá los archivos normales antes de eliminarlos. Los archivos se sobrescriben tres veces, primero con el patrón de bytes 0xff, luego 0x00 y luego 0xff nuevamente, antes de que se eliminen.

Para hacerlo, solo:

  1. Abra el Terminal.app (que se encuentra en / Aplicaciones / Utilidades).
  2. Escriba rm -P y arrastre el archivo a la ventana del terminal. Entonces golpear Enter.
Thecafremo
fuente
1
Woah, arrastrar la carpeta eliminará toda la carpeta, ¿verdad?
duci9y
1
@ duci9y ¡Correcto! Editaré la respuesta para corregirlo. Contestar sin revisión no es lo mejor que se puede hacer, de hecho.
Thecafremo
2
También puede eliminar una carpeta si usa la opción -rf.
Maverik
1
sudo rm -rf seguido de espacio hace maravillas, ¡gracias!
PatrickT
1
La solución aceptada anterior es buena si tiene que hacer esto con frecuencia, pero solo tenía un archivo que necesitaba destruir (desde la órbita) y esto es el truco.
hairboat
4

¿Has considerado usar la Papelera sin desde la Mac App Store?

Maverik
fuente
1
Esto parece decente, pero me preguntaba si hay algo disponible gratuitamente.
Redandwhite
Eso es cierto :-) Pero al menos es barato.
Maverik
4

¿Qué tal algo como la Papelera X ? La descripción dice:

Puede usarlo para eliminar o destruir instantáneamente archivos y carpetas sin enviarlos a la papelera. Puede usarlo para vaciar o triturar basura solo en discos seleccionados. Y, por supuesto, puede usarlo como la papelera que siempre ha tenido en su escritorio.

binarybob
fuente
3

El siguiente truco funciona con OS X El Capitan. Recibí el consejo de aquí .

Seleccione su archivo (s) en Finder. Vaya al Filemenú y, cuando presione la alt/optiontecla, verá que la opción "Mover a la papelera" cambia a "Eliminar inmediatamente ...".

Tyler Collier
fuente
2

La información de antecedentes se puede encontrar en el documento Eliminación segura de datos de la memoria magnética y de estado sólido

Una implementación del conocimiento obtenido de este documento es GNU shred . Esta herramienta se puede instalar como parte de coreutilsde MacPorts .


fuente
¿Por qué el voto negativo? ¿A quién no le gustan las herramientas MacPorts o GNU?
No fui la persona que rechazó el voto, pero no creo que esto responda la pregunta. Tal vez el original está mal redactado
Redandwhite
0

A partir de El Capitan 10.11.6 esto ahora es posible sin usar Terminal.app: seleccione los archivos que desea eliminar, haga clic derecho y seleccione "Eliminar inmediatamente ...".

dataArchitect
fuente