42 ポイント 投稿者 GN⁺ 2024-11-07 | 14件のコメント | WhatsAppで共有

Keychainへプログラムからアクセスする

  • security コマンドを使うと、Keychainに保存されたパスワードへプログラムからアクセスできる
    security find-internet-password -s "https://example.com";
  • 自動化スクリプトを書くときに便利
  • おまけ: 1Password CLI を使えば 1Password の項目にもアクセスできる

ターミナルから開く

  • open コマンドを使うと、ターミナルからファイルを開ける
  • open file.txt を実行すると、Finderでそのファイルをダブルクリックしたときのように、そのファイル形式のデフォルトアプリケーションでファイルが開く

コピー/ペースト

  • pbcopypbpaste は、テキストを pasteboard(他のOSでは "clipboard" と呼ばれるもの)にコピーしたり貼り付けたりできるコマンドラインユーティリティ
  • pbcopy は標準入力として与えられたものを pasteboard に入れる
    • echo "Hello, world!" | pbcopy;
  • pbpaste は pasteboard にあるものを取得して標準出力に表示する
    pbpaste   
    >> Hello, world!  
    
  • ファイルからデータを取り出してブラウザや他のGUIアプリケーションに入れるときに非常に便利

UTC日付

  • サーバーをよく扱うなら、UTC基準の現在時刻を知っておくと便利なことがある(例: サーバーログを確認するとき)
  • ターミナルで1行で実行できる
    • date -u
  • または TZ=UTC date も使える

Macのスリープ防止

  • Macをスリープさせたくないなら、ターミナルで caffeinate を実行すればよい
    • caffeinate
  • caffeinate は、ユーザーが停止するまで(たとえば Ctrl+C を押すまで)Macを起きたままにする
  • caffeinate は以前はサードパーティ製ツールだったが、今では macOS に標準搭載されている
  • 主にサーバーを動かしているときにMacがスリープしないようにするために使う

UUID生成

  • UUIDが必要なら uuidgen コマンドを使える
    • uuidgen
  • デフォルトでは uuidgen は大文字のUUIDを出力する
  • trpbcopy を組み合わせると、UUIDを小文字にしてクリップボードへコピーできる
    • uuidgen | tr '[:upper:]' '[:lower:]' | pbcopy
  • IDが必要なユニットテストを書くときによく使う

触れておきたいもの

  • mdfind: ターミナルでSpotlight検索。通常はSpotlight自体(または優れた Raycast)を使う
  • say: このコマンドはMacに指定したテキストを読み上げさせる
  • screencapture: このコマンドを使うとスクリーンショットを撮ってファイルとして保存できる。cmd-shift-5 を使うほうを好む
  • networksetup: このコマンドを使うとネットワーク設定をプログラムから構成できる。APIがかなりとっつきにくいため、あまり使っていない

14件のコメント

 
progdesigner 2024-11-13

ターミナルで特定のフォルダをFinderで開くときは

open -a "Finder" [パス]

で開けます。

 
bobross0 2024-11-11

caffeinate コマンドはよく使っています(笑)

 
zzandore 2024-11-11

家で使っていないMacBookをサーバーとして使っていて、電源が切れないように外部アプリを使っていましたが、caffeinate を使えばよさそうですね(笑)

 
abcde987 2024-11-08

いくつかは初めて見ましたが、役に立ちそうですね

 
unreal 2024-11-07

コマンドではありませんが、UTC確認用として上部バーに入れて使っています。
https://sindresorhus.com/utc-time

 
laeyoung 2024-11-07

open は、後ろに -a オプションを付けて特定のアプリを指定する形で一緒に使うと、さらに便利だと思います。

たとえば、open . -a Visual\ Studio\ Code

 
lazydonkey456 2024-11-07

vsc ですが、code . でもよいのでは?!?

 
whizkyu 2024-11-07

dmgでインストールした場合は、code コマンドはないのではありませんか?
また、IntelliJ などで開きたいときにも便利です :)

 
sjssjs1344 2024-11-09

VS Code内で設定できます。
command+shift+p を押して、shell command と入力すればOKです。

 
nicewook 2024-11-07

私は IntelliJ を i にエイリアスしているので、i .i file.txt とするとすぐに IntelliJ で開くようにしています。 :-)

 
lazydonkey456 2024-11-07

Macのコマンドラインユーティリティは本当に便利なものが多いですよね。私も pbcopypbpaste はよく使っています。

 
ilikeall 2024-11-07

pbcopy を便利に使っています。

 
zihado 2024-11-07

networkQuality もあります

 
GN⁺ 2024-11-07
Hacker News のコメント
  • afconvert は、Core Audio フレームワークの AAC コーデックを含む音声ファイル形式コンバーター

    • 例: afconvert in.wav -o out.m4a -q 127 -s 2 -b 160000 -f m4af -d 'aac '
  • diskutil は、固定およびリムーバブルストレージ向けのさまざまなツールを提供する

    • 例: mb=300; diskutil eraseVolume APFS myramdisk \hdiutil attach -nomount ram://$((mb*2048))``
  • hear アプリは、macOS の音声認識とディクテーションをコマンドラインで使えるようにする

  • open -n file.pdf は Preview アプリの新しいインスタンスを開き、同じファイルを 2 回開けるようにする

  • caffeinate -d はディスプレイが消灯しないようにし、マウスを動かさなくても画面を見られるようにする

  • Terminal 版の Disk Utility は GUI よりも優れた性能を提供する(アプリがフリーズしたりエラーが発生したりしない)

  • macOS 向けに簡単にインストールできるコマンドラインユーティリティの一覧がある

  • https://ss64.com/ は便利なリソースで、もっと早く知っていればよかったと思う

  • nc は任意の TCP および UDP 接続と待ち受けのためのツール

  • networkQuality は速度テストおよびネットワークストレスツール

  • system_profiler は、シェルスクリプトで幅広いシステム情報を取得するための便利な方法

  • wdutil は Wireless Diagnostics アプリケーションの機能をコマンドライン形式で提供する

  • 最も役に立たない macOS コマンドラインユーティリティは pdisk

    • Apple ディスクパーティショニングスキームを使ってディスクをパーティショニングするメニュー形式のプログラム
  • Quick Look でファイルをプレビューするためのワンライナーがある(ql にエイリアス設定)

    • 例: qlmanage -p $argv >/dev/null 2>&1
  • サイトがダウンしているようだ