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

Dec 30, 2023 pm 03:55 PM
linux linux教程 红帽 linux系统 linux命令 certification Linux chapeau rouge Linux vidéo Linux

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

À quoi sert Linux? À quoi sert Linux? Apr 12, 2025 am 12:20 AM

Linux convient aux serveurs, aux environnements de développement et aux systèmes intégrés. 1. En tant que système d'exploitation de serveurs, Linux est stable et efficace, et est souvent utilisé pour déployer des applications à haute monnaie. 2. En tant qu'environnement de développement, Linux fournit des outils de ligne de commande efficaces et des systèmes de gestion des packages pour améliorer l'efficacité du développement. 3. Dans les systèmes intégrés, Linux est léger et personnalisable, adapté aux environnements avec des ressources limitées.

Comment afficher le nom d'instance d'Oracle Comment afficher le nom d'instance d'Oracle Apr 11, 2025 pm 08:18 PM

Il existe trois façons d'afficher les noms d'instance dans Oracle: utilisez le "SQLPlus" et "SELECT INSTRESS_NAME FROM V $ INSTERNE;" Commandes sur la ligne de commande. Utilisez "Show instance_name;" Commande dans SQL * Plus. Vérifiez les variables d'environnement (Oracle_sid sur Linux) via le gestionnaire de tâches du système d'exploitation, Oracle Enterprise Manager ou via le système d'exploitation.

Utilisation de Docker avec Linux: un guide complet Utilisation de Docker avec Linux: un guide complet Apr 12, 2025 am 12:07 AM

L'utilisation de Docker sur Linux peut améliorer l'efficacité du développement et du déploiement. 1. Installez Docker: utilisez des scripts pour installer Docker sur Ubuntu. 2. Vérifiez l'installation: exécutez Sudodockerrunhello-world. 3. Utilisation de base: Créez un conteneur Nginx Dockerrunrun-namemy-nginx-p8080: 80-dnginx. 4. Utilisation avancée: créez une image personnalisée, construisez et exécutez à l'aide de dockerfile. 5. Optimisation et meilleures pratiques: suivez les meilleures pratiques pour écrire des dockerfiles à l'aide de builds en plusieurs étapes et de dockercosive.

Comment utiliser Oracle après l'installation Comment utiliser Oracle après l'installation Apr 11, 2025 pm 07:51 PM

Une fois Oracle installé, vous pouvez utiliser les étapes suivantes: créer une instance de base de données. Connectez-vous à la base de données. Créer un utilisateur. Créer une table. Insérer des données. Données de requête. Données d'exportation. Importer des données.

Que faire si le port Apache80 est occupé Que faire si le port Apache80 est occupé Apr 13, 2025 pm 01:24 PM

Lorsque le port Apache 80 est occupé, la solution est la suivante: découvrez le processus qui occupe le port et fermez-le. Vérifiez les paramètres du pare-feu pour vous assurer qu'Apache n'est pas bloqué. Si la méthode ci-dessus ne fonctionne pas, veuillez reconfigurer Apache pour utiliser un port différent. Redémarrez le service Apache.

Comment démarrer Apache Comment démarrer Apache Apr 13, 2025 pm 01:06 PM

Les étapes pour démarrer Apache sont les suivantes: Installez Apache (Commande: Sudo apt-get install Apache2 ou téléchargez-le à partir du site officiel) Start Apache (Linux: Sudo SystemCTL Démarrer Apache2; Windows: Cliquez avec le bouton droit sur le service "APACHE2.4" et SELECT ") Vérifiez si elle a été lancée (Linux: SUDO SYSTEMCTL STATURE APACHE2; (Facultatif, Linux: Sudo SystemCTL

Comment surveiller les performances de Nginx SSL sur Debian Comment surveiller les performances de Nginx SSL sur Debian Apr 12, 2025 pm 10:18 PM

Cet article décrit comment surveiller efficacement les performances SSL des serveurs Nginx sur les systèmes Debian. Nous utiliserons NginxExporter pour exporter des données d'état NGINX à Prometheus, puis l'afficher visuellement via Grafana. Étape 1: Configuration de Nginx Tout d'abord, nous devons activer le module Stub_Status dans le fichier de configuration NGINX pour obtenir les informations d'état de Nginx. Ajoutez l'extrait suivant dans votre fichier de configuration Nginx (généralement situé dans /etc/nginx/nginx.conf ou son fichier incluant): emplacement / nginx_status {Stub_status

Comment exécuter SQL à l'aide de la fenêtre de commande dans Oracle Comment exécuter SQL à l'aide de la fenêtre de commande dans Oracle Apr 11, 2025 pm 06:36 PM

Pour exécuter SQL dans la fenêtre de commande Oracle: ouvrez la fenêtre de commande. Connectez-vous à la base de données: connectez le nom d'utilisateur / le mot de passe. Entrez l'instruction SQL et appuyez sur Entrée pour exécuter. Afficher les résultats. Entrez Exit pour quitter la fenêtre de commande.

See all articles