Une unicité fonctionnelle commune des différents environnements de système d'exploitation réside dans la manière dont ils gèrent et traitent les données. Cette fonctionnalité concerne la manière dont les données textuelles d'un fichier sont perçues et traitées.
Par exemple, vous pouvez créer et remplir un fichier texte normal dans un environnement informatique Windows, mais une fois que ce même fichier est transféré sur une plate-forme informatique Linux, il est traité et affiché différemment.
Il existe une explication logique à la mauvaise conduite de ces fichiers texte transférés. Dans un environnement informatique Windows, le système d'exploitation reconnaît la présence d'une nouvelle ligne dans un fichier texte via un retour chariot spécifique.
Alors que la représentation de ce retour chariot (CR ) est caché aux yeux de ces utilisateurs Windows, le transfert de ce fichier vers un environnement informatique Linux l'expose sous la forme ^M
caractères.
Les ^M Caractères Causes et Effets
Vous êtes obligé de rencontrer ces ^M
problèmes de caractères lorsque vous copiez ou téléchargez directement des fichiers d'un environnement de système d'exploitation Windows vers un environnement de système d'exploitation Linux. Parce que repérer ces personnages lancinants n'est pas si facile; en particulier sur les fichiers volumineux, vous pourriez finir par penser que votre fichier texte de configuration téléchargé ou transféré est endommagé ou corrompu.
La suite de ces ^M
L'effet du caractère est des erreurs de syntaxe inexpliquées et des défaillances du service système. Ce guide d'articles vise à atteindre deux objectifs :
- Vous aider à identifier le ^M caractères sur les fichiers ouverts ou téléchargés sur votre environnement de système d'exploitation Linux.
- Vous aider à résoudre le problème ^M problème de caractère en le supprimant de vos fichiers texte.
Identifier les caractères ^M sur les fichiers Linux
Avant d'essayer de traiter le ^M
Symptôme de caractères sur les fichiers Linux, l'identification de ces caractères est une étape de diagnostic importante. Cela vous aidera à déterminer si votre fichier texte est celui qui pose problème (si vous l'utilisez comme fichier de configuration) ou si le problème se situe ailleurs dans votre système Linux.
Considérez l'existence du système d'exploitation Windows suivant créé un fichier (windows-downloaded-file.txt ) qui est maintenant transféré sur mon environnement de système d'exploitation Linux :
$ cat windows-downloaded-file.txt
Le fichier ouvert semble être normal. C'est parce que la commande Linux cat; et une sélection d'autres éditeurs de texte pris en charge par Linux, ignoreront par défaut l'affichage du ^M
caractères sur les fichiers créés à partir des environnements de système d'exploitation Windows.
C'est parce que ^M
est classé comme un caractère non imprimable. Pour révéler l'existence de ces caractères sur un fichier créé par Windows, nous utiliserons la commande Linux cat avec le -v
option.
$ cat -v windows-downloaded-file.txt
Maintenant que nous avons repéré l'existence de ces ^M
lancinants personnages, il est temps de s'en débarrasser.
Suppression des caractères ^M sur les fichiers Linux
Nous allons utiliser le dos2unix utilitaire. Installez-le sur votre distribution Linux préférée à partir de l'une des commandes suivantes :
$ sudo apt-get install dos2unix [On Debian, Ubuntu and Mint] $ sudo yum install dos2unix [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/dos2unix [On Gentoo Linux] $ sudo pacman -S dos2unix [On Arch Linux] $ sudo zypper install dos2unix [On OpenSUSE]
Pour supprimer le ^M
caractères de notre fichier téléchargé sur Windows, nous exécuterons la commande suivante :
$ dos2unix windows-downloaded-file.txt
Vérifier l'existence du ^M
caractères.
$ cat windows-downloaded-file.txt
Vous comprenez maintenant les implications et la résolution du problème du ^M
caractère sur les fichiers transférés à partir d'autres systèmes d'exploitation comme Windows OS. Le dos2unix L'utilitaire convertit sans effort ces fichiers en formats UNIX pris en charge sur tous les environnements de système d'exploitation Linux.