Respuestas:
No hay un "deshacer" general para cada operación en la terminal. Si desea recuperar un archivo después de usarlo rm
, deberá buscar un software de recuperación.
Una opción para evitar futuros errores es crear alias
comandos alternativos para eliminar archivos. Añádelos a tu ~/.bashrc
y adquiere el hábito de usarlos en lugar de rm
.
alias rmi = 'rm -i'
Si lo usa rmi
, se le solicitará la confirmación de futuras eliminaciones. Intente evitar desarrollar el hábito de presionar y
inmediatamente después de emitir un rmi
comando, ya que eso anulará el propósito.
También puede mover archivos borrados por el trsh
comando en la terminal a su papelera de reciclaje (en KDE y Gnome):
alias trsh='mv --target-directory="$HOME/.Trash"'
Si lo usa trsh
, tendrá una capacidad limitada de "recuperación". Cuidado con eso
trsh dir1/file1 dir2/file1
aún puede causar pérdida de datos irrecuperable.
rm
a rm -i
es que uno se acostumbra a la red de seguridad que te da. Luego vas a otra máquina, que no tiene ese alias ...
rmi
-> rm -i
. Es realmente un error simplemente interponerse en un programa existente aliasándolo.
No hay papelera de reciclaje para la línea de comando.
Puede probar algunas de las diversas utilidades de recuperación, pero no hay garantía de que funcionen.
Puede usar trash-cli si usa KDE cuando ejecuta una interfaz gráfica de usuario. Esta es la utilidad de línea de comandos para eliminar / restaurar usando las instalaciones de basura de KDE.
alias rm=trash
que tus problemas de línea de comandos típicos vienen con botones de deshacer.
alias rm=trash
es potencialmente peligroso, si hay alguna posibilidad de que uses el sistema de otra persona algún día y lo olvides (o ssh). Es mucho más seguro acostumbrarse a escribir en trash
lugar de hacerlo rm
.
Puede crear rm
un alias para el trash
comando (deberá instalarlo trash
primero). Agregue esto a su ~/.bashrc
:
alias rm='trash'
Esto es preferible alias rm='mv --target-directory=$HOME/.Trash'
ya que ~ / .Trash NO es la carpeta de basura para gnome. En mi humilde opinión, es mejor trash
averiguar dónde está la carpeta de basura real.
Por cierto, habría publicado esto en un comentario, pero no tengo suficiente representante.
Aún no se han nombrado dos soluciones técnicas más:
Hay una pregunta más grande aquí que vale la pena abordar. Los comandos de Shell no son habladores (no verifican dos veces lo que quieres) y esperan que sepas lo que estás haciendo. Esto es fundamental para la forma en que están diseñados . Es una característica, no un error.
Algunas personas se sienten machos cuando usan tales comandos, lo que creo que es bastante tonto, pero es importante comprender los peligros. Puedes hacer mucho daño en una terminal, incluso si no eres root. Creo que probablemente realmente te importó rm
, pero como dijiste "¿Podemos deshacer las operaciones realizadas en la terminal", pensé que valía la pena decirlo. La respuesta general es no, no puedes.
Opción 1: consulte Recuperar archivos de Linux de un sistema de archivos ext2 . Esta página apunta a un programa, escrito por Sebastian Hetze de la compañía LunetIX, que (como sugiere el título) recupera archivos recientemente eliminados de un sistema de archivos ext2. Ejemplo de uso:
# undelete -d /dev/hdc3 -a 10
Advertencias:
Opción 2: Tengo rsnapshot (rsync) ejecutándose en mi máquina que hace instantáneas cada hora de mis carpetas seleccionadas. Incrementa esto cada hora, 2 horas o lo que sea que le digas a CRON que haga. Después de un día completo, recicla estas instantáneas en una instantánea diaria y después de 7 días de forma semanal, etc. ¡Esto me permite retroceder en el tiempo durante aproximadamente un mes por cada hora! Es bastante bueno con espacio en disco ya que crea enlaces simbólicos a archivos que nunca cambiaron ...
Recuperar usando grep on /dev/partition
( Linux o Unix Recuperar archivos borrados - recuperar archivos ),
grep -b 'search-text' /dev/partition > file.txt
Solo un intento.
Existen utilidades de recuperación para ext2, pero la mayoría de los otros sistemas de archivos de Linux están atrapados en la Edad de Piedra y no tienen características de usabilidad avanzadas. El triste estado de las cosas considerando unidades gigantescas con suficiente espacio para nunca volver a eliminar un archivo son comunes.
Entonces estás atrapado con tres opciones:
Realice copias de seguridad regularmente, por ejemplo con un comando como:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
Use una herramienta de control de versiones como git
para todo su trabajo. Si bien esto no protegerá contra un loco rm -r
que mata el repositorio, protegerá contra problemas regulares, ya que usará git rm
no en bruto rm
.
Tenga mucho cuidado y no confíe demasiado rm -i
, trash-cli
y amigos, ya que la mayoría de los datos que perderá en el shell no los perderá accidentalmente rm
, sino por tuberías mal dirigidas, archivos de salida mal escritos, mal dirigidos mv
y otras cosas, es decir, cosas que sobrescribirán sus datos, no solo eliminarlos.
Haga los tres para obtener la máxima seguridad.
mira esto ... podría ser útil http://artmees.github.io/rm/
supongamos que lo hiciste
rm very_important_file
desde la terminal recuperar este archivo es un proceso tedioso y no siempre exitoso
en cambio, si usaste el script mencionado anteriormente. no tienes que preocuparte por esto porque
rm very_important_file
mv very_important_file ~/.Trash/
son equivalentes el script maneja más casos y no altera su sistema rm
en absoluto, y eso se debe a que se coloca en la carpeta bin del usuario local, por lo que sombrea el rm del sistema y, sin embargo, no lo afecta ni inhabilita su uso
Este es un enfoque de alias refinado pero sin perder ninguna característica
Para mí (opensuse leap 42.2, NTFS pendrive) PhotoRec , también por los testdisk
creadores, funcionó :) Sin embargo, no ha recuperado los nombres de archivo.
PhotoRec es un software de recuperación de datos de archivos diseñado para recuperar archivos perdidos, incluidos videos, documentos y archivos de discos duros, CD-ROM e imágenes perdidas (de ahí el nombre de Photo Recovery) de la memoria de la cámara digital. PhotoRec ignora el sistema de archivos y busca los datos subyacentes, por lo que seguirá funcionando incluso si el sistema de archivos de sus medios ha sido gravemente dañado o reformateado.
Lo instalé usando repositorios estándar en openSUSE
rm
: desvincula un archivo de élinode
. La pregunta: "A dónde van los archivos cuandorm
se emite el comando" -> unix.stackexchange.com/questions/10883/… también podría ser una buena lectura para usted.