Connexion
Connexion

Comment télécharger des fichiers avec cURL

Comment télécharger des fichiers avec cURL
Emmanuel Oyibo
Rédacteur technique
Système Linux
20.10.2025
Reading time: 10 min

Le téléchargement de contenu à partir de serveurs distants est une tâche courante pour les administrateurs et les développeurs. Bien qu’il existe de nombreux outils pour cette tâche, cURL se distingue par sa flexibilité et sa simplicité. Il s’agit d’un utilitaire en ligne de commande qui prend en charge des protocoles tels que HTTP, HTTPS, FTP et SFTP, ce qui le rend essentiel pour l’automatisation, les scripts et les transferts de fichiers efficaces.

Vous pouvez exécuter cURL directement sur votre ordinateur pour récupérer des fichiers. Vous pouvez également l’intégrer dans des scripts afin de simplifier la gestion des données, réduisant ainsi les efforts manuels et les erreurs. Ce guide présente plusieurs méthodes pour télécharger des fichiers avec cURL. En suivant ces exemples, vous apprendrez à gérer les redirections, renommer des fichiers et surveiller la progression des téléchargements. À la fin, vous devriez être en mesure d’utiliser cURL en toute confiance pour des tâches sur des serveurs ou dans des environnements cloud.

Commande de base cURL pour télécharger un fichier

La commande curl fonctionne avec plusieurs protocoles, mais elle est principalement utilisée avec HTTP et HTTPS pour se connecter à des serveurs web. Elle peut également interagir avec des serveurs FTP ou SFTP si nécessaire.

Par défaut, cURL récupère une ressource à partir d’une URL spécifiée et l’affiche dans votre terminal (sortie standard). Cela est souvent utile pour prévisualiser le contenu d’un fichier sans le sauvegarder, en particulier s’il s’agit d’un petit fichier texte.

Exemple : pour afficher le contenu d’un fichier texte hébergé sur https://example.com/file.txt, exécutez :

curl https://example.com/file.txt

Pour les documents texte courts, cette méthode est suffisante. Cependant, les fichiers volumineux ou binaires peuvent saturer l’écran de données illisibles, vous préférerez donc généralement les enregistrer.

Enregistrer des fichiers distants

Souvent, l’objectif principal est d’enregistrer le fichier téléchargé sur votre machine locale plutôt que de l’afficher dans le terminal. cURL simplifie cela avec l’option -O (O majuscule), qui conserve le nom d’origine du fichier distant.

curl -O https://example.com/file.txt

Cela récupère file.txt et le sauvegarde dans le répertoire actuel sous le même nom. Cette méthode est rapide et conserve le nom de fichier existant, ce qui peut être utile si le nom a une signification particulière.

Choisir un autre nom de fichier

Parfois, il est important de renommer le fichier téléchargé pour éviter les conflits ou créer une convention de nommage claire. Dans ce cas, utilisez l’option -o (o minuscule) :

curl -o myfile.txt https://example.com/file.txt

Ici, cURL télécharge le fichier distant file.txt mais le sauvegarde localement sous monfichier.txt. Cela aide à garder les fichiers organisés ou à éviter les écrasements accidentels. C’est particulièrement utile dans les scripts nécessitant des noms de fichiers descriptifs.

Suivre les redirections

Lorsqu’un fichier est demandé, les serveurs peuvent indiquer à votre client d’aller à une autre URL. Comprendre et gérer les redirections est essentiel pour réussir un téléchargement.

Pourquoi les redirections sont importantes

Les redirections sont souvent utilisées sur les sites web réorganisés, les fichiers déplacés ou les liens miroir. Sans gestion des redirections, cURL s’arrête après avoir reçu une réponse « déplacé », et vous n’obtiendrez pas le fichier.

Utiliser -L ou --location

Pour demander à cURL de suivre une chaîne de redirections jusqu’à la destination finale, utilisez -L (ou --location) :

curl -L -O https://example.com/redirected-file.jpg

Cela permet à cURL de récupérer le bon fichier même si l’URL initiale pointe ailleurs. Si vous omettez -L, cURL affichera simplement le message de redirection et s’arrêtera, ce qui peut poser problème sur les sites comportant plusieurs redirections.

Télécharger plusieurs fichiers

cURL peut également gérer plusieurs téléchargements simultanément, vous évitant ainsi d’exécuter la commande plusieurs fois.

Utiliser des accolades et des modèles

Si les noms de fichiers partagent un schéma commun, les accolades {} vous permettent de spécifier chaque nom de manière concise :

curl -O https://example.com/files/{file1.jpg,file2.jpg,file3.jpg}

cURL télécharge chaque fichier à la suite, ce qui est pratique pour les processus automatisés.

Utiliser des plages

Pour une série de fichiers numérotés ou étiquetés alphabétiquement, spécifiez une plage entre crochets :

curl -O https://example.com/files/file[1-5].jpg

cURL parcourt automatiquement les fichiers file1.jpg à file5.jpg. C’est idéal pour les séquences de fichiers nommés de manière cohérente.

Enchaîner plusieurs téléchargements

Si vous avez différentes URLs pour chaque fichier, vous pouvez les enchaîner :

curl -O https://example1.com/file1.jpg -O https://example2.com/file2.jpg

Cette méthode télécharge file1.jpg du premier site et file2.jpg du second, sans avoir à exécuter plusieurs commandes.

Limitation de vitesse et délais d’attente

Dans certaines situations, vous pouvez vouloir contrôler la vitesse de téléchargement ou empêcher cURL d’attendre trop longtemps une réponse d’un serveur inactif.

Contrôle de la bande passante

Pour éviter de surcharger votre réseau ou simuler des conditions lentes, limitez la vitesse de téléchargement avec --limit-rate :

curl --limit-rate 2M -O https://example.com/bigfile.zip

2M signifie 2 mégaoctets par seconde. Vous pouvez également utiliser K pour kilooctets ou G pour gigaoctets.

Délais d’attente

Si un serveur est trop lent, vous pouvez demander à cURL d’arrêter après un certain temps. L’option --max-time fait exactement cela :

curl --max-time 60 -O https://example.com/file.iso

Ici, cURL s’arrête après 60 secondes, ce qui est utile pour les scripts nécessitant une gestion rapide des échecs.

Mode silencieux et mode verbeux

cURL peut ajuster sa sortie pour afficher un minimum d’informations ou des détails complets.

Téléchargements silencieux

Pour les tâches automatiques ou les cron jobs où vous n’avez pas besoin de barres de progression, utilisez -s (ou --silent) :

curl -s -O https://example.com/file.jpg

Cela masque la progression et les erreurs, ce qui rend les journaux plus propres. Cependant, le débogage devient plus difficile en cas d’échec silencieux.

Mode verbeux

À l’inverse, -v (ou --verbose) affiche des informations détaillées sur les requêtes et réponses :

curl -v https://example.com

La sortie verbeuse est précieuse pour diagnostiquer des problèmes tels que des certificats SSL invalides ou des redirections incorrectes.

Authentification et sécurité

Certains téléchargements nécessitent des identifiants ou une connexion sécurisée.

Authentification HTTP/FTP

Lorsqu’un serveur exige un nom d’utilisateur et un mot de passe, utilisez -u :

curl -u username:password -O https://example.com/protected/file.jpg

L’insertion directe des identifiants peut être risquée, car ils peuvent apparaître dans les journaux ou les listes de processus. Envisagez d’utiliser des variables d’environnement ou des fichiers .netrc pour un traitement plus sûr.

HTTPS et certificats

Par défaut, cURL vérifie les certificats SSL. Si le certificat est invalide, cURL bloque le transfert. Vous pouvez contourner cette vérification avec -k ou --insecure, bien que cela comporte des risques de sécurité. Dans la mesure du possible, utilisez une autorité de certification de confiance pour garantir des connexions authentifiées.

Utiliser un proxy

Dans certains environnements, le trafic doit passer par un serveur proxy avant d’atteindre la destination.

Télécharger via un proxy

Utilisez l’option -x ou --proxy pour spécifier le proxy :

curl -x http://proxy_host:proxy_port -O https://example.com/file.jpg

Remplacez proxy_host et proxy_port par les informations appropriées. cURL envoie la requête au proxy, qui télécharge ensuite le fichier pour vous.

Authentification du proxy

Si votre proxy requiert des identifiants, intégrez-les dans l’URL :

curl -x https://proxy.example.com:8080 -U myuser:mypassword -O https://example.com/file.jpg

