Le Terminal macOS

macOS est basé sur Unix — donc la quasi-totalité des commandes Linux fonctionnent directement sur votre Mac. Le terminal par défaut depuis macOS Catalina est Zsh (accessible via Applications > Utilitaires > Terminal ou Cmd + Espace puis "Terminal").

Ce guide couvre les commandes communes avec Linux ET les commandes propres à macOS.


Commandes communes avec Linux

Les commandes suivantes sont identiques sur Linux et macOS :

Commande Description
pwd, ls -la, cd, mkdir, rm, cp, mv Navigation et fichiers
cat, head, tail -f, less, wc Lecture de fichiers
grep, find, which Recherche
chmod, chown, sudo Permissions
ssh, scp, curl, ping Réseau
ps aux, kill, top Processus
tar, zip, unzip, gzip Archives
echo, export, alias, source Variables et shell

Pour les détails sur ces commandes, consultez le guide Les commandes Linux essentielles.


Commandes spécifiques à macOS

Commande Description Exemple
open . Ouvre le dossier courant dans Finder open .
open fichier.pdf Ouvre un fichier avec l'app par défaut open rapport.pdf
open -a Ouvre avec une application précise open -a "Google Chrome" index.html
open https://... Ouvre une URL dans le navigateur par défaut open https://afrodemique.com
pbcopy Copie dans le presse-papier cat fichier.txt \| pbcopy
pbpaste Colle depuis le presse-papier pbpaste > nouveau.txt
say Lit un texte à voix haute say "Bienvenue sur AfroDémique"
sw_vers Affiche la version de macOS sw_vers
system_profiler Infos matérielles détaillées system_profiler SPHardwareDataType
caffeinate Empêche la mise en veille caffeinate -t 3600
caffeinate -i Empêche la veille le temps d'une commande caffeinate -i npm install
screencapture Capture d'écran depuis le terminal screencapture -i capture.png
mdfind Recherche avec Spotlight mdfind "rapport 2024"
mdfind -name Cherche un fichier par nom mdfind -name "notes.txt"
mdls Métadonnées d'un fichier mdls photo.jpg
xcode-select --install Installe les outils de développement (Git, clang…) xcode-select --install
defaults write Modifie les préférences système defaults write com.apple.finder ...
killall Finder Redémarre le Finder killall Finder
killall Dock Redémarre le Dock killall Dock

Homebrew — le gestionnaire de paquets macOS

Homebrew est l'équivalent de apt (Ubuntu) sur Mac. C'est l'outil indispensable pour installer des logiciels depuis le terminal.

Installation de Homebrew :

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Commande Description
brew install git Installe un paquet (ex: git, node, python)
brew uninstall git Désinstalle un paquet
brew update Met à jour Homebrew lui-même
brew upgrade Met à jour tous les paquets installés
brew upgrade git Met à jour un paquet précis
brew list Liste tous les paquets installés
brew search python Cherche un paquet disponible
brew info node Affiche les infos d'un paquet
brew doctor Diagnostique les problèmes d'installation
brew cleanup Supprime les anciennes versions
brew install --cask firefox Installe une application graphique (.app)
brew list --cask Liste les applications cask installées

Paquets recommandés pour les développeurs :

brew install git node python wget htop tree
brew install --cask visual-studio-code docker

Réseau sur macOS

Commande Description Exemple
ping -c 4 google.com Envoie 4 paquets et s'arrête ping -c 4 google.com
curl https://url Requête HTTP curl https://api.example.com
ipconfig getifaddr en0 Adresse IP de l'interface Wi-Fi ipconfig getifaddr en0
ipconfig getifaddr en1 Adresse IP de l'interface Ethernet ipconfig getifaddr en1
networksetup -listallnetworkservices Liste toutes les interfaces réseau networksetup -listallnetworkservices
networksetup -getinfo Wi-Fi Infos de connexion Wi-Fi networksetup -getinfo Wi-Fi
scutil --dns Configuration DNS scutil --dns
scutil --nwi Infos réseau actuelles scutil --nwi
lsof -i :3000 Quel processus utilise le port 3000 lsof -i :3000
lsof -i -n -P Toutes les connexions réseau actives lsof -i -n -P \| grep LISTEN
nettop Moniteur réseau en temps réel nettop
nslookup Résolution DNS nslookup google.com
dig Infos DNS détaillées dig google.com A
traceroute Trace le chemin réseau traceroute google.com

Processus et mémoire

Commande Description Exemple
top Moniteur de ressources top
top -o cpu Triés par CPU top -o cpu
ps aux Tous les processus ps aux
kill -9 PID Arrête un processus kill -9 1234
killall Chrome Arrête toutes les instances de Chrome killall "Google Chrome"
vm_stat Statistiques de mémoire virtuelle vm_stat
sysctl hw.memsize Taille totale de la RAM sysctl hw.memsize
sysctl -n hw.ncpu Nombre de cœurs CPU sysctl -n hw.ncpu
diskutil list Liste tous les disques et partitions diskutil list
diskutil info /dev/disk0 Infos détaillées sur un disque diskutil info /dev/disk0
launchctl list Services macOS actifs launchctl list

Fichiers importants sur macOS

Chemin Description
~/Desktop Bureau
~/Downloads Téléchargements
~/Library Config et données des applications
/Applications Applications installées
/usr/local/bin Binaires installés par Homebrew (Intel)
/opt/homebrew/bin Binaires Homebrew (Apple Silicon M1/M2/M3)
~/.zshrc Configuration du shell Zsh
~/.bash_profile Configuration Bash (si utilisé)
~/.ssh/ Clés SSH
/private/etc/hosts Fichier hosts (équivalent /etc/hosts)

Astuces Terminal macOS

# Afficher les fichiers cachés dans Finder
defaults write com.apple.finder AppleShowAllFiles YES
killall Finder

# Copier le chemin du dossier courant dans le presse-papier
pwd | pbcopy

# Vider la corbeille depuis le terminal
rm -rf ~/.Trash/*

# Empêcher la mise en veille pendant 2 heures
caffeinate -t 7200

# Lire le contenu du presse-papier
pbpaste

# Convertir une image PNG en WebP avec sips (outil Apple intégré)
sips -s format webp image.png --out image.webp

# Voir la taille de tous les dossiers dans le répertoire courant
du -sh */ 2>/dev/null | sort -h

# Trouver les 10 plus gros fichiers dans Downloads
du -sh ~/Downloads/* | sort -rh | head -10

Configuration du shell Zsh (~/.zshrc)

Ajoutez ces lignes dans votre fichier ~/.zshrc pour personnaliser votre terminal :

# Alias pratiques
alias ll='ls -la'
alias gs='git status'
alias gp='git pull'
alias ..='cd ..'
alias ...='cd ../..'

# Afficher la branche Git dans le prompt
autoload -Uz vcs_info
precmd() { vcs_info }
zstyle ':vcs_info:git:*' formats ' (%b)'
setopt PROMPT_SUBST
PROMPT='%n@%m %~ ${vcs_info_msg_0_} $ '

Rechargez avec : source ~/.zshrc


Exemple concret

Une développeuse à Abidjan configure son MacBook pour un nouveau projet :

# Installer les outils de développement Apple
xcode-select --install

# Installer Node.js, Python et Git via Homebrew
brew install node python git

# Vérifier les versions
node --version
python3 --version
git --version

# Créer un projet
mkdir ~/projets/mon-api
cd ~/projets/mon-api

# Ouvrir dans VS Code
open -a "Visual Studio Code" .

# Trouver quel processus utilise le port 8000
lsof -i :8000

# Copier son adresse IP locale
ipconfig getifaddr en0 | pbcopy

À retenir

  • open . — ouvre le Finder dans le dossier courant
  • pbcopy / pbpaste — presse-papier en ligne de commande
  • brew install — installer n'importe quel outil de développement
  • lsof -i :PORT — identifier quel processus utilise un port
  • caffeinate — empêcher la mise en veille lors d'un long traitement
  • Les commandes Linux fonctionnent toutes sur macOS
  • Config du shell : ~/.zshrc

Prochaine étape

Découvrez les commandes Linux en détail pour maîtriser les serveurs — consultez Les commandes Linux essentielles.