Réponses:
Il n'y a pas d'annulation générale pour chaque opération dans le terminal. Si vous souhaitez récupérer un fichier après utilisation, rm
vous devrez consulter le logiciel de récupération.
Une option pour vous éviter de futures erreurs est de créer alias
des commandes alternatives pour supprimer les fichiers. Ajoutez-les à votre ~/.bashrc
et prenez l'habitude de les utiliser à la place de rm
.
alias rmi = 'rm -i'
Si vous utilisez rmi
, vous serez invité à confirmer les suppressions futures. Essayez d'éviter de développer l'habitude d'appuyer y
immédiatement après avoir émis une rmi
commande, car cela irait à l'encontre du but.
Vous pouvez également déplacer les fichiers supprimés par la trsh
commande dans le terminal vers votre corbeille (sur KDE et Gnome):
alias trsh='mv --target-directory="$HOME/.Trash"'
Si vous utilisez trsh
, vous aurez une capacité "d'annulation de suppression" limitée. Attention à ça
trsh dir1/file1 dir2/file1
peut toujours entraîner une perte de données irrécupérable.
rm
pour rm -i
que vous vous habituez au filet de sécurité qu'il vous donne. Ensuite, vous passez sur une autre machine, qui n'a pas cet alias ...
rmi
-> rm -i
. C'est vraiment une erreur de simplement entraver un programme existant en le replaçant sur lui.
Il n'y a pas de corbeille pour la ligne de commande.
Vous pouvez essayer certains des divers utilitaires de suppression, mais rien ne garantit qu'ils fonctionneraient.
Vous pouvez utiliser trash-cli si vous utilisez KDE lorsque vous exécutez une interface graphique. Il s'agit d'un utilitaire de ligne de commande pour supprimer / restaurer à l'aide des fonctions de corbeille de KDE.
alias rm=trash
sorte que vos erreurs de ligne de commande typiques soient dotées de boutons d'annulation.
alias rm=trash
c'est potentiellement dangereux, s'il y a une chance que vous utilisiez le système de quelqu'un d'autre un jour et oubliez (ou ssh). Beaucoup plus sûr de simplement s'habituer à écrire trash
au lieu de rm
.
Vous pouvez créer rm
un alias pour la trash
commande (vous devrez d' trash
abord l' installer .) Ajoutez ceci à votre ~/.bashrc
:
alias rm='trash'
C'est préférable alias rm='mv --target-directory=$HOME/.Trash'
car ~ / .Trash n'est PAS le dossier de la corbeille pour gnome. Il est préférable à mon humble avis de trash
savoir où se trouve le dossier de la corbeille.
btw j'aurais posté ceci dans un commentaire mais je n'ai pas assez de représentant.
Deux autres solutions techniques n'ont pas encore été nommées:
Il y a ici une question plus vaste qui mérite d'être abordée. Les commandes shell ne sont pas bavardes (elles ne vérifient pas ce que vous voulez) et elles s'attendent à ce que vous sachiez ce que vous faites. Ceci est fondamental pour la façon dont ils sont conçus . C'est une fonctionnalité, pas un bug.
Certaines personnes se sentent macho lorsqu'elles utilisent de telles commandes, ce qui est assez idiot à mon avis, mais il est important de comprendre les dangers. Vous pouvez faire beaucoup de dégâts dans un terminal, même si vous n'êtes pas root. Je pense que vous vous en souciez probablement rm
, mais comme vous avez dit "Pouvons-nous annuler les opérations effectuées dans le terminal", j'ai pensé que cela valait la peine d'être dit. La réponse générale est non, vous ne pouvez pas.
Option 1: voir Annuler la suppression de fichiers Linux à partir d'un système de fichiers ext2 . Cette page pointe vers un programme, écrit par Sebastian Hetze de la société LunetIX, qui (comme le titre le suggère) rétablit les fichiers récemment supprimés d'un système de fichiers ext2. Exemple d'utilisation:
# undelete -d /dev/hdc3 -a 10
Avertissements:
Option 2: J'ai rsnapshot (rsync) en cours d'exécution sur ma machine qui crée des instantanés toutes les heures de mes dossiers sélectionnés. Il le fait progressivement toutes les heures, toutes les 2 heures ou tout ce que vous demandez à CRON de faire. Après une journée complète, il recycle ces instantanés en un instantané quotidien et après 7 jours dans une semaine, etc. Cela me permet de remonter le temps pendant environ un mois environ pour chaque heure! Il est assez bon avec l'espace disque car il crée des liens symboliques vers des fichiers qui n'ont jamais changé ...
Récupérer en utilisant grep sur /dev/partition
( Linux ou Unix Récupérer des fichiers supprimés - restaurer des fichiers ),
grep -b 'search-text' /dev/partition > file.txt
Juste un essai.
Il existe des utilitaires non supprimés pour ext2, mais la plupart des autres systèmes de fichiers Linux sont bloqués à l'âge de pierre et n'ont pas de fonctionnalités d'utilisation avancées. Triste situation, considérant des disques gigantesques avec suffisamment d'espace pour ne plus jamais supprimer un fichier sont monnaie courante.
Vous êtes donc coincé avec trois options:
Effectuez des sauvegardes régulièrement, par exemple avec une commande comme:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
Utilisez un outil de contrôle de version tel que git
pour tout votre travail. Bien que cela ne protège pas contre un fou rm -r
qui tue le référentiel, il protège contre les problèmes réguliers car vous n'utiliserez git rm
pas brut rm
.
Soyez très prudent et ne font pas confiance trop rm -i
, trash-cli
et les amis, comme la plupart des données vous perdrez du shell que vous ne perdrez pas par hasard rm
, mais par des tuyaux mal acheminés, les fichiers de sortie fautes d' orthographe, mal acheminés mv
et d'autres choses, par exemple, des choses qui écrasera vos données, pas seulement les supprimer.
Faites les trois pour une sécurité maximale.
vérifiez ceci ... pourrait être utile http://artmees.github.io/rm/
supposez que vous l'avez fait
rm very_important_file
du terminal. récupérer ce fichier est un processus fastidieux et pas toujours réussi
à la place, si vous avez utilisé le script mentionné. vous n'avez pas à vous en préoccuper car
rm very_important_file
mv very_important_file ~/.Trash/
sont équivalents. le script gère plus de cas et ne modifie pas du tout votre système rm
et c'est parce qu'il est placé dans le dossier bin local de l'utilisateur afin qu'il masque le rm du système et ne l'affecte pas ou ne le désactive pas
c'est une approche de repliement raffinée mais sans perdre aucune fonctionnalité
Pour moi (opensuse leap 42.2, NTFS pendrive) PhotoRec - également par les testdisk
créateurs - a fonctionné :) Cependant, il n'a pas récupéré les noms de fichiers.
PhotoRec est un logiciel de récupération de données de fichiers conçu pour récupérer des fichiers perdus, y compris des vidéos, des documents et des archives à partir de disques durs, de CD-ROM et d'images perdues (donc le nom de récupération de photos) de la mémoire de l'appareil photo numérique. PhotoRec ignore le système de fichiers et va après les données sous-jacentes, il fonctionnera donc même si le système de fichiers de votre support a été gravement endommagé ou reformaté.
Je l'ai installé à l'aide de référentiels standard dans openSUSE
rm
: Il dissocie un fichier de celui-ciinode
. La question: "Où vont les fichiers lorsque larm
commande est exécutée " -> unix.stackexchange.com/questions/10883/… pourrait également être une bonne lecture pour vous.