Base de connaissances
Tutoriels par OS, outils open source et ressources pour le numérique responsable.
Commande à connaître - Mac
Guides Pratiques : Commandes et syntaxes pour macOS Terminal SS64
Autre ressource : https://developer.apple.com/library/archive/documentation/OpenSource/Conceptual/ShellScripting/CommandLInePrimer/CommandLine.html
Mise à jour par le terminal :
https://osxdaily.com/2011/01/13/install-mac-os-x-software-updates-terminal/
Quelles sont les fonctions réalisables uniquement avec le Terminal ?
Terminal ne se limite évidemment pas à des fonctions facilement réalisables dans le Finder. Cet environnement particulier prend tout son sens avec des commandes sans équivalent permettant de réaliser des opérations spéciales. En voici quelques exemples.
- La commande ls -a permet d'afficher les fichiers et les dossiers cachés du système. Le résultat est surprenant. Et il vaut mieux ne pas toucher aux éléments invisibles de macOS, très sensibles - il ne sont pas cachés par hasard !
- Pour masquer un fichier dans le Finder, il suffit de placer un point devant son nom. Cette opération n'est pas réalisable dans le Finder directement, mais elle est très simple avec Terminal. Tapez par exemple mv test.txt .test.txt. Le fichier test.txt n'apparaîtra plus dans le Finder. Pour l'afficher à nouveau, tapez mv .test.txt test.txt. Le point sera retiré et le fichier redeviendra visible.
- Quand vous supprimez des éléments sur votre Mac, macOS peut laisser des fragments un peu partout dans l'espace libre du disque, jusqu'à ce que cet espace soit à nouveau occupé par de nouveaux fichiers. Pour supprimer tous ces fragments, taper la commande diskutil secureErase freespace 3 /Volumes/nom-du-disque en remplaçant nom-du-disque par le nom de votre disque. Notez que cette commande utilise un algorithme qui passe 35 fois dans l'espace libre, pour effacer toutes les traces.
- Par défaut, toutes captures d'écran que vous réalisez avec macOS sont enregistrées en PNG. Si vous voulez changer de format, utilisez la commande defaults write com.apple.screencapture type extension en remplaçant extension par les trois lettres de l'abréviation du format souhaité (JPG pour Jpeg et PDF pour PDF).
- Avec Terminal, vous pouvez télécharger un fichier sans ouvrir le moindre navigateur. Il suffit juste de connaître son URL (adresse sur Internet qui commence par http ou https). Utilisez les commandes suivantes : cd ~/Downloads/ puis curl -O URL. La première déplace l'emplacement actuel de Terminal dans le dossier Téléchargements, la seconde télécharge le fichier dans ce dossier.
Gérer et optimiser la mémoire sur mac os
sudo purge
ou avec une interface graphique Memory Diag https://apps.apple.com/fr/app/memory-diag/id748212890
Afficher les informations système du Mac
system_profiler SPSoftwareDataType SPHardwareDataType
Afficher tous les périphériques de stockage
diskutil list
Monter un disque
diskutil mount identifiant_stockage
Réparer un périphérique de stockage dans l’utilitaire de disque
diskutil list
diskutil repairDisk identifiant_usb
Support.apple.com/en-my/guide/disk-utility/dskutl1040/mac
Reconstruire l’arborescence HFS (système de fichiers)
sudo fsck_hfs -f /dev/identifiant_stockage
Liste des commandes terminal Mac Os
Plus de commandes https://ss64.com/mac/
| Commande | Description | Exemple | Catégorie |
|---|---|---|---|
| ditto | Copie les fichiers ou dossiers d’un emplacement à un autre. | ditto /chemin/source /chemin/destination | Gestion de fichiers et de dossiers |
| dscl | Manipule les enregistrements de la base de données de services de répertoires. | dscl . -list /Users | Gestion des utilisateurs |
| du | Affiche la taille des fichiers et des répertoires. | du -sh /chemin/dossier | Gestion de fichiers et de dossiers |
| env | Affiche ou définit les variables d’environnement. | env | Variables d’environnement |
| export | Exporte des variables d’environnement vers les processus enfants. | export NOM_VARIABLE=valeur | Variables d’environnement |
| fdisk | Utilitaire de partitionnement de disque dur. | sudo fdisk -l | Gestion des disques |
| fg | Déplace un travail en arrière-plan dans le premier plan. | fg | Gestion des processus |
| fsck | Vérifie et répare les systèmes de fichiers. | sudo fsck /dev/disk0s2 | Gestion des disques |
| fs_usage | Affiche les opérations de système de fichiers en temps réel. | sudo fs_usage | Surveillance du système |
| fuser | Affiche les processus qui utilisent des fichiers ou des sockets. | sudo fuser /var/log/system.log | Gestion des processus |
| getconf | Affiche les variables de configuration système. | getconf ARG_MAX | Configuration du système |
| getopts | Analyse les options de ligne de commande. | while getopts « abc: » OPT; do case $OPT in a) ;; b) ;; c) VAR=$OPTARG ;; esac done | Gestion de commandes |
| git | Système de contrôle de version distribué. | git clone https://github.com/user/repo.git | Gestion de version |
| grep | Recherche les occurrences de chaînes de caractères dans les fichiers. | grep « motif » fichier | Recherche et filtrage |
| gzip | Compresse ou décompresse des fichiers. | gzip fichier | Gestion de fichiers et de dossiers |
| head | Affiche les premières lignes d’un fichier. | head fichier | Manipulation de texte |
| hdiutil | Manipule les images de disque. | hdiutil attach image.dmg | Gestion des disques |
| history | Affiche l’historique des commandes. | history | Gestion de commandes |
| htop | Affiche les processus en cours d’exécution. | htop | Gestion des processus |
| id | Affiche l’ID de l’utilisateur et du groupe courants. | id | Gestion des utilisateurs |
| ifconfig | Configure et affiche les interfaces réseau. | ifconfig | Réseau et connectivité |
| ioreg | Affiche les informations sur le matériel et les pilotes. | ioreg -l | Gestion du matériel |
| caffeinate | Empêche l’ordinateur de dormir, de s’éteindre ou d’entrer en veille | caffeinate -t 3600 | Gestion de l’énergie |
| pmset | Contrôle les paramètres d’énergie du système | pmset -g | Gestion de l’énergie |
| purge | Nettoie la mémoire du système en libérant les pages inactives | purge | Gestion de la mémoire |
| system_profiler | Affiche des informations sur le matériel et les logiciels du système | system_profiler SPHardwareDataType | Informations système |
| top | Affiche les processus actifs en temps réel et leur utilisation des ressources système | top | Moniteur système |
| sudo | Exécute une commande en tant qu’administrateur ou super utilisateur | sudo rm -rf / | Sécurité |
| chflags | Modifie les attributs de fichiers et de dossiers | chflags hidden fichier | Système de fichiers |
| mkfile | Crée un fichier vide de la taille spécifiée | mkfile 1g fichier | Système de fichiers |
| mdfind | Recherche des fichiers en utilisant les métadonnées du système | mdfind « mot clé » | Recherche de fichiers |
| pbcopy | Copie le contenu du presse-papiers dans le terminal | pbcopy < fichier | Presse-papiers |
| pbpaste | Colle le contenu du presse-papiers dans le terminal | pbpaste | Presse-papiers |
| say | Convertit du texte en parole et la restitue via les haut-parleurs | say « Bonjour » | Synthèse vocale |
| mdutil | Gère l’indexation de Spotlight pour les recherches de fichiers | mdutil -i on / | Spotlight |
| networksetup | Configurer les paramètres de réseau | networksetup -setairportpower airport off | Réseau |
| defaults | Modifie les préférences des applications système et des utilisateurs | defaults write com.apple.finder AppleShowAllFiles YES | Préférences système |
| softwareupdate | Met à jour le logiciel système et les applications Apple | softwareupdate -i -a | Mise à jour du système |
| pkgutil | Gérer les paquets d’installation et les informations de réception | pkgutil -packages | Gestion de paquets |
| osascript | Exécute des scripts AppleScript ou JavaScript | osascript -e ‘tell app « Finder » to display dialog « Hello World »‘ | AppleScript |
| launchctl | Gère les services et les démons système | launchctl list | Services système |
| tmutil | Gérer les sauvegardes Time Machine | tmutil startbackup | Time Machine |
| qlmanage | Gérer QuickLook, un aperçu des fichiers en un clic | qlmanage -p fichier | QuickLook |
| scutil | Gérer les paramètres de configuration système | scutil -get HostName | Configuration système |
| xattr | Gère les attributs étendus des fichiers | xattr -l fichier | Gestion des fichiers |
| file | Détermine le type de fichier | file fichier | Gestion de fichiers |
| df | Affiche l’utilisation du disque et de l’espace disponible | df -h | Gestion de disque |
| scp | Copie des fichiers via SSH | scp fichier utilisateur@serveur:/destination | Transfert de fichiers |
| rsync | Synchronise les fichiers et les répertoires entre les ordinateurs | rsync -a ~/Documents utilisateur@serveur:/destination | Transfert de fichiers |
| nc | Établit une connexion réseau à un hôte distant | nc -vz hôte port | Réseau |
| dig | Interroge un serveur de noms DNS pour des informations sur un domaine | dig example.com | Réseau |
| netstat | Affiche les connexions réseau et les statistiques | netstat -a | Réseau |
| host | Résout les noms d’hôtes en adresses IP | host example.com | Réseau |
| traceroute | Affiche le chemin que les paquets réseau prennent vers une destination | traceroute example.com | Réseau |
| curl | Récupère et envoie des données via URL | curl -O http://example.com/fichier | Web |
| wget | Récupère des fichiers depuis le Web | wget http://example.com/fichier | Web |
| ssh | Établit une connexion SSH avec un hôte distant | ssh utilisateur@serveur | SSH |
| screencapture | Capture une image de l’écran | screencapture screenshot.png | Capture d’écran |
| zip | Compresse des fichiers dans un fichier ZIP | zip archive.zip file1 file2 | Compression |
| unzip | Décompresse un fichier ZIP | unzip archive.zip | Compression |
| afplay | Lit un fichier audio | afplay music.mp3 | Audio |
| diskutil | Gère les disques, les volumes et les images disques | diskutil list | Disques |
| sqlite3 | Gère les bases de données SQLite | sqlite3 database.db | Base de données |
| killall | Arrête les processus en cours d’exécution | killall Safari | Processus |
| screen | Créer une session d’écran détachée ou se connecter à une session existante | screen -S session-name | Navigation et recherche |
| open | Ouvrir un fichier ou une application | open /Applications/Safari.app | Gestion des fichiers et des dossiers |
| uuidgen | Générer un identifiant universellement unique (UUID) | uuidgen | Utilitaires système |
| ps | Afficher les processus en cours d’exécution | ps aux | Utilitaires système |
| kill | Envoyer un signal à un processus pour l’arrêter ou le redémarrer | kill -9 PID | Utilitaires système |
| sftp | Transférer des fichiers via SSH | sftp user@remote | Gestion des fichiers et des dossiers |
| tmux | Créer et gérer des sessions de terminal multiples | tmux new-session -s mysession | Navigation et recherche Framework ultime de barre d'état tmux → https://github.com/fabioluciano/tmux-powerkit |
| afconvert | Convertit des fichiers audio | afconvert -f mp3 /path/to/audiofile.wav /path/to/outputfile.mp3 | Audio |
| nvram | Modifie les variables de démarrage du système | nvram boot-args= »-v » | Démarrage |
| resetpassword | Réinitialise le mot de passe d’un utilisateur | resetpassword | Sécurité |
| systemsetup | Configure les paramètres réseau et autres paramètres système | systemsetup -getcomputername | Réseau et système |
| lsof | Liste les fichiers ouverts et les processus qui les utilisent | lsof /path/to/file.txt | Processus |
| pgrep | Recherche les processus en fonction de leur nom ou de leur ID | pgrep -f « Chrome » | Processus |
| man | Affiche le manuel d’utilisation d’une commande spécifique | man ls | Aide |
| apropos | Recherche des commandes en fonction de mots-clés | apropos network | Aide |
| whatis | Affiche une brève description d’une commande spécifique | whatis grep | Aide |
| clear | Efface l’affichage du terminal | clear | Interface utilisateur |
| chmod | Modifie les permissions d’accès d’un fichier ou d’un dossier | chmod 755 script.sh | Sécurité |
| chown | Modifie le propriétaire et le groupe d’un fichier ou d’un dossier | chown user file.txt | Sécurité |
| crontab | Planifie l’exécution de commandes à des moments spécifiques | crontab -e | Planification des tâches |
| cal | Affiche un calendrier mensuel. | cal -y 2023 | Utilitaire |
| cd | Change le répertoire courant. | cd Documents | Navigation |
| chroot | Change la racine de répertoire courant. | sudo chroot /Users/guest /bin/bash | Système |
| cmp | Compare deux fichiers byte à byte. | cmp file1.txt file2.txt | Gestion des fichiers |
| column | Affiche une entrée de fichier sous forme de colonnes. | column -t file.txt | Utilitaire |
| comm | Compare deux fichiers triés ligne par ligne. | comm file1.txt file2.txt | Gestion des fichiers |
| cp | Copie des fichiers et des répertoires. | cp file.txt backup/ | Gestion des fichiers |
| csplit | Divise un fichier en sections en fonction d’un motif. | csplit file.txt /pattern/ | Gestion des fichiers |
| cut | Coupe des sections de chaque ligne de fichier. | cut -d ‘,’ -f 2 file.csv | Utilitaire |
| date | Affiche ou définit la date et l’heure du système. | date « +%Y-%m-%d %H:%M:%S » | Système |
| dd | Copie et convertit des fichiers. | dd if=/dev/zero of=file.bin bs=1M count=10 | Utilitaire |
| diff | Compare deux fichiers ligne par ligne. | diff file1.txt file2.txt | Gestion des fichiers |
| dot_clean | Supprime les fichiers cachés .DS_Store. | dot_clean directory/ | Gestion des fichiers |
| drutil | Utilitaire de disque optique. | drutil eject | Système |
| lsbom | Affiche les fichiers contenus dans un paquet d’installation. | lsbom /var/db/receipts/com.apple.pkg.InstallAssistant.plist | Utilitaire système |
| md5 | Calcule la somme de contrôle MD5 d’un fichier. | md5 fichier.txt | Cryptographie |
| mkdir | Crée un nouveau répertoire. | mkdir dossier | Gestion des fichiers et des dossiers |
| mv | Déplace ou renomme un fichier ou un dossier. | mv fichier.txt ~/Documents | Gestion des fichiers et des dossiers |
| ping | Vérifie la connectivité réseau en envoyant des paquets ICMP à une adresse IP. | ping google.com | Réseau |
| pwd | Affiche le chemin absolu du répertoire actuel. | pwd | Gestion des fichiers et des dossiers |
| python | Lance l’interpréteur Python. | python | Programmation |
| reboot | Redémarre l’ordinateur. | reboot | Utilitaire système |
| rm | Supprime un fichier ou un dossier. | rm fichier.txt | Gestion des fichiers et des dossiers |
| rmdir | Supprime un répertoire vide. | rmdir dossier | Gestion des fichiers et des dossiers |
| sdiff | Compare deux fichiers côte à côte. | sdiff fichier1.txt fichier2.txt | Utilitaire système |
| shasum | Calcule la somme de contrôle SHA d’un fichier. | shasum fichier.txt | Cryptographie |
| uptime | Affiche depuis combien de temps l’ordinateur est allumé et son taux de charge | uptime | Informations système |
| wc | Compte le nombre de lignes, de mots et de caractères dans un fichier | wc fichier.txt | Traitement de texte |
| ls | Liste les fichiers et les dossiers dans le répertoire courant | ls | Navigation |
| touch | Crée un nouveau fichier vide ou met à jour la date de modification d’un fichier existant | touch fichier.txt | Fichiers/Dossiers |
| find | Recherche des fichiers dans une arborescence de répertoires | find / -name fichier.txt | Recherche |
| tar | Comprime ou extrait des fichiers dans une archive tar | tar -czvf archive.tar.gz dossier/ | Compression |
Désactivation de Bonjour
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
Combinaisons de touches de démarrage
Combinaisons de touches utilisables sur un Mac lors du démarrage
https://support.apple.com/fr-fr/102603
Rechercher les mises à jour compatibles
softwareupdate --list-full-installers
Puis installation de la mise à jour :
softwareupdate --fetch-full-installer --full-installer-version numero_version
Le fichier .app se retrouvera dans le dossier des applications