Un petit guide pour découvrir les commandes de MacOs : quelles sont les plus utiles à utiliser depuis la fenêtre du terminal pour la gestion du système, la gestion des images et des documents, l’économie d’énergie, la synthèse vocale et bien d’autres choses encore.
La fenêtre de terminal de MacOs est un outil qui, lorsqu’il est utilisé correctement, peut contribuer à améliorer l’efficacité et la productivité. En plus de fournir une interface de ligne de commande pour interagir avec le système d’exploitation MacOs, il permet un large éventail de commandes qui simplifient les tâches quotidiennes, l’administration du système et le développement de logiciels. Cet article se veut un guide pour découvrir les commandes MacOs les plus utiles. Certaines d’entre elles sont presque inconnues du plus grand nombre et peuvent donner lieu à une découverte très agréable.
Les utilisateurs de MacOs ont la chance d’avoir accès à l’énorme arsenal d’outils disponibles sur les systèmes de type Unix. Dans le « tour d’horizon » suivant, cependant, vous trouverez également un bon nombre d’utilitaires en ligne de commande spécifiques à MacOs qui offrent des fonctionnalités uniques.
Commandes MacOs : une liste de celles qui peuvent être utilisées via la fenêtre du terminal
Gestion des mises à jour de MacOs
Les mises à jour éventuellement disponibles pour le système MacOs peuvent également être gérées via la ligne de commande, et pas seulement à l’aide de l’interface graphique du système d’exploitation :
- softwareupdate –list affiche la liste des mises à jour logicielles pouvant être installées.
- sudo softwareupdate -ia installe toutes les mises à jour disponibles pour le système MacOs.
- softwareupdate –fetch-full-installer –full-installer-version <version> demande le téléchargement de la version complète de la routine d’installation pour la version MacOs spécifique. Les données sont téléchargées dans le répertoire /Applications.
Gestion du presse-papiers à partir de la ligne de commande
En ajoutant des copies pbcopy à une commande donnée dans la fenêtre de terminal de MacOs, la sortie est automatiquement copiée dans le presse-papiers.
En utilisant pbpaste, il est possible de diriger le contenu du presse-papiers vers stdout. Dans MacOs, stdout (abréviation de « standard output ») est un terme qui fait référence au flux de données de sortie standard généré par un processus ou un programme s’exécutant dans la fenêtre du terminal.
Capture d’écran
La commande screencapture permet de réaliser des captures d’écran. En ajoutant l’option -c, il est demandé que l’image capturée soit sauvegardée automatiquement dans le presse-papiers de MacOs.
En écrivant screencapture <file> à la place, il est possible de capturer une capture d’écran et de l’enregistrer dans un fichier.
Le commutateur switch -T est particulièrement utile. En le combinant avec les commandes précédentes et en spécifiant le nombre de secondes (par exemple screencapture -c -T 5), vous pouvez demander à MacOs de réaliser une capture d’écran (et dans ce cas de l’enregistrer dans le presse-papiers) dès que le temps spécifié s’est écoulé.
Redimensionnement automatique des images
MacOs intègre un outil appelé sips qui permet de redimensionner les photos et les images depuis la fenêtre de terminal du système d’exploitation. Les différentes solutions qui peuvent être utilisées avec la commande sont par exemple les suivantes :
- sips -z <hauteur> <largeur> <image> redimensionne l’image indiquée en ignorant le rapport d’aspect d’origine.
- sips -Z <taille> <image> redimensionne l’image en agissant sur le côté le plus large. Préserve le rapport d’aspect d’origine.
- sips -c <hauteur> <largeur> <image> recadre l’image spécifiée à l’une des dimensions spécifiées. Le centre de l’image est le point de départ.
- sips -r <degrés> <image> fait pivoter l’image selon l’angle spécifié.
Par défaut, la commande sips écrase l’image originale. Il est suggéré de combiner l’option -o pour spécifier l’image à créer. Celle-ci doit avoir la même extension que l’image originale.
Conversion de fichiers
À partir de la ligne de commande, vous pouvez également utiliser l’utilitaire textutil, qui permet de convertir des fichiers dans des formats tels que Microsoft Word, RTF, HTML et du texte brut. La syntaxe à utiliser est la suivante
- textutil -convert html journaldutech.doc convertit journal.doc en journaldutech.html.
L’option -convert peut recevoir des valeurs telles que : txt, html, rtf, rtfd, doc, docx.
Recherche avec Spotlight à partir de la ligne de commande
Pour lancer une recherche Spotlight avec la requête spécifiée, la commande suivante peut être utilisée :
- mdfind <recherche>.
La syntaxe mdfind kMDItemAppStoreHasReceipt=1 permet de rechercher toutes les applications installées sur le Mac App Store d’Apple.
L’option mdfind -name <nom> permet de rechercher tous les fichiers dont le nom correspond à la chaîne spécifiée. L’option supplémentaire -onlyin <dir> réduit la plage de recherche au dossier spécifié.
Enfin, mdls <file-path> renvoie toutes les métadonnées Spotlight associées au fichier spécifié dans la commande.
Utilisation du moteur de synthèse vocale
La commande say permet d’activer le moteur de synthèse vocale de MacOs, c’est-à-dire le système capable de transformer n’importe quel texte en un flux audio simulant la parole.
Pour ce faire, il suffit de taper say <message> en indiquant le texte à lire.
- say -f input.txt -o output.aiff permet, par exemple, de générer un livre audio à partir du texte fourni en entrée.
Test de vitesse et gestion du réseau
Les systèmes MacOs offrent un utilitaire pratique basé sur la ligne de commande qui vous permet d’effectuer un test Internet à partir de la fenêtre du terminal. Il s’appelle networkQuality et vous permet d’effectuer un test de vitesse pour vérifier la vitesse de votre connexion Internet sans utiliser d’outils tiers.
Pour lancer l’outil, il suffit de taper networkQuality ; l’ajout de l’option -v permet d’obtenir des informations plus détaillées. En outre, en ajoutant l’option -i, il est possible de tester la vitesse sur une interface réseau spécifique.
- networksetup -listnetworkserviceorder renvoie une liste de tous les services réseau disponibles.
- networksetup -getinfo <networkservice> affiche des informations sur un service réseau spécifique.
- networksetup -getdnsservers <networkservice> affiche les résolveurs DNS configurés pour le service réseau spécifié dans la commande.
- networksetup -setairportnetwork <device> <network> [password] active la connexion au réseau Wifi spécifié. Dans la plupart des cas, il suffit de spécifier en0 comme nom de l’interface à utiliser.
Collecte et affichage des informations sur le système MacOs
Pour afficher toutes les informations sur le système en cours d’utilisation, il est possible d’utiliser system_profiler. Le résultat obtenu est généralement assez excessif. Par conséquent, la commande MacOs system_profiler <datatype> peut être utilisée pour obtenir uniquement les données d’un sous-système spécifique.
La commande system_profiler -listDataTypes permet d’obtenir la liste de tous les sous-systèmes à partir desquels des informations peuvent être extraites. Voici quelques exemples particulièrement utiles :
- system_profiler SPHardwareDataType imprime un aperçu complet du matériel du système utilisé.
- system_profiler SPSoftwareDataType compile une vue d’ensemble de la configuration logicielle actuelle.
- system_profiler SPPowerDataType imprime des informations sur la configuration de l’économie d’énergie, y compris les données relatives à la batterie, les cycles de charge/décharge, les détails relatifs à l’alimentation des périphériques.
- system_profiler SPDeveloperToolsDataType destiné principalement aux développeurs, indique les versions des outils Xcode et du kit SDK.
Gestion de l’exécution des processus chargés sur le système
Dans MacOs, la commande taskpolicy permet de gérer les processus chargés sur le système.
Les commandes suivantes sont particulièrement utiles :
- taskpolicy -b <commande> lance l’exécution en arrière-plan de la commande spécifiée. Sur les systèmes Apple Silicon (SoC dérivés de l’ARM), le processus est exécuté en utilisant uniquement les cœurs économes en énergie.
- taskpolicy -b -p <pid> déplace l’exécution d’un processus précédemment chargé en arrière-plan.
- taskpolicy -B -p <pid> empêche le processus portant l’ID de processus (PID) spécifié de s’exécuter en arrière-plan. Sur les systèmes Apple Silicon, le processus peut désormais être exécuté via n’importe quel noyau. La modification prend effet si le processus a été déplacé en arrière-plan précédemment.
- taskpolicy -s <commande> démarre la commande et la met temporairement en pause. C’est ce qu’on appelle l’état suspendu : lorsqu’une application est suspendue, elle est arrêtée et ses activités sont stoppées momentanément, mais ses données et son état restent en mémoire. Ce comportement peut être exploité, par exemple, pour connecter un débogueur au démarrage du processus.
Gestion de l’énergie
La commande pmset permet d’accéder à la configuration de l’économie d’énergie. Avec pmset -g, vous obtenez une liste de tous les paramètres disponibles, et avec pmset -g, les paramètres des différents processus. Cette seconde commande peut être utile pour comprendre quels processus empêchent le système MacOs de se mettre en veille.
La commande pmset -g thermlog permet d’obtenir une liste des processus dont les performances ont été automatiquement réduites pour éviter une consommation d’énergie excessive.
Les commandes pmset displaysleepnow et pmset sleepnow permettent respectivement d’éteindre l’écran uniquement et de mettre l’ensemble du système en veille.
La commande MacOs caffeinate, exécutée sans arguments supplémentaires, empêche le système de se mettre en veille. Du moins tant que caffeinate reste en cours d’exécution.
Il est également possible d’utiliser la syntaxe caffeinate -u -t <seconds> pour empêcher la suspension pendant la période de temps spécifiée. L’ajout éventuel de l’option -d empêche l’affichage de la machine de s’éteindre.
L’option -w <pid> fait en sorte que la commande caffeinate s’arrête dès que l’exécution du processus ayant le PID spécifié se termine.
Il est également possible de passer une commande : caffeinate <commande>. Tant que le processus reste en cours d’exécution, le système MacOs ne se met pas en veille.