Encore une fois, stocker des données sensibles en texte clair est dangereux. Les variables d’environnement ou les fichiers de configuration sont des solutions plus sûres.

Surveiller la progression du téléchargement

Le suivi de la progression est essentiel pour les fichiers volumineux ou les connexions lentes.

Indicateur de progression par défaut

Par défaut, cURL affiche un indicateur de progression comprenant la taille totale, la vitesse de transfert et le temps estimé restant. Par exemple :

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left  Speed
100  1256  100  1256    0     0   2243      0 --:--:-- --:--:-- --:--:--  2246

Cet affichage vous aide à évaluer la quantité restante et à vérifier si la vitesse de transfert est satisfaisante.

Barre de progression compacte

Si vous souhaitez moins de détails, ajoutez -# :

curl -# -O https://example.com/largefile.iso

Une barre plus simple affiche la progression totale en pourcentage. Elle est plus lisible, mais ne montre pas les statistiques détaillées comme la vitesse actuelle.

Capturer la progression dans les scripts

Lorsque vous utilisez cURL dans des scripts, vous pouvez vouloir enregistrer les données de progression. cURL envoie généralement ces informations à stderr, vous pouvez donc les rediriger :

curl -# -O https://example.com/largefile.iso 2>progress.log

Ici, progress.log contient les mises à jour d’état que vous pouvez analyser ou conserver pour une révision ultérieure.

Conclusion

cURL s’impose comme un outil en ligne de commande flexible pour télécharger des fichiers via plusieurs protocoles et environnements. Que vous deviez gérer des redirections complexes, renommer des fichiers à la volée ou limiter la bande passante, cURL a tout ce qu’il faut. En maîtrisant ses principales options et modes, vous pourrez intégrer cURL sans effort dans votre flux de travail quotidien pour le scripting, l’automatisation et des transferts de fichiers plus efficaces.

Système Linux
20.10.2025
Reading time: 10 min

Similaire

Système Linux

Comment copier des fichiers et des répertoires sous Linux

Lorsque vous commencez à travailler avec Linux, l’une des tâches essentielles auxquelles vous serez confronté est la gestion des fichiers. Que vous organisiez vos documents personnels, migriez des fichiers système ou prépariez des sauvegardes complètes, il est crucial de savoir dupliquer correctement vos fichiers. Au cœur de ce processus se trouve la commande cp — un outil puissant conçu pour répliquer facilement fichiers et répertoires. Ce guide est conçu pour vous aider à maîtriser la commande cp. Nous explorerons tout : de la copie simple de fichiers à la réplication récursive de répertoires, avec des conseils pour préserver les métadonnées et éviter les pertes accidentelles de données. Grâce à des exemples détaillés, des scénarios concrets et des bonnes pratiques, vous serez rapidement en mesure d’utiliser cp comme un professionnel de Linux. Et si vous recherchez une solution fiable, performante et économique pour vos workflows, Hostman vous propose des options d’hébergement VPS Linux, notamment VPS Debian, VPS Ubuntu et VPS CentOS. Explorer la commande cp Sous Linux, la commande cp est votre outil principal pour copier des données. Sa polyvalence vous permet de tout gérer : de la copie d’un seul fichier au miroir de structures de répertoires complexes contenant des sous-dossiers imbriqués. Contrairement aux gestionnaires de fichiers graphiques, cp fonctionne entièrement en ligne de commande, vous offrant un contrôle précis sur chaque aspect du processus de copie. Comment cela fonctionne Dans sa forme la plus simple, cp prend un fichier (ou un répertoire) source et le duplique à un nouvel emplacement. Sa flexibilité réside cependant dans ses options — des indicateurs qui permettent d’adapter son comportement selon vos besoins. Qu’il s’agisse de préserver les permissions, d’éviter les écrasements accidentels ou de copier des arborescences complètes, cp propose une option pour chaque situation. Structure de commande de base La commande cp suit un format simple. Voici la syntaxe canonique : cp [options] source destination cp : la commande pour lancer la copie. [options] : paramètres supplémentaires (indicateurs) contrôlant le comportement du processus de copie. source : le fichier ou répertoire que vous souhaitez dupliquer. destination : l’emplacement ou le nom du fichier de destination. Cette structure claire fait de cp un outil apprécié aussi bien par les administrateurs système que par les utilisateurs occasionnels. Explorer les options essentielles La véritable puissance de cp se révèle à travers ses nombreuses options. Voici quelques-unes des plus utiles : Copie récursive (-r ou -R) : lorsque vous devez copier un répertoire entier — y compris toutes ses sous-répertoires et fichiers — l’option récursive est indispensable. Elle indique à cp de parcourir toute l’arborescence. Mode interactif (-i) : priorité à la sécurité ! Cette option vous demande une confirmation avant de remplacer un fichier existant. Elle est essentielle lorsque vous travaillez avec des données importantes, car elle réduit le risque d’écrasement accidentel. Forcer la copie (-f) : parfois, il est nécessaire d’ignorer les avertissements et de garantir la copie du fichier quoi qu’il arrive. Cette option remplace les fichiers existants sans confirmation. À utiliser avec prudence. Préserver les attributs (-p) : l’intégrité des fichiers est cruciale, surtout pour les permissions, les horodatages et les informations de propriété. Cette option garantit que la copie conserve tous ces attributs. Mode verbeux (-v) : pour voir en détail ce que fait cp pendant le processus, cette option affiche chaque étape dans le terminal. Elle est particulièrement utile lors de copies volumineuses ou pour diagnostiquer des opérations complexes. Exemples pratiques : copier des fichiers Passons maintenant à quelques exemples pratiques pour voir comment utiliser ces options dans des situations courantes. Copier un fichier unique Imaginons que vous ayez un fichier nommé notes.txt et que vous souhaitiez créer une copie de sauvegarde dans le même répertoire. Il vous suffit d’exécuter : cp notes.txt notes_backup.txt Cette commande crée une copie identique nommée notes_backup.txt. Toutefois, si un fichier portant déjà ce nom existe et que vous souhaitez éviter de l’écraser sans confirmation, utilisez : cp -i notes.txt notes_backup.txt L’option -i vous demande de confirmer toute opération d’écrasement. Transférer des fichiers entre répertoires Si vous souhaitez copier un fichier vers un autre emplacement, indiquez le répertoire cible. Par exemple, pour copier report.pdf dans un répertoire nommé archive, utilisez : cp report.pdf /home/username/archive/ Assurez-vous que le répertoire de destination existe déjà ; cp ne le crée pas automatiquement. S’il n’existe pas, vous pouvez le créer avec la commande mkdir. Copier plusieurs fichiers simultanément Vous pouvez avoir besoin de dupliquer plusieurs fichiers en même temps. Pour copier file1.txt, file2.txt et file3.txt dans un répertoire nommé backup, tapez : cp file1.txt file2.txt file3.txt /home/username/backup/ Cette commande gère plusieurs fichiers en une seule opération. Si vous manipulez de nombreux fichiers partageant un motif commun — par exemple tous les fichiers journaux — vous pouvez utiliser un caractère générique : cp *.log /home/username/logs/ Cette commande indique à cp de copier tous les fichiers se terminant par .log dans le répertoire logs. Maîtriser la copie récursive des répertoires Souvent, il ne s’agit pas seulement de copier un seul fichier, mais des répertoires complets. Pour cela, une copie récursive est nécessaire. Dupliquer un répertoire de manière récursive Supposons que vous souhaitiez dupliquer le contenu d’un site web situé dans /var/www/html afin de créer une sauvegarde. La commande serait : cp -r /var/www/html /backup/html_backup Ici, l’option -r indique à cp de copier tous les éléments du répertoire — sous-répertoires, fichiers cachés, etc. Combiner copie récursive et préservation des attributs Lors des sauvegardes de répertoires, il est souvent essentiel de conserver les permissions, horodatages et autres métadonnées. Dans ce cas, combinez l’option récursive avec l’option de préservation : cp -rp /var/www/html /backup/html_backup Cette commande garantit que chaque fichier du répertoire /var/www/html est copié dans /backup/html_backup tout en conservant ses attributs d’origine. C’est une solution idéale pour les données sensibles ou les configurations système. Conseils, astuces et techniques avancées Maintenant que les bases sont acquises, voyons quelques stratégies avancées et bonnes pratiques pour utiliser efficacement la commande cp. Combiner les options pour plus de sécurité Il est courant d’utiliser plusieurs options en même temps afin d’adapter le comportement de cp. Par exemple, pour copier un répertoire en toute sécurité tout en préservant les attributs et en demandant confirmation avant chaque écrasement, vous pouvez utiliser : cp -rpi /data/source_directory /data/destination_directory Cette combinaison puissante assure un processus de copie complet et sécurisé. Gérer les noms de fichiers contenant des caractères spéciaux Les noms de fichiers sous Linux peuvent inclure des espaces ou des caractères spéciaux. Pour garantir qu’ils soient correctement interprétés, placez-les entre guillemets. Par exemple : cp "My Important Document.txt" "My Important Document Copy.txt" Cela empêche l’interpréteur de commandes de considérer les espaces comme des séparateurs entre différents arguments. Éviter les écrasements involontaires Pour des opérations en lot ou des scripts automatisés, vous pouvez souhaiter empêcher l’écrasement de fichiers existants. L’option -n (no-clobber) permet cela : cp -n *.conf /backup/configs/ Cette commande copie les fichiers de configuration uniquement si aucun fichier portant le même nom n’existe déjà dans le répertoire de destination. Utiliser le mode verbeux pour le débogage Lorsque vous travaillez avec un grand nombre de fichiers ou que vous devez analyser une opération de copie, l’option verbeuse (-v) peut être extrêmement utile : cp -rv /source/folder /destination/folder Le mode verbeux affiche chaque fichier traité, offrant une vue claire du déroulement de l’opération et facilitant l’identification de problèmes. Applications et scénarios réels La commande cp n’est pas réservée aux usages occasionnels : c’est un outil essentiel dans de nombreux environnements professionnels. Administration système et sauvegardes Les administrateurs système utilisent souvent cp pour créer des sauvegardes avant d’apporter des modifications critiques aux configurations système. Par exemple : cp -rp /etc /backup/etc_backup Cette commande crée une sauvegarde complète du répertoire /etc, préservant tous ses paramètres et permissions. En cas d’erreur ou de panne système, ces sauvegardes sont indispensables. Migration de données et transferts entre serveurs Lors du transfert de données entre serveurs ou différentes parties d’un réseau, cp garantit que tous les fichiers sont copiés correctement. Associé à des outils comme rsync, il peut constituer une solution robuste pour la migration de données. Développement et tests Les développeurs dupliquent fréquemment des répertoires afin de créer des environnements de test ou des copies isolées de leurs projets. Que vous testiez une nouvelle fonctionnalité ou déboguiez un problème, copier l’intégralité du répertoire de projet tout en préservant ses attributs peut vous faire gagner du temps et éviter des erreurs potentielles. Bonnes pratiques pour utiliser efficacement cp Vérifier les chemins de destination : assurez-vous toujours que le répertoire cible existe afin d’éviter les erreurs lors de la copie. Utiliser le mode interactif pour les fichiers critiques : lorsque vous travaillez avec des données importantes, l’option -i peut empêcher les écrasements accidentels en demandant une confirmation. Mettre entre guillemets les noms de fichiers contenant des espaces : assurez-vous que les noms contenant des espaces ou des caractères spéciaux soient correctement cités. Planifier une stratégie de sauvegarde : sauvegardez régulièrement les répertoires essentiels à l’aide des options récursives et de préservation des attributs. Combiner les options de manière réfléchie : utilisez des combinaisons d’options telles que -r, -p et -v pour adapter cp à vos besoins, garantissant sécurité et clarté dans vos opérations. Conclusion La commande cp est un élément fondamental de la gestion de fichiers sous Linux. Sa simplicité cache une puissance considérable grâce à ses nombreuses options. En maîtrisant cp, vous optimisez non seulement votre productivité, mais vous protégez également vos données en manipulant soigneusement les attributs, la copie récursive et l’automatisation. Que vous soyez débutant dans l’univers Linux ou utilisateur expérimenté souhaitant perfectionner vos compétences, les techniques et exemples de ce guide constituent une référence fiable pour toutes vos tâches de duplication de fichiers. N’hésitez pas à consulter la page du manuel (man cp) pour des informations et options avancées. Exploitez la polyvalence de cp et vous verrez rapidement que gérer des fichiers et répertoires sous Linux devient une seconde nature.
28 November 2025 · 11 min to read
Services Webmail

Comment envoyer des e-mails sous Linux via la ligne de commande avec Sendmail et Mailx

Pour les administrateurs système ou ceux qui travaillent sur des tâches d’automatisation, savoir envoyer des e-mails depuis le terminal Linux est essentiel. Cela offre un contrôle total sur les fonctions de messagerie et évite d’avoir recours à des programmes complexes. C’est particulièrement utile lorsque la rapidité et la simplicité sont prioritaires. Des outils courants tels que sendmail et mailx sont fréquemment utilisés pour envoyer des messages, vérifier les paramètres SMTP, automatiser des alertes ou s’intégrer dans des scripts. Ils sont simples mais efficaces — parfaits pour informer une équipe des mises à jour du serveur, automatiser des rapports ou tester des configurations e-mail. Ce guide s’adresse aux utilisateurs souhaitant gérer leurs e-mails directement depuis le terminal. Il couvre l’installation des outils essentiels ainsi que des tâches plus avancées, comme l’envoi de pièces jointes et la configuration des utilitaires de messagerie. Pourquoi choisir des outils de messagerie en ligne de commande ? Les deux outils les plus utilisés — sendmail et mailx — sont des solutions fiables pour l’envoi d’e-mails sous Linux et présentent plusieurs avantages : Efficacité Les logiciels de messagerie traditionnels peuvent être lents et gourmands en ressources. Ces outils permettent un envoi rapide et léger directement depuis la ligne de commande. Automatisation Ils s’intègrent parfaitement avec les scripts shell, les tâches cron et les outils de supervision. Vous pouvez automatiser des notifications ou alertes répétitives. Dépannage des problèmes SMTP Ils simplifient la détection des erreurs et la consultation des journaux de messagerie, ce qui facilite le diagnostic des configurations SMTP. Flexibilité Que ce soit pour envoyer une alerte ou générer un rapport automatique, sendmail et mailx offrent une grande polyvalence. Prérequis Avant d’utiliser ces outils de messagerie Linux, assurez-vous de disposer : D’un accès au terminal : dans certains cas, des droits root sont nécessaires. D’un serveur SMTP : indispensable pour tester l’envoi d'e-mails. Des utilitaires installés : vérifiez que sendmail et mailx sont présents et fonctionnels. Configurer un serveur SMTP Les serveurs SMTP sont indispensables pour envoyer des messages. Ils se répartissent en deux catégories : Serveurs SMTP externes Serveurs SMTP locaux Serveurs SMTP externes Ils sont hébergés par un fournisseur tiers. Leur rôle est d’envoyer des e-mails à des destinataires extérieurs à votre réseau. Ils garantissent : une livraison mondiale, l’authentification, la cryptographie, la prévention du spam. Exemples Gmail Adresse : smtp.gmail.com Port : 587 (TLS) ou 465 (SSL) Outlook Adresse : smtp.office365.com Port : 587 Ils nécessitent une authentification (login, mot de passe ou mots de passe d’application) et une connexion sécurisée (TLS/SSL). Note : Nous avons déjà fourni un guide pour configurer un serveur SMTP externe. La commande d'envoi via Postfix reste identique : il suffit d’adapter les identifiants SMTP et de remplacer l’adresse e-mail par celle du fournisseur choisi. Serveurs SMTP locaux Ils fonctionnent uniquement dans un réseau interne. Idéals pour : envoyer des e-mails entre utilisateurs locaux (tom@office.local → jerry@office.local), les tests et le développement, la communication interne, les environnements sans connexion Internet. Configuration d’un serveur SMTP local 1. Installer Postfix sudo apt install postfix 2. Modifier la configuration sudo nano /etc/postfix/main.cf Paramètres à vérifier : myhostname = mail.office.local mydomain = office.local myorigin = $mydomain inet_interfaces = loopback-only local_recipient_maps = proxy:unix:passwd.byname mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain Redémarrer Postfix : sudo systemctl restart postfix 3. Créer des comptes utilisateurs sudo adduser linux sudo adduser hostman Ce qui génère des adresses comme linux@office.local. Présentation de sendmail sendmail est un agent de transfert de courrier (MTA) très répandu sous Linux. Il fonctionne avec des serveurs SMTP et permet d’envoyer des e-mails depuis des scripts ou des systèmes locaux. Installer sendmail Debian/Ubuntu sudo apt install sendmail CentOS/Red Hat sudo yum install sendmail Démarrer et activer sendmail sudo systemctl start sendmail sudo systemctl enable sendmail Tester sendmail echo "Testing sendmail setup" | sendmail -v your-email@example.com Vérifier les e-mails reçus : mail Installer mailutils si nécessaire : sudo apt install mailutils Ou consulter : cat /var/mail/user Configurer sendmail sudo nano /etc/mail/sendmail.mc Exemple : définir le domaine : define(`confDOMAIN_NAME', `your_domain.com')dnl Regénérer la configuration : sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf Si une erreur de permission survient : sudo sh -c "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf" Redémarrer : sudo systemctl restart sendmail Envoyer un e-mail avec sendmail 1. Créer un fichier nano email.txt Contenu : Subject: Test Email from Hostman This is a test email sent using sendmail on Linux. 2. Envoyer sendmail recipient@example.com < email.txt 3. Vérifier mail Envoyer une pièce jointe avec sendmail sendmail ne gère pas les pièces jointes nativement ; utilisez uuencode : Installer sharutils : sudo apt install sharutils Exemple : ( echo "Subject: Email with attachment"; uuencode file.txt file.txt ) | sendmail recipient@example.com Vérifier : mail Présentation de mailx mailx est un outil simple et efficace pour gérer les e-mails en terminal. Il fait partie du paquet mailutils. Installer mailx Debian/Ubuntu sudo apt install mailutils Red Hat sudo yum install mailx Envoyer un e-mail avec mailx echo "This is the body of the email" | mailx -s "Test Email from Mailx" recipient@example.com Envoyer une pièce jointe avec mailx echo "Please find the attached document" | mailx -s "Email with Attachment" -A email.txt recipient@example.com Conclusion Envoyer des e-mails depuis la ligne de commande sous Linux est une méthode puissante pour automatiser des tâches de communication, diagnostiquer des serveurs ou tester des configurations. Avec sendmail et mailx, vous pouvez gérer aussi bien des messages simples que des envois avancés avec pièces jointes. Ce guide fournit toutes les instructions nécessaires pour commencer efficacement.
26 November 2025 · 6 min to read
Système Linux

Comment ouvrir un port sous Linux

Ouvrir des ports sous Linux est une tâche essentielle qui permet à certains services ou applications d’échanger des données sur le réseau.  Les ports agissent comme des canaux de communication, autorisant l’accès aux services approuvés tout en bloquant les connexions non autorisées. Une bonne gestion des ports est indispensable pour garantir la sécurité, la stabilité et les performances du système. Comprendre les ports et leur rôle Les ports sont des points de terminaison logiques de communication réseau où les appareils peuvent envoyer et recevoir des informations. Exemples courants : HTTP utilise le port 80 HTTPS utilise le port 443 SSH utilise le port 22 Un port ouvert signifie qu’un service écoute les connexions entrantes sur ce port. Un port fermé bloque la communication. Gérer correctement les ports ouverts sous Linux est essentiel pour maintenir la disponibilité et la sécurité du réseau. Vérifier les ports ouverts sous Linux Avant d’ouvrir un port, il est conseillé de vérifier quels ports sont déjà actifs.Plusieurs outils et commandes Linux permettent de le faire. Avec netstat Pour afficher les ports ouverts : netstat -tuln L’option -tuln limite la sortie aux ports TCP et UDP sans résolution des noms d’hôte. netstat offre une vue en temps réel des connexions réseau actives. Remarque : si netstat n’est pas installé : sudo apt install net-tools Avec ss La commande ss est plus moderne et plus rapide que netstat : ss -tuln Elle affiche les ports utilisés et les informations sur les sockets correspondants. Avec nmap Pour une analyse détaillée des ports ouverts : nmap localhost nmap scanne l’hôte spécifié (ici, localhost) afin d’identifier les ports ouverts. C’est un outil pratique pour déterminer quels services sont exposés à la connexion externe. Remarque : installez nmap avec : sudo apt install nmap Ouvrir un port sous Linux Pour autoriser l’accès via un port spécifique, il faut modifier les règles du pare-feu. Linux propose plusieurs outils pour cela : iptables, ufw et firewalld. Voici comment les utiliser. Méthode 1 : avec iptables iptables est un utilitaire puissant et bas-niveau offrant un contrôle précis sur le trafic réseau. Ajouter une règle pour autoriser un port Exemple : ouvrir le port 8080 (HTTP) : sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT Explications : sudo : exécute la commande avec les droits administrateur -A INPUT : ajoute la règle à la chaîne d’entrée (trafic entrant) -p tcp : s’applique au protocole TCP --dport 8080 : définit le port concerné -j ACCEPT : autorise le trafic correspondant à la règle Ces modifications sont temporaires : elles seront perdues après un redémarrage. Rendre la règle permanente. Ces commandes sauvegardent la configuration actuelle pour qu’elle soit appliquée automatiquement au démarrage. sudo apt install iptables iptables-persistent sudo netfilter-persistent save This directive preserves current iptables or nftables rules such that they are preserved during reboots. Recharger les règles sudo netfilter-persistent reload Méthode 2 : avec ufw (Uncomplicated Firewall) ufw est une interface simplifiée d’iptables permettant de gérer facilement les règles du pare-feu. Activer ufw sudo ufw enable Si ufw n’est pas installé : sudo apt install ufw Autoriser le trafic sur un port Exemple : ouvrir le port 22 pour SSH : sudo ufw allow 22/tcp Cela autorise le trafic TCP sur le port 22, utilisé pour les connexions SSH. Vérifier l’état du pare-feu sudo ufw status Affiche toutes les règles actives et les ports ouverts. Méthode 3 : avec firewalld firewalld est un démon de pare-feu dynamique, plus simple à configurer qu’iptables. Ajouter une règle permanente Exemple : autoriser le port 443 (HTTPS) : sudo firewall-cmd --permanent --add-port=443/tcp Installez et activez firewalld : sudo apt install firewalld sudo systemctl enable firewalld sudo systemctl start firewalld Recharger le pare-feu sudo firewall-cmd --reload Vérifier les ports ouverts sudo firewall-cmd --list-all Affiche toutes les zones et les règles actives, y compris les ports ouverts. Tester un port ouvert Après avoir ouvert un port, il est essentiel de vérifier qu’il est bien accessible. Avec telnet telnet localhost port_number Une connexion réussie signifie que le port est ouvert et fonctionne correctement. Avec nmap nmap -p port_number localhost Permet de vérifier si le port spécifié est bien accessible sur la machine locale. Avec curl curl localhost:port_number Une réponse valide confirme que le service fonctionne sur le port ouvert. Résolution des problèmes courants Si l’ouverture d’un port échoue : Vérifiez les règles du pare-feu : iptables -L ufw status Vérifiez l’état du service : systemctl status <nom_du_service> Ouvrir des ports selon le protocole Selon le service, il peut être nécessaire d’utiliser TCP ou UDP. Ouvrir un port TCP Exemple : autoriser le trafic MySQL sur le port 3306 : sudo ufw allow 3306/tcp Ouvrir un port UDP Exemple : autoriser le trafic SNMP sur le port 161 : sudo ufw allow 161/udp Le protocole UDP offre une communication plus rapide et sans connexion, idéale pour les outils de supervision. Gérer l’accès aux ports Restreindre l’accès à une adresse IP spécifique sudo ufw allow from 192.168.1.100 to any port 22 Autorise l’accès SSH au port 22 uniquement depuis l’adresse IP spécifiée, renforçant ainsi la sécurité. Fermer un port sudo ufw deny 80/tcp Bloque le trafic entrant sur le port 80 (HTTP). Choose your server now! Conclusion Vérifier et ouvrir les ports sous Linux est une étape essentielle pour optimiser le fonctionnement réseau et assurer la sécurité des services. Avec des outils comme iptables, ufw et firewalld, il est possible de contrôler le trafic de manière précise et sécurisée. Testez toujours vos configurations avec nmap, curl ou telnet pour confirmer que les ports fonctionnent comme prévu. Une bonne gestion des ports garantit des serveurs stables, des connexions sécurisées et des performances fiables.
29 October 2025 · 6 min to read

Avez-vous des questions,
des commentaires ou
des préoccupations ?

Nos professionnels sont disponibles pour vous aider à tout moment,
que vous ayez besoin d'aide ou que vous ne sachiez pas par où commencer.
Envoyez-nous un e-mail
Hostman's Support