42 pontos por GN⁺ 2024-11-07 | 14 comentários | Compartilhar no WhatsApp

Acessar o Keychain programaticamente

  • É possível acessar programaticamente senhas armazenadas no keychain usando o comando security
    security find-internet-password -s "https://example.com";
  • Isso é útil ao escrever scripts automatizados
  • Bônus: com o 1Password CLI, também é possível acessar itens do 1Password

Abrir pelo terminal

  • Com o comando open, é possível abrir arquivos a partir do terminal
  • Ao executar open file.txt, o arquivo é aberto no aplicativo padrão para esse tipo de arquivo, como se você tivesse dado um clique duplo nele no Finder

Copiar/colar

  • pbcopy e pbpaste são utilitários de linha de comando que permitem copiar e colar texto usando o pasteboard (chamado de "clipboard" em outros sistemas operacionais)
  • pbcopy coloca no pasteboard aquilo que for fornecido pela entrada padrão
    • echo "Hello, world!" | pbcopy;
  • pbpaste pega o que está no pasteboard e imprime na saída padrão
    pbpaste   
    >> Hello, world!  
    
  • É muito útil ao pegar dados de um arquivo e colocá-los no navegador ou em outro aplicativo com interface gráfica

Data UTC

  • Se você lida bastante com servidores, pode ser útil saber a hora atual em UTC (por exemplo, ao verificar logs de servidor)
  • Dá para fazer isso em uma única linha no terminal
    • date -u
  • Ou usar TZ=UTC date

Impedir que o Mac entre em repouso

  • Para evitar que o Mac durma, basta executar caffeinate no terminal
    • caffeinate
  • caffeinate mantém o Mac acordado até que o usuário interrompa o processo (por exemplo, pressionando Ctrl+C)
  • caffeinate era antigamente uma ferramenta de terceiros, mas agora já vem embutida no macOS
  • É usado principalmente para evitar que o Mac entre em repouso enquanto executa um servidor

Gerar UUID

  • Se você precisa de um UUID, pode usar o comando uuidgen
    • uuidgen
  • Por padrão, uuidgen imprime o UUID em letras maiúsculas
  • Combinando tr e pbcopy, você pode copiar o UUID em minúsculas para a área de transferência
    • uuidgen | tr '[:upper:]' '[:lower:]' | pbcopy
  • Eu uso bastante isso ao escrever testes unitários que precisam de IDs

Menções honrosas

  • mdfind: busca do Spotlight no terminal. Em geral, uso o próprio Spotlight (ou o excelente Raycast)
  • say: esse comando faz o Mac falar o texto fornecido
  • screencapture: com esse comando, é possível tirar capturas de tela e salvá-las em arquivo. Prefiro usar cmd-shift-5
  • networksetup: com esse comando, é possível configurar ajustes de rede programaticamente. A API é bem intimidadora, então não uso muito

14 comentários

 
progdesigner 2024-11-13

Ao abrir uma pasta específica no Finder pelo Terminal

open -a "Finder" [caminho]

você pode abri-la assim.

 
bobross0 2024-11-11

Eu uso bastante o comando caffeinate rsrs

 
zzandore 2024-11-11

Eu usava um app externo para o MacBook que não uso em casa, rodando como servidor, não desligar, mas pelo visto dá para usar o caffeinate haha

 
abcde987 2024-11-08

Alguns eu estou vendo pela primeira vez, mas parecem ser úteis.

 
unreal 2024-11-07

Não é um comando, mas eu o uso fixado na barra superior só para verificar UTC.
https://sindresorhus.com/utc-time

 
laeyoung 2024-11-07

Também acho mais prático usar open junto com a opção -a para especificar um programa em seguida.

Por exemplo, open . -a Visual\ Studio\ Code

 
lazydonkey456 2024-11-07

Com vsc, acho que você também pode usar code ., né?!?

 
whizkyu 2024-11-07

No caso de instalação via dmg, o comando code não existe, certo?
E isso também é útil quando você quer abrir com o IntelliJ e similares :)

 
sjssjs1344 2024-11-09

Você pode configurar isso dentro do VS Code.
Pressione command+shift+p e digite shell command.

 
nicewook 2024-11-07

Eu deixei um alias para o IntelliJ como i, então se eu fizer i . ou i file.txt, ele abre direto no IntelliJ. :-)

 
lazydonkey456 2024-11-07

O macOS tem muitas utilidades de linha de comando bem úteis. Eu também acho que uso pbcopy e pbpaste com frequência.

 
ilikeall 2024-11-07

Estou usando pbcopy de forma bastante útil.

 
zihado 2024-11-07

Tem também o networkQuality.

 
GN⁺ 2024-11-07
Comentários do Hacker News
  • afconvert é um conversor de formatos de arquivo de áudio, incluindo o codec AAC do framework Core Audio

    • Exemplo: afconvert in.wav -o out.m4a -q 127 -s 2 -b 160000 -f m4af -d 'aac '
  • diskutil oferece uma variedade de ferramentas para armazenamento fixo e removível

    • Exemplo: mb=300; diskutil eraseVolume APFS myramdisk \hdiutil attach -nomount ram://$((mb*2048))``
  • O app hear permite usar o reconhecimento de voz e o ditado do macOS pela linha de comando

  • open -n file.pdf abre uma nova instância do app Preview, permitindo abrir o mesmo arquivo duas vezes

  • caffeinate -d impede que a tela desligue, para que seja possível olhar para ela sem mover o mouse

  • A versão de terminal do Disk Utility oferece desempenho melhor que a GUI (o app não trava nem gera erros)

  • Há uma lista de utilitários de linha de comando fáceis de instalar para macOS

  • https://ss64.com/ é um recurso útil que eu gostaria de ter conhecido antes

  • nc é uma ferramenta para conexões e escuta arbitrárias de TCP e UDP

  • networkQuality é uma ferramenta de teste de velocidade e estresse de rede

  • system_profiler é uma forma útil de obter informações abrangentes do sistema em scripts de shell

  • wdutil oferece pela linha de comando as funcionalidades do aplicativo Wireless Diagnostics

  • O utilitário de linha de comando mais inútil do macOS é o pdisk

    • É um programa baseado em menu para particionar discos usando o esquema de particionamento de disco da Apple
  • Há um one-liner para pré-visualizar arquivos com o Quick Look (definido com o alias ql)

    • Exemplo: qlmanage -p $argv >/dev/null 2>&1
  • Parece que o site está fora do ar