Maison > Tutoriel système > Linux > Dites adieu au souci de supprimer accidentellement des fichiers sous Linux, maman n'a plus à s'inquiéter

Dites adieu au souci de supprimer accidentellement des fichiers sous Linux, maman n'a plus à s'inquiéter

WBOY
Libérer: 2023-12-30 15:55:12
avant
598 Les gens l'ont consulté

Un guide rapide sur l'utilisation de Terminal pour récupérer des fichiers supprimés avec des processus toujours en cours d'exécution sur votre système Linux.

Les fichiers supprimés peuvent être récupérés dans de nombreux cas, par exemple lorsque le fichier est soumis à un processus actif et qu'il est actuellement utilisé par un ou plusieurs utilisateurs. Dans un système Linux, chaque processus en cours d'exécution reçoit un identifiant, appelé identifiant de processus (PID), et stocké dans le répertoire /proc. C'est exactement ce dont nous avons besoin pour récupérer les fichiers supprimés dans un processus toujours en cours (avec PID).

Calculer le hachage MD5 du fichier original

Avant de supprimer, nous calculerons le MD5 du fichier. De cette façon, nous pouvons comparer le hachage MD5 d'origine avec le hachage MD5 du fichier récupéré. Ce processus garantira que l'intégrité du fichier compressé que nous récupérons est la même et qu'il n'a pas été corrompu.

md5sum opengapps.zip >> md5-opengapps.txt
Copier après la connexion

Pour afficher le contenu d'un fichier texte.

cat md5-opengapps.txt

86489b68b40d144f0e00a0ea8407f7c0 opengapps.zip
Copier après la connexion

Après avoir vérifié le hachage MD5 du fichier compressé. Nous gardons le fichier compressé ouvert (Annotation LCTT : ici, nous utilisons file-roller, un programme de décompression d'interface graphique pour garder le fichier compressé ouvert, qui est intégré à l'environnement GNOME ; dans l'environnement de bureau, utilisez les outils de bureau pour ouvrir un package compressé. Il peut également jouer le même rôle. De plus, l'exemple de cet article n'est pas très approprié. Si le fichier de configuration ouvert d'un processus de service est supprimé, alors cette récupération est très significative) et supprimez-le. Après cela, nous lancerons le processus de récupération des fichiers avec les étapes suivantes :

rm opengapps.zip
Copier après la connexion
Processus de récupération de fichiers supprimés

Comme nous l'avons mentionné précédemment, le processus en cours se trouve dans le répertoire /proc. Nous pouvons rechercher le processus requis dans ce répertoire en utilisant la commande suivante :

Comme nous savons déjà que les noms de fichiers incluent l'extension .zip, nous pouvons effectuer une recherche en utilisant l'extension .zip. Cela limitera les résultats de sortie et affichera les processus requis.

ps -axu | grep .zip

m 13119 0.8 1.0 121788 30788 ? Sl 06:17 0:00 file-roller

/home/m/Downloads/Compressed/opengapps.zip

m 13164 0.0 0.0 5108 832 pts/20 S+ 06:18 0:00 grep --color=auto .zip
Copier après la connexion

Ensuite, nous irons dans le répertoire contenant le PID 13119 et ouvrirons le sous-répertoire fd.

cd /proc/13119/fd
Copier après la connexion

Le répertoire fd (descripteur de fichier) contient plusieurs fichiers, dont celui que nous devons récupérer. Ce fichier est lié au fichier d'origine sous forme de lien physique.

Tous les fichiers du répertoire fd sont liés numériquement au « nom de fichier ». Par conséquent, pour déterminer lequel de ces fichiers est lié au fichier d'origine, nous listerons le répertoire /fd avec l'option de liste détaillée.

ls -l

total 0

lr-x------ 1 m m 64 Jul 14 06:17 0 -> /dev/null

lrwx------ 1 m m 64 Jul 14 06:17 1 -> socket:[26161]

lrwx------ 1 m m 64 Jul 14 06:17 10 -> anon_inode:[eventfd]

lr-x------ 1 m m 64 Jul 14 06:17 11 -> anon_inode:inotify

lrwx------ 1 m m 64 Jul 14 06:17 12 -> socket:[5752671]

lr-x------ 1 m m 64 Jul 14 06:17 13 -> /home/m/Downloads/Compressed/opengapps.zip (deleted)

lrwx------ 1 m m 64 Jul 14 06:17 2 -> socket:[26161]

lrwx------ 1 m m 64 Jul 14 06:17 3 -> anon_inode:[eventfd]

lrwx------ 1 m m 64 Jul 14 06:17 4 -> anon_inode:[eventfd]

lrwx------ 1 m m 64 Jul 14 06:17 5 -> socket:[5751361]

lrwx------ 1 m m 64 Jul 14 06:17 6 -> anon_inode:[eventfd]

lrwx------ 1 m m 64 Jul 14 06:17 7 -> anon_inode:[eventfd]

lrwx------ 1 m m 64 Jul 14 06:17 8 -> socket:[5751363]

lrwx------ 1 m m 64 Jul 14 06:17 9 -> socket:[5751365]
Copier après la connexion

Comme vous pouvez le voir dans la sortie du terminal, le fichier d'origine "opengapps.zip" a été supprimé, mais il est toujours lié à un nom de fichier 13 avec le processus PID 13119. Cependant, nous pouvons toujours le récupérer en copiant les fichiers liés dans un endroit sûr.

cp 13 /home/m/Downloads/Compressed
Copier après la connexion

Une fois le fichier copié. Nous allons revenir au répertoire contenant les fichiers récupérés et le renommer à l'aide de la commande suivante.

mv 13 opengapps-recovered.zip
Copier après la connexion
Calculer le hachage MD5 des fichiers récupérés

Depuis que nous avons récupéré le fichier. Vérifions l'intégrité du fichier, juste pour nous assurer qu'il n'est pas corrompu et qu'il est identique à l'original. Plus tôt, nous avons enregistré le hachage MD5 du fichier d'origine.

md5sum opengapps-recovered.zip >> md5-opengapps.txt
Copier après la connexion

Cette commande vérifiera le hachage MD5 du fichier et ajoutera le hachage MD5 du fichier nouvellement récupéré dans le fichier pour comparer facilement les deux hachages MD5.

Le contenu d'un fichier texte peut être affiché pour comparer les hachages MD5 des fichiers originaux et récupérés.

cat md5-opengapps.txt

86489b68b40d144f0e00a0ea8407f7c0 opengapps.zip

86489b68b40d144f0e00a0ea8407f7c0 opengapps-recovered.zip
Copier après la connexion

Le hachage MD5 du fichier récupéré est le même. Ainsi, nous avons réussi à récupérer nos fichiers précédemment supprimés avec une intégrité de fichier cohérente et un bon fonctionnement.

妈妈再也不用担心在 Linux 中误删除文件了

Remarque : dans certains cas, certains fichiers ne peuvent pas être vus avec la commande ps -axu. Essayez donc de vérifier le programme en cours d’exécution et d’en récupérer les fichiers.

Supposons que nous ayons une vidéo avec l'extension .avi en cours de lecture à l'aide du lecteur multimédia Totem. Tout ce que vous avez à faire est de vérifier le PID de Totem et de suivre les mêmes instructions mentionnées dans cet exemple.

Pour trouver le PID d'un programme en cours d'exécution, utilisez la commande suivante, suivie du nom du programme.

pidof 程序名
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:linuxprobe.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal