Maison > Tutoriel système > Linux > Comment vider rapidement les fichiers sans les supprimer dans Linux et Unix

Comment vider rapidement les fichiers sans les supprimer dans Linux et Unix

Joseph Gordon-Levitt
Libérer: 2025-03-19 10:32:09
original
496 Les gens l'ont consulté

Aujourd'hui, nous apprendrons à effacer le contenu d'un fichier de la ligne de commande sans supprimer le fichier lui-même dans les systèmes d'exploitation de type Linux et Unix. La vidange des fichiers dans Linux peut être utile si vous souhaitez préserver les autorisations et la propriété du fichier, mais supprimez tout son contenu.

Table des matières

Raisons d'effacer le contenu de fichier

Avant d'apprendre à vider rapidement un fichier sans le supprimer, comprenons pourquoi et quand cela est utile.

Effacer le contenu d'un fichier sans supprimer le fichier lui-même peut être important pour plusieurs raisons, souvent liées à l'administration du système, à la journalisation et à la gestion des applications:

  1. Préserver les autorisations de fichiers et la propriété : supprimer un fichier et créer un nouveau pourrait modifier ses autorisations et sa propriété, selon les paramètres par défaut de l'utilisateur et les configurations système. En vidant le fichier sans le supprimer, les autorisations et la propriété originales sont conservées, ce qui est important pour les fichiers qui nécessitent des autorisations spécifiques pour des raisons de sécurité ou des fonctionnalités opérationnelles.
  2. Maintenir des liens symboliques : si le fichier est lié à d'autres emplacements du système via des liens symboliques , la suppression et la recréation du fichier briseraient ces liens. La vidange du contenu du fichier maintient l'inode et donc les liens intacts.
  3. Évitez la perturbation des services ou des applications : certaines applications ou services peuvent s'attendre à ce qu'un fichier journal ou un fichier de configuration existe toujours à un emplacement spécifique. La suppression du fichier, même temporairement, pourrait entraîner des erreurs ou des perturbations. Effacer le contenu du fichier permet à l'application de continuer à fonctionner en douceur, peut-être avec un nouveau journal ou une configuration de réinitialisation.
  4. Problèmes de verrouillage des fichiers : Dans certains cas, les fichiers sont verrouillés par des processus, ce qui rend impossible de les supprimer sans arrêter le processus. Si vous devez effacer le contenu du fichier pour un nouveau démarrage (comme la rotation du journal ) mais que vous ne souhaitez pas ou ne pouvez pas arrêter le processus, effacer le contenu est une solution viable.
  5. Efficacité de la gestion des journaux : Pour les fichiers journaux qui deviennent importants au fil du temps, il est courant d'effacer périodiquement leur contenu (rotation des journaux) pour libérer l'espace disque tout en maintenant le système en cours d'exécution sans interruption. Les scripts automatisés peuvent effacer régulièrement les fichiers journaux sans avoir à les recréer, garantissant que la connexion des services à ces fichiers n'échoue pas en raison de fichiers manquants.

Quelle que soit la raison, si vous avez toujours voulu effacer le contenu d'un fichier sans le supprimer dans Linux, voici quelques façons de le faire.

7 façons de vider les fichiers dans Linux à partir de la ligne de commande

Les 7 méthodes suivantes effaceront le contenu de votre fichier sans supprimer le fichier lui-même.

1. Utilisation de> Redirection :

L'opérateur> en Linux et Unix est utilisé pour la redirection. Lorsqu'il est utilisé avec un nom de fichier, il redirige la sortie d'une commande vers le fichier. Si aucune commande n'est donnée, elle redirige efficacement "rien" vers le fichier, effacant ainsi son contenu. Il s'agit d'une méthode simple pour vider le contenu de fichier dans Linux, en gardant le fichier lui-même intact.

 > file.txt
Copier après la connexion

Remplacez File.txt par le vôtre.

2. Utilisation de la commande tronquée :

La commande truncate est spécialement conçue pour modifier la taille d'un fichier.

Pour effacer le contenu d'un fichier avec une commande truncate, exécutez:

 truncate -s 0 file.txt
Copier après la connexion

