すべてのOS Xコマンドラインユーザーが知っておくべき8つのターミナルユーティリティ


OS Xターミナルは、強力なUNIXユーティリティとスクリプトの世界を開きます。 Linuxから移行している場合、期待どおりに多くのおなじみのコマンドが機能することがわかります。しかし、パワーユーザーは、OS Xには他のオペレーティングシステムでは見つからない独自のテキストベースのユーティリティが多数搭載されていることを知らないことがよくあります。

これらのMacのみのプログラムについて学ぶことは、あなたをより生産的にすることができますコマンドラインそして、UnixとMacの間のギャップを埋めるのに役立ちます。

この投稿はもともとミッチェル・コーエンのブログに掲載されました。mitchchn.me

1。oペン

openファイル、ディレクトリ、アプリケーションを開きます。エキサイティングですよね?しかし、それは本当に役に立ちますコマンドラインダブルクリック。たとえば、タイピング:

$ open /Applications/Safari.app/ 

…ファインダーでアイコンをダブルクリックしたかのようにサファリを起動します。 OS Xアプリは真の実行可能ファイルではなく、実際には拡張機能を備えた特別なディレクトリ(バンドル)であることを思い出してください。アプリopenこれらのプログラムをコマンドラインから起動する唯一の方法です。また、ページドキュメントなど、本当にバンドルである他のファイルを起動することもできます。

あなたが指している場合open代わりにファイルで、関連するGUIアプリケーションでファイルをロードしようとします。open screenshot.png画像にプレビューでその画像が開きます。設定できます-a自分でアプリを選択するフラグ、または-eTextEditで編集するためにファイルを開く。

ランニングopenディレクトリでは、Finderウィンドウのそのディレクトリに直接移動します。これは、入力して現在のディレクトリを登場するのに特に便利ですopen .

Finderとターミナル間の統合は両方の方法で進むことを忘れないでください。ファンドからファイルを端子ウィンドウにドラッグすると、そのフルパスがコマンドラインに貼り付けられます。

2。pbcopyおよびpbpaste

これらの2つのコマンドを使用すると、コマンドラインからテキストをコピーして貼り付けることができます。もちろん、あなたはあなたのマウスを使用することもできますが、pbcopyそしてpbpasteそれらはUNIXコマンドであるという事実から来ています。つまり、パイピング、リダイレクト、および他のコマンドと併せてスクリプトに入る能力の恩恵を受けることを意味します。タイピング:

$ ls ~ | pbcopy 

…ホームディレクトリ内のファイルのリストをOS Xクリップボードにコピーします。ファイルの内容を簡単にキャプチャできます。

$ pbcopy < blogpost.txt 

..または、クレイジーなことをします。このハッキングされたスクリプトは、最新のGoogle Doodleのリンクをつかみ、クリップボードにコピーします。

$ curl https://www.google.com/doodles#oodles/archive | grep -A5 'latest-doodle on' | grep 'img src' | sed s/.*'<img src="\/\/'/''/ | sed s/'" alt=".*'/''/ | pbcopy

使用pbcopyパイプを使用すると、コマンドの出力をスクロールアップして慎重に選択する必要なく、コマンドの出力をキャプチャする素晴らしい方法です。これにより、診断情報を簡単に共有できます。pbcopyそしてpbpaste特定の種類のタスクを自動化またはスピードアップするためにも使用できます。たとえば、電子メールの件名をタスクリストに保存する場合は、mail.appから件名をコピーして実行できます。

$ pbpaste >> tasklist.txt 

3。Mdfind

多くのLinuxパワーユーザーが使用しようとしていますlocateMac上のファイルを検索してから、それが機能しないことをすぐに発見しました。常に由緒あるUnixがありますfindコマンドですが、OS Xには独自のキラー検索ツール:Spotlightが付属しています。それでは、コマンドラインからその力を活用してみませんか?

それがまさにそれですmdfindします。スポットライトが見つかるものは何でも、mdfind見つけることもできます。これには、内部ファイルとメタデータを検索する機能が含まれます。

mdfind大きな青い兄弟から際立っているいくつかの便利なものが付属しています。たとえば、-onlyinフラグは、検索を単一のディレクトリに制限できます。

$ mdfind -onlyin ~/Documents essay 

mdfindデータベースはバックグラウンドで最新の状態を維持する必要がありますが、それをトラブルシューティング(およびスポットライト)を使用することもできます。mdutil。スポットライトが機能していない場合は、mdutil -Eインデックスを消去し、ゼロから再構築します。完全にインデックス作成をオフにすることもできますmdutil -i off

4。sCreencapture

screencaptureさまざまな種類のスクリーンショットを撮ることができます。に似ていますgrab.appキーボードショートカットCMD + Shift + 3およびCMD + Shift + 4。ただし、はるかに柔軟性があります。これがあなたが使用できるいくつかの異なる方法を紹介しますscreencapture

カーソルを含む画面の内容をキャプチャし、結果の画像( 'image.png'という名前)を新しいメールメッセージに添付します。

$ screencapture -C -M image.png 

マウスを使用してウィンドウを選択し、ウィンドウのドロップシャドウなしでその内容をキャプチャし、画像をクリップボードにコピーします。

$ screencapture -c -W 

10秒の遅延後に画面をキャプチャしてから、プレビューで新しい画像を開きます。

$ screencapture -T 10 -P image.png 

マウスで画面の一部を選択し、その内容をキャプチャし、PDFとして画像を保存します。

$ screencapture -s -t pdf image.pdf 

より多くのオプションを確認するには、入力してくださいscreencapture --help

5。Launchctl

