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
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:
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.
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
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
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
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
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
Voici ce que fait chaque partie de la commande:
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
Appuyez sur le bouton ESC et tapez ce qui suit:
: 1, $ d
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:
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
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!