Aller au contenu principal

Base de connaissances

Tutoriels par OS, outils open source et ressources pour le numérique responsable.

📄

Commande à connaître - Mac

Réemploi et réparation🟢 DébutantmacOS

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

  • Commencez par lancer le Terminal
  • Une fois le Terminal ouvert, saisissez la commande suivante, puis validez avec Entrée :
  • 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/

    CommandeDescriptionExempleCatégorie
    dittoCopie les fichiers ou dossiers d’un emplacement à un autre.ditto /chemin/source /chemin/destinationGestion de fichiers et de dossiers
    dsclManipule les enregistrements de la base de données de services de répertoires.dscl . -list /UsersGestion des utilisateurs
    duAffiche la taille des fichiers et des répertoires.du -sh /chemin/dossierGestion de fichiers et de dossiers
    envAffiche ou définit les variables d’environnement.envVariables d’environnement
    exportExporte des variables d’environnement vers les processus enfants.export NOM_VARIABLE=valeurVariables d’environnement
    fdiskUtilitaire de partitionnement de disque dur.sudo fdisk -lGestion des disques
    fgDéplace un travail en arrière-plan dans le premier plan.fgGestion des processus
    fsckVérifie et répare les systèmes de fichiers.sudo fsck /dev/disk0s2Gestion des disques
    fs_usageAffiche les opérations de système de fichiers en temps réel.sudo fs_usageSurveillance du système
    fuserAffiche les processus qui utilisent des fichiers ou des sockets.sudo fuser /var/log/system.logGestion des processus
    getconfAffiche les variables de configuration système.getconf ARG_MAXConfiguration du système
    getoptsAnalyse les options de ligne de commande.while getopts « abc: » OPT; do case $OPT in a) ;; b) ;; c) VAR=$OPTARG ;; esac doneGestion de commandes
    gitSystème de contrôle de version distribué.git clone https://github.com/user/repo.gitGestion de version
    grepRecherche les occurrences de chaînes de caractères dans les fichiers.grep « motif » fichierRecherche et filtrage
    gzipCompresse ou décompresse des fichiers.gzip fichierGestion de fichiers et de dossiers
    headAffiche les premières lignes d’un fichier.head fichierManipulation de texte
    hdiutilManipule les images de disque.hdiutil attach image.dmgGestion des disques
    historyAffiche l’historique des commandes.historyGestion de commandes
    htopAffiche les processus en cours d’exécution.htopGestion des processus
    idAffiche l’ID de l’utilisateur et du groupe courants.idGestion des utilisateurs
    ifconfigConfigure et affiche les interfaces réseau.ifconfigRéseau et connectivité
    ioregAffiche les informations sur le matériel et les pilotes.ioreg -lGestion du matériel
    caffeinateEmpêche l’ordinateur de dormir, de s’éteindre ou d’entrer en veillecaffeinate -t 3600Gestion de l’énergie
    pmsetContrôle les paramètres d’énergie du systèmepmset -gGestion de l’énergie
    purgeNettoie la mémoire du système en libérant les pages inactivespurgeGestion de la mémoire
    system_profilerAffiche des informations sur le matériel et les logiciels du systèmesystem_profiler SPHardwareDataTypeInformations système
    topAffiche les processus actifs en temps réel et leur utilisation des ressources systèmetopMoniteur système
    sudoExécute une commande en tant qu’administrateur ou super utilisateursudo rm -rf /Sécurité
    chflagsModifie les attributs de fichiers et de dossierschflags hidden fichierSystème de fichiers
    mkfileCrée un fichier vide de la taille spécifiéemkfile 1g fichierSystème de fichiers
    mdfindRecherche des fichiers en utilisant les métadonnées du systèmemdfind « mot clé »Recherche de fichiers
    pbcopyCopie le contenu du presse-papiers dans le terminalpbcopy < fichierPresse-papiers
    pbpasteColle le contenu du presse-papiers dans le terminalpbpastePresse-papiers
    sayConvertit du texte en parole et la restitue via les haut-parleurssay « Bonjour »Synthèse vocale
    mdutilGère l’indexation de Spotlight pour les recherches de fichiersmdutil -i on /Spotlight
    networksetupConfigurer les paramètres de réseaunetworksetup -setairportpower airport offRéseau
    defaultsModifie les préférences des applications système et des utilisateursdefaults write com.apple.finder AppleShowAllFiles YESPréférences système
    softwareupdateMet à jour le logiciel système et les applications Applesoftwareupdate -i -aMise à jour du système
    pkgutilGérer les paquets d’installation et les informations de réceptionpkgutil -packagesGestion de paquets
    osascriptExécute des scripts AppleScript ou JavaScriptosascript -e ‘tell app « Finder » to display dialog « Hello World »‘AppleScript
    launchctlGère les services et les démons systèmelaunchctl listServices système
    tmutilGérer les sauvegardes Time Machinetmutil startbackupTime Machine
    qlmanageGérer QuickLook, un aperçu des fichiers en un clicqlmanage -p fichierQuickLook
    scutilGérer les paramètres de configuration systèmescutil -get HostNameConfiguration système
    xattrGère les attributs étendus des fichiersxattr -l fichierGestion des fichiers
    fileDétermine le type de fichierfile fichierGestion de fichiers
    dfAffiche l’utilisation du disque et de l’espace disponibledf -hGestion de disque
    scpCopie des fichiers via SSHscp fichier utilisateur@serveur:/destinationTransfert de fichiers
    rsyncSynchronise les fichiers et les répertoires entre les ordinateursrsync -a ~/Documents utilisateur@serveur:/destinationTransfert de fichiers
    ncÉtablit une connexion réseau à un hôte distantnc -vz hôte portRéseau
    digInterroge un serveur de noms DNS pour des informations sur un domainedig example.comRéseau
    netstatAffiche les connexions réseau et les statistiquesnetstat -aRéseau
    hostRésout les noms d’hôtes en adresses IPhost example.comRéseau
    tracerouteAffiche le chemin que les paquets réseau prennent vers une destinationtraceroute example.comRéseau
    curlRécupère et envoie des données via URLcurl -O http://example.com/fichierWeb
    wgetRécupère des fichiers depuis le Webwget http://example.com/fichierWeb
    sshÉtablit une connexion SSH avec un hôte distantssh utilisateur@serveurSSH
    screencaptureCapture une image de l’écranscreencapture screenshot.pngCapture d’écran
    zipCompresse des fichiers dans un fichier ZIPzip archive.zip file1 file2Compression
    unzipDécompresse un fichier ZIPunzip archive.zipCompression
    afplayLit un fichier audioafplay music.mp3Audio
    diskutilGère les disques, les volumes et les images disquesdiskutil listDisques
    sqlite3Gère les bases de données SQLitesqlite3 database.dbBase de données
    killallArrête les processus en cours d’exécutionkillall SafariProcessus
    screenCréer une session d’écran détachée ou se connecter à une session existantescreen -S session-nameNavigation et recherche
    openOuvrir un fichier ou une applicationopen /Applications/Safari.appGestion des fichiers et des dossiers
    uuidgenGénérer un identifiant universellement unique (UUID)uuidgenUtilitaires système
    psAfficher les processus en cours d’exécutionps auxUtilitaires système
    killEnvoyer un signal à un processus pour l’arrêter ou le redémarrerkill -9 PIDUtilitaires système
    sftpTransférer des fichiers via SSHsftp user@remoteGestion des fichiers et des dossiers
    tmuxCréer et gérer des sessions de terminal multiplestmux new-session -s mysessionNavigation et recherche Framework ultime de barre d'état tmux → https://github.com/fabioluciano/tmux-powerkit
    afconvertConvertit des fichiers audioafconvert -f mp3 /path/to/audiofile.wav /path/to/outputfile.mp3Audio
    nvramModifie les variables de démarrage du systèmenvram boot-args= »-v »Démarrage
    resetpasswordRéinitialise le mot de passe d’un utilisateurresetpasswordSécurité
    systemsetupConfigure les paramètres réseau et autres paramètres systèmesystemsetup -getcomputernameRéseau et système
    lsofListe les fichiers ouverts et les processus qui les utilisentlsof /path/to/file.txtProcessus
    pgrepRecherche les processus en fonction de leur nom ou de leur IDpgrep -f « Chrome »Processus
    manAffiche le manuel d’utilisation d’une commande spécifiqueman lsAide
    aproposRecherche des commandes en fonction de mots-clésapropos networkAide
    whatisAffiche une brève description d’une commande spécifiquewhatis grepAide
    clearEfface l’affichage du terminalclearInterface utilisateur
    chmodModifie les permissions d’accès d’un fichier ou d’un dossierchmod 755 script.shSécurité
    chownModifie le propriétaire et le groupe d’un fichier ou d’un dossierchown user file.txtSécurité
    crontabPlanifie l’exécution de commandes à des moments spécifiquescrontab -ePlanification des tâches
    calAffiche un calendrier mensuel.cal -y 2023Utilitaire
    cdChange le répertoire courant.cd DocumentsNavigation
    chrootChange la racine de répertoire courant.sudo chroot /Users/guest /bin/bashSystème
    cmpCompare deux fichiers byte à byte.cmp file1.txt file2.txtGestion des fichiers
    columnAffiche une entrée de fichier sous forme de colonnes.column -t file.txtUtilitaire
    commCompare deux fichiers triés ligne par ligne.comm file1.txt file2.txtGestion des fichiers
    cpCopie des fichiers et des répertoires.cp file.txt backup/Gestion des fichiers
    csplitDivise un fichier en sections en fonction d’un motif.csplit file.txt /pattern/Gestion des fichiers
    cutCoupe des sections de chaque ligne de fichier.cut -d ‘,’ -f 2 file.csvUtilitaire
    dateAffiche ou définit la date et l’heure du système.date « +%Y-%m-%d %H:%M:%S »Système
    ddCopie et convertit des fichiers.dd if=/dev/zero of=file.bin bs=1M count=10Utilitaire
    diffCompare deux fichiers ligne par ligne.diff file1.txt file2.txtGestion des fichiers
    dot_cleanSupprime les fichiers cachés .DS_Store.dot_clean directory/Gestion des fichiers
    drutilUtilitaire de disque optique.drutil ejectSystème
    lsbomAffiche les fichiers contenus dans un paquet d’installation.lsbom /var/db/receipts/com.apple.pkg.InstallAssistant.plistUtilitaire système
    md5Calcule la somme de contrôle MD5 d’un fichier.md5 fichier.txtCryptographie
    mkdirCrée un nouveau répertoire.mkdir dossierGestion des fichiers et des dossiers
    mvDéplace ou renomme un fichier ou un dossier.mv fichier.txt ~/DocumentsGestion des fichiers et des dossiers
    pingVérifie la connectivité réseau en envoyant des paquets ICMP à une adresse IP.ping google.comRéseau
    pwdAffiche le chemin absolu du répertoire actuel.pwdGestion des fichiers et des dossiers
    pythonLance l’interpréteur Python.pythonProgrammation
    rebootRedémarre l’ordinateur.rebootUtilitaire système
    rmSupprime un fichier ou un dossier.rm fichier.txtGestion des fichiers et des dossiers
    rmdirSupprime un répertoire vide.rmdir dossierGestion des fichiers et des dossiers
    sdiffCompare deux fichiers côte à côte.sdiff fichier1.txt fichier2.txtUtilitaire système
    shasumCalcule la somme de contrôle SHA d’un fichier.shasum fichier.txtCryptographie
    uptimeAffiche depuis combien de temps l’ordinateur est allumé et son taux de chargeuptimeInformations système
    wcCompte le nombre de lignes, de mots et de caractères dans un fichierwc fichier.txtTraitement de texte
    lsListe les fichiers et les dossiers dans le répertoire courantlsNavigation
    touchCrée un nouveau fichier vide ou met à jour la date de modification d’un fichier existanttouch fichier.txtFichiers/Dossiers
    findRecherche des fichiers dans une arborescence de répertoiresfind / -name fichier.txtRecherche
    tarComprime ou extrait des fichiers dans une archive tartar -czvf archive.tar.gz dossier/Compression
    https://github.com/fabioluciano/tmux-powerkit

     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