launchctlOS X INITスクリプトシステムと対話してください。launchd。 Daemonsの発売と起動エージェントを使用すると、コンピューターを起動するときに起動するサービスを制御できます。 LinuxのCron Jobsと同様に、定期的に、またはバックグラウンドでタイミング間隔で実行するようにスクリプトを設定することもできます。

たとえば、MacをオンにしたときにApache Webサーバーを自動的に起動したい場合は、次のように入力してください。

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist 

ランニングlaunchctl list起動スクリプトが現在ロードされているものを示します。sudo launchctl unload [path/to/script]実行中のスクリプトを停止してアンロードし、追加します-wフラグは、これらのスクリプトをブートシーケンスから永久に削除します。私はこれをすべての自動アップデート「ヘルパー」= "" created = "" by = "" adobe = "" apps = "" and = "" microsoft = "" officeで実行するのが好きです。

起動されたスクリプトは、次の場所に保存されます。

〜/library/lazingagents

/ライブラリ/ランチゲント

/ライブラリ/launchDaemons

/システム/ライブラリ/ランチゲント

/System/Library/LaunchDaemons

発射エージェントやデーモンに何が入っているのかを見るために、素晴らしいブログ投稿がありますポール・アンスリーファイル形式を説明します。そして、あなたがあなた自身を書く方法を学びたいならlaunchdスクリプト、Appleは彼らに関するいくつかの役立つドキュメントを提供します開発者サイト。素晴らしいこともありますリンゴン避けたい場合はアプリコマンドライン全体的に。

6。sああ

これは楽しいものです:sayテキストをスピーチに変換し、同じTTSエンジンXを使用して使用しますナレーション。オプションがなければ、say単純にあなたがそれを大声で与えるどんなテキストでも話してください

$ say "Never trust a computer you can't lift." 

使用することもできますsayテキストファイルの内容を-fフラグ、そして結果のオーディオクリップをで保存できます-oフラグ:

$ say -f mynovel.txt -o myaudiobook.aiff 

sayコマンドは、コンソールのロギングの代わりに、スクリプトのサウンドをアラートする代わりに役立ちます。たとえば、Automatorまたはヘーゼルバッチファイル処理を行い、タスクの完了を発表するスクリプトsay

しかし、最も楽しい用途sayかなり不吉です:あなたが持っているならssh友人や同僚のMacにアクセスすると、静かにマシンにログインして、コマンドラインを介してそれらを悩ませることができます。 siri-ousの驚きを与えてください。

使用する音声(および言語!)を設定できますsayのデフォルト設定を変更しますディクテーションとスピーチシステム設定のパネル。

7。d脳卒中

diskutilのコマンドラインインターフェイスですディスクユーティリティOS Xに付属するアプリ。グラフィカルないとこでできるすべてのことを行うことができますが、ゼロまたはランダムデータでディスクを埋めるなど、いくつかの追加機能もあります。入力するだけですdiskutil listディスクのパス名と取り外し可能なメディアがマシンに取り付けられていることを確認し、操作するボリュームをコマンドに向けます。気をつけて:diskutil誤って使用されている場合、データを永久に破壊できます。

8。bRew

さて、これは技術的にはネイティブコマンドではありません。ただし、OS Xパワーユーザーはなくてはなりませんホームブリュー。ウェブサイトはそれを「OS Xの欠落パッケージマネージャー」と呼び、それは真実ではありませんでした。使用したことがあるならapt-getLinuxでは、自宅で家にいると感じるでしょう。 (実際には、HomeBrewはLinuxのAPTよりもFreeBSDのポートシステムに似ています。ハイブリッドソース/バイナリシステムを使用しています。特定のパッケージにバイナリが使用できない場合は、ソースタルボールをダウンロードしてコンパイルしますが、今日の問題はありません。マルチコアマック。)

brewオープンソースコミュニティから数千の無料ユーティリティとライブラリに簡単にアクセスできます。例えば、brew install imagemagickあなたをセットアップしますImageMagick、それを可能にする強力なユーティリティ何でもしてくださいアニメーションGIFの鞭打ちから、数十の異なるタイプ間の画像の変換まで。brew install node紹介しますダンサー、サーバー側のJavaScriptアプリを開発および実行するためのホットな新しいツール。

あなたもホームブリューを楽しむことができます:brew install archeyあなたを得るでしょうアーチー、カラフルなアップルロゴの横にMacの仕様を表示するためのクールな小さなスクリプト。 Homebrewでの選択は巨大です。、常に新しいパッケージが追加されています。

アーチー - 私のコマンドラインは、すべての男の子を庭に連れて行きます。

しかし、Homebrewの最大の部分は?すべてのファイルを単一のディレクトリに保持します。/usr/local/。つまり、システムソフトウェアの新しいバージョンをインストールできます。pythonそしてmysql、組み込みの同等物を妨げることなく。そして、もしあなたがあなたの自家ブリューのインストールを取り除きたいなら、スクリプトをアンインストールします

もっと楽しいためにTerminal.App、ここにAZのリストがありますOS X 10.9 Mavericksのすべての利用可能なコンソールコマンド

読者のフィードバックのおかげで、フォローアップ投稿にさらにいくつかのコマンドについて書いた:(そしてさらに800)

すべてのOS Xコマンドラインユーザーが知っておくべき8つのターミナルユーティリティ| mitchchn.me


ミッチェル・コーエンはトロント出身の作家でありテクノファイルです。彼は彼のブログでコーヒー、コード、ジャーナリズム、言語、不眠症、巨大なクモについて書いています、mitchchn.me。 Twitterで彼をフォローできます@mitchchn

ライフハッカーであなたの仕事を見たいですか?メールアンディ