42 points par GN⁺ 2024-11-07 | 14 commentaires | Partager sur WhatsApp

Accéder au Keychain par programmation

  • Il est possible d’accéder par programmation aux mots de passe stockés dans le Keychain avec la commande security
    security find-internet-password -s "https://example.com";
  • Très utile pour écrire des scripts d’automatisation
  • Bonus : 1Password CLI permet aussi d’accéder aux éléments 1Password

Ouvrir depuis le terminal

  • La commande open permet d’ouvrir des fichiers depuis le terminal
  • En exécutant open file.txt, le fichier s’ouvre dans l’application par défaut pour ce type de fichier, comme si vous l’aviez double-cliqué dans le Finder

Copier/coller

  • pbcopy et pbpaste sont des utilitaires en ligne de commande qui permettent de copier et coller du texte vers et depuis le presse-papiers (appelé pasteboard dans macOS)
  • pbcopy place dans le presse-papiers ce qui lui est fourni en entrée standard
    • echo "Hello, world!" | pbcopy;
  • pbpaste récupère le contenu du presse-papiers et l’affiche sur la sortie standard
    pbpaste   
    >> Hello, world!  
    
  • Très pratique pour récupérer des données depuis un fichier et les coller dans un navigateur ou une autre application GUI

Date UTC

  • Quand on travaille beaucoup avec des serveurs, il peut être utile de connaître l’heure actuelle en UTC (par exemple pour consulter des logs serveur)
  • C’est faisable en une seule ligne dans le terminal
    • date -u
  • Ou avec TZ=UTC date

Empêcher le Mac de se mettre en veille

  • Pour empêcher le Mac de s’endormir, il suffit d’exécuter caffeinate dans le terminal
    • caffeinate
  • caffeinate garde le Mac éveillé jusqu’à ce que l’utilisateur l’arrête (par exemple avec Ctrl+C)
  • caffeinate était autrefois un outil tiers, mais il est désormais intégré à macOS
  • Sert surtout à éviter que le Mac se mette en veille lorsqu’un serveur tourne

Générer un UUID

  • Si vous avez besoin d’un UUID, vous pouvez utiliser la commande uuidgen
    • uuidgen
  • Par défaut, uuidgen affiche les UUID en majuscules
  • En combinant tr et pbcopy, on peut copier un UUID en minuscules dans le presse-papiers
    • uuidgen | tr '[:upper:]' '[:lower:]' | pbcopy
  • Très utile quand on écrit des tests unitaires nécessitant des identifiants

À noter aussi

  • mdfind : recherche Spotlight dans le terminal. En général, on utilise plutôt Spotlight lui-même (ou l’excellent Raycast)
  • say : cette commande fait prononcer au Mac le texte fourni
  • screencapture : cette commande permet de faire une capture d’écran et de l’enregistrer dans un fichier. Je préfère utiliser cmd-shift-5
  • networksetup : cette commande permet de configurer les réglages réseau par programmation. Son API est assez intimidante, donc je l’utilise rarement

14 commentaires

 
progdesigner 2024-11-13

Pour ouvrir un dossier précis dans le Finder depuis le Terminal

open -a "Finder" [chemin]

ça permet de l’ouvrir.

 
bobross0 2024-11-11

J’utilise souvent la commande caffeinate aussi, haha.

 
zzandore 2024-11-11

J’utilisais une appli externe pour éviter que mon vieux MacBook à la maison, que j’utilise comme serveur, ne s’éteigne, mais il suffit d’utiliser caffeinate, visiblement haha

 
abcde987 2024-11-08

Certaines me sont nouvelles, mais elles ont l'air utiles.

 
unreal 2024-11-07

Ce n’est pas une commande, mais je l’utilise en l’ayant carrément ajoutée à la barre de menu pour vérifier l’UTC.
https://sindresorhus.com/utc-time

 
laeyoung 2024-11-07

Je trouve aussi que open est plus pratique si on l’utilise avec l’option -a pour préciser un programme en particulier.

Par exemple, open . -a Visual\ Studio\ Code

 
lazydonkey456 2024-11-07

Avec vsc, on peut aussi faire code ., non ?!?

 
whizkyu 2024-11-07

Dans le cas d’une installation via un dmg, la commande code n’existe pas, non ?
Et c’est aussi pratique quand on veut ouvrir avec IntelliJ, etc. :)

 
sjssjs1344 2024-11-09

Vous pouvez le configurer dans VS Code.
Appuyez sur command+shift+p, puis tapez shell command.

 
nicewook 2024-11-07

J’ai défini des alias comme i pour IntelliJ, donc si je fais i . ou i file.txt, cela s’ouvre directement dans IntelliJ. :-)

 
lazydonkey456 2024-11-07

Il y a vraiment beaucoup d’utilitaires en ligne de commande utiles sur Mac. Moi aussi, j’utilise souvent pbcopy et pbpaste.

 
ilikeall 2024-11-07

J’utilise pbcopy très utilement.

 
zihado 2024-11-07

Il y a aussi networkQuality.

 
GN⁺ 2024-11-07
Commentaire Hacker News
  • afconvert est un convertisseur de formats de fichiers audio qui inclut le codec AAC du framework Core Audio

    • Exemple : afconvert in.wav -o out.m4a -q 127 -s 2 -b 160000 -f m4af -d 'aac '
  • diskutil fournit divers outils pour les supports de stockage fixes et amovibles

    • Exemple : mb=300; diskutil eraseVolume APFS myramdisk \hdiutil attach -nomount ram://$((mb*2048))``
  • L’application hear permet d’utiliser la reconnaissance vocale et la dictée de macOS depuis la ligne de commande

  • open -n file.pdf ouvre une nouvelle instance de l’application Preview, ce qui permet d’ouvrir deux fois le même fichier

  • caffeinate -d empêche l’écran de s’éteindre, ce qui permet de le consulter sans bouger la souris

  • La version terminal de Disk Utility offre de meilleures performances que l’interface graphique (l’application ne se fige pas et ne renvoie pas d’erreurs)

  • Il existe une liste d’utilitaires en ligne de commande faciles à installer pour macOS

  • https://ss64.com/ est une ressource utile que j’aurais aimé connaître plus tôt

  • nc est un outil pour établir des connexions TCP et UDP arbitraires et écouter sur ces connexions

  • networkQuality est un outil de test de débit et de stress réseau

  • system_profiler est un moyen pratique de récupérer de nombreuses informations système dans des scripts shell

  • wdutil fournit en ligne de commande les fonctionnalités de l’application Wireless Diagnostics

  • L’utilitaire en ligne de commande macOS le plus inutile est pdisk

    • C’est un programme piloté par menus pour partitionner des disques à l’aide du schéma de partitionnement Apple Disk
  • Il existe un one-liner pour prévisualiser des fichiers avec Quick Look (avec un alias ql)

    • Exemple : qlmanage -p $argv >/dev/null 2>&1
  • Le site semble hors ligne