Premièrement: arrêtez d’utiliser ce lecteur maintenant . Il est correct de le remonter en lecture seule, assurez-vous simplement de ne plus écrire. Oui, vous avez supprimé les images. Ils peuvent être récupérables, mais plus vous continuez à utiliser ce lecteur, moins vous avez de chance de récupérer quoi que ce soit.
Votre commande a exécuté mv pic1.jpg pictures
, mv pic2.jpg pictures
, etc. Chaque invocation de mv
a remplacé le fichier actuellement nommé pictures
par une autre image.
Déplacer un fichier (dans le même système de fichiers) signifie le détacher du répertoire qui le contient et le joindre au répertoire cible sous le nouveau nom. Ainsi, aucune donnée de fichier n'a été modifiée ou supprimée par cette commande, seules les entrées du répertoire correspondant aux images ont disparu.
Vous pouvez exécuter un outil qui parcourt l’espace libre de votre système de fichiers et recherche des éléments qui ressemblent à des fichiers JPEG. Heureusement, chaque fichier JPEG commence par un en-tête reconnaissable. Les outils qui recherchent du contenu supprimé sont appelés outils de sculpture . Il y en a quelques-uns dans Ubuntu, y compris recoverjpeg , , testdisk , ... Si les photos se trouvent sur une partition séparée ou sur un lecteur externe, installez-en une ou plusieurs. de ces paquets et les diriger vers la partition contenant les images supprimées.
Si les photos sont sur votre disque système, vous devez cesser d’utiliser votre système immédiatement. Utilisez un autre ordinateur pour télécharger un CD ou une clé USB et démarrez à partir de celui-ci. N'importe lequel des CD en direct qui incluent testdisk doit correspondre à la facture, mais certains sont plus faciles à utiliser que d'autres. Le CD de secours du système est un bon CD de récupération de système à usage général. Ubuntu Rescue Remix peut être plus familier pour un utilisateur Ubuntu.
Pour référence ultérieure, prenez l'habitude d'utiliser mv -i
sauf si vous visez à écraser les fichiers. Vous avez peut-être déjà un alias pour mv
, mais il ne se déclenche que lorsque vous tapez mv
directement sur la ligne de commande, pas lorsque mv
est appelé par un script ou par la commande find
.
$ : >pictures
$ mv -i foo.jpg pictures
mv: overwrite 'pictures'?
De plus, si vous mettez un /
après un nom supposé être le nom d’un répertoire, vous obtiendrez une erreur si le répertoire n’existe pas ou si un fichier contient ce nom. n'est pas un répertoire.
$ : >pictures
$ mv foo.jpg pictures/
mv: cannot move 'foo.jpg' to 'pictures/': Not a directory
$ rm pictures
$ mv foo.jpg pictures/
mv: cannot move 'foo.jpg' to 'pictures/': Not a directory
Pour éviter les pièges de find
, vous pouvez utiliser à la place l’outil de récursivité des répertoires de bash. Vous devez d'abord l'activer avec la commande shopt -s globstar
(vous pouvez ajouter cette ligne à votre ~/.bashrc
. Ensuite:
mv **/*.jpg pictures/
(Notez que dans bash, **/
traverse également des liens symboliques vers des répertoires, et qu’il n’est pas possible de l’éteindre. Si vous voulez un parcours récursif qui ne regarde pas les liens symboliques vers les répertoires, utilisez zsh ou find. )