En définissant la taille sur 0 octets à l'aide de l'option -s 0, vous supprimez efficacement tout le contenu du fichier sans toucher l'existence du fichier ou ses métadonnées, comme les autorisations et la propriété.

3. Utilisation de la commande echo avec redirection :

La commande ECHO est généralement utilisée pour afficher une ligne de texte / chaîne qui est transmise comme argument. Lorsqu'il est combiné avec le drapeau -n (qui empêche l'ajout du caractère Newline) et la redirection (>) vers un fichier, il remplace le contenu du fichier par rien, vidant ainsi le fichier. Cette méthode est aussi simple que d'utiliser une redirection directe mais implique une commande (Echo).

 echo -n> file.txt
Copier après la connexion

4. Utilisation de la commande CP avec / dev / null :

La commande CP est utilisée pour copier des fichiers ou des répertoires. En copiant / dev / null dans un fichier, vous remplacez essentiellement le contenu du fichier par le contenu de / dev / null (qui est toujours vide), effaçant ainsi le fichier.

 cp / dev / null file.txt
Copier après la connexion

Cette méthode est utile pour les scripts et les programmes qui nécessitent que le fichier reste accessible avec les mêmes autorisations et la même propriété.

5. Utilisation de la commande SED :

Pour supprimer toutes les lignes du fichier nommé file.txt à l'aide de la commande sed, exécutez:

 sed -id file.txt
Copier après la connexion

Voici ce que fait chaque partie de la commande:

  • -I: Cette option indique à SED de modifier les fichiers en place. Cela signifie que SED modifiera directement le fichier spécifié au lieu de simplement sortir le texte modifié sur la console.
  • D: Il s'agit d'une commande SED qui signifie «Supprimer». Il est utilisé pour supprimer les lignes de l'entrée.
  • file.txt: c'est le nom du fichier que vous souhaitez modifier.

6. Utilisation de l'éditeur VIM :

Vous pouvez supprimer un contenu de fichier important à l'aide de l'éditeur VIM.

Ouvrez le fichier à l'aide de l'éditeur VIM:

 vim file.txt
Copier après la connexion

Appuyez sur le bouton ESC et tapez ce qui suit:

 : 1, $ d
Copier après la connexion

Typing: 1, $ d dans VIM exécute une commande pour supprimer toutes les lignes de l'ensemble du fichier. Voici une ventilation de ce que fait chaque partie de la commande:

  • :: Cela entre en mode de ligne de commande dans VIM.
  • 1 : Cela spécifie la plage. Dans ce cas, 1 signifie que la commande commencera à partir de la première ligne du fichier.
  • , : Cela sépare la plage. La virgule est utilisée pour indiquer une plage du point de départ au point de fin.
  • $ : Cela désigne la dernière ligne du fichier.
  • D : Ceci est la commande à supprimer.

Ainsi,: 1, $ D dit à VIM de supprimer toutes les lignes de la première ligne à la dernière ligne du fichier. Après avoir exécuté cette commande, le fichier sera vide.

7. Utilisation de la commande DD :

La commande DD est un utilitaire de copie de données de bas niveau qui peut copier et convertir des données entre les fichiers, les appareils ou les partitions.

En copiant les données de / dev / null au fichier (de = file.txt), vous écrivez effectivement zéro octets dans le fichier, en effecçant son contenu. C'est un peu exagéré pour cette tâche mais est utile pour sa polyvalence.

 dd if = / dev / null of = file.txt
Copier après la connexion

Feuille de triche

Comment vider rapidement les fichiers sans les supprimer dans Linux et Unix

Conclusion

Dans ce tutoriel, nous avons discuté de cinq méthodes de ligne de commande différentes pour vider le contenu d'un fichier sans supprimer le fichier lui-même dans Linux. Ces commandes vous permettent de maintenir les autorisations, la propriété et les liens symboliques du fichier tout en réinitialisant son contenu.

Que vous gérez des fichiers journaux, réinitialisez les fichiers de configuration ou que vous deviez simplement effacer un fichier pour une autre utilisation, ces outils fournissent un moyen facile et rapide de le faire.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal