Maison > Tutoriel système > Linux > le corps du texte

Pack de compétences ! 5 façons d'effacer ou de supprimer le contenu de fichiers volumineux sous Linux

王林
Libérer: 2024-02-11 15:30:34
avant
870 Les gens l'ont consulté

Lors du traitement de fichiers sous le terminal Linux, nous souhaitons parfois effacer directement le contenu des fichiers sans utiliser d'éditeur de ligne de commande Linux pour ouvrir ces fichiers. Alors, comment pouvons-nous atteindre cet objectif ? Dans cet article, nous présenterons plusieurs méthodes pour effacer le contenu des fichiers à l'aide de quelques commandes pratiques.

Remarque : Puisque tout sous Linux est un fichier, vous devez toujours faire attention à vous assurer que les fichiers que vous souhaitez effacer ne sont pas des fichiers utilisateur ou des fichiers système importants. La suppression de fichiers système ou de fichiers de configuration importants peut entraîner de graves pannes d'application ou des erreurs système.

Astuce : Dans l'exemple ci-dessous, nous utiliserons un fichier nommé access.log comme exemple.

1. Effacez le contenu du fichier en redirigeant vers Null

Le moyen le plus simple d'effacer ou de rendre un fichier vide est de rediriger null (quelque chose qui n'existe pas) vers le fichier via le shell comme ceci :

# > access.log
Copier après la connexion
技能包!Linux 下清空或删除大文件内容的 5 种方法

2. Utilisez la redirection de commande « vraie » pour effacer les fichiers

Ci-dessous, nous utiliserons le symbole :, qui est une commande intégrée du shell et équivaut à la vraie commande. Elle peut être utilisée comme une opération no-op (c'est-à-dire n'effectuer aucune opération). Une autre façon d'effacer un fichier consiste à rediriger la sortie de la commande intégrée : ou true vers un fichier, comme suit :

# : > access.log

# true > access.log
Copier après la connexion
技能包!Linux 下清空或删除大文件内容的 5 种方法

3. Utilisez l'utilitaire cat/cp/dd et le périphérique /dev/null pour effacer les fichiers

Sous Linux, les périphériques nuls sont essentiellement utilisés pour supprimer les flux de sortie qui ne sont plus nécessaires à un processus, ou les fichiers vierges qui servent de flux d'entrée. Ceux-ci peuvent généralement être obtenus à l'aide du mécanisme de redirection, de sorte que le fichier de périphérique /dev/null est. un fichier spécial qui effacera toutes les entrées qui lui sont envoyées et sa sortie peut être traitée comme un fichier vide. De plus, vous pouvez effacer le fichier en utilisant la commande cat pour afficher le contenu de /dev/null, puis rediriger la sortie vers un fichier.

# cat /dev/null > access.log
Copier après la connexion
技能包!Linux 下清空或删除大文件内容的 5 种方法

Ensuite, nous utiliserons la commande cp pour copier le contenu de /dev/null dans un fichier afin d'effacer le fichier, comme indiqué ci-dessous :

# cp /dev/null access.log
Copier après la connexion

技能包!Linux 下清空或删除大文件内容的 5 种方法
Dans la commande suivante, if représente le fichier d'entrée et of représente le fichier de sortie.

# dd if=/dev/null of=access.log
Copier après la connexion
技能包!Linux 下清空或删除大文件内容的 5 种方法

4. Utilisez la commande echo pour effacer le fichier

Ici, vous pouvez utiliser la commande echo pour rediriger le contenu de la chaîne vide vers un fichier, comme suit :

# echo "" > access.log
或者
# echo > access.log
Copier après la connexion

技能包!Linux 下清空或删除大文件内容的 5 种方法
Remarque : Vous devez vous rappeler qu'une chaîne vide n'est pas équivalente à null . Une chaîne indique qu'il s'agit d'une chose spécifique, mais son contenu peut être vide, mais null signifie que quelque chose n'existe pas. Pour cette raison, lorsque vous utilisez la commande cat pour afficher le contenu du fichier après avoir redirigé la sortie de la commande echo comme entrée vers un fichier, vous verrez une ligne vide (c'est-à-dire une chaîne vide).
Pour écrire null en sortie dans un fichier, vous devez utiliser l'option -n, qui indique à echo de ne pas afficher la nouvelle ligne de fin comme le fait la commande ci-dessus.

# echo -n "" > access.log
Copier après la connexion
技能包!Linux 下清空或删除大文件内容的 5 种方法

5. Utilisez la commande truncate pour effacer le contenu du fichier

truncate peut être utilisé pour réduire ou agrandir un fichier à une taille donnée.
Vous pouvez l'utiliser avec le paramètre -s pour spécifier la taille du fichier. Pour effacer le contenu du fichier, définissez la taille du fichier sur 0 dans la commande suivante :

# truncate -s 0 access.log
Copier après la connexion
技能包!Linux 下清空或删除大文件内容的 5 种方法

C’est tout ce que je veux vous présenter. Dans cet article, nous avons abordé plusieurs façons d'effacer ou de vider le contenu d'un fichier en utilisant des outils de ligne de commande simples et des mécanismes de redirection shell.

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:lxlinux.net
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