Apps

コマンドラインでのパイプの使用、基本概要

コマンドラインでのパイプの使用、基本概要

OS XのターミナルMac OS X、Linux、その他Unixのコマンドラインの重要な機能の一つは、パイプの使い方に関する基本的な知識を理解することです。基本的に、パイプは1つのコマンドの出力を別のコマンドの入力に渡すことで、次のコマンドで前のコマンドの戻り値を操作、調整、または操作できるようにします。パイプの使い方とタイミングを理解することは、コマンドラインを効果的に使用する上で不可欠であり、ターミナルユーザーにとって中核的な知識です。

これ以上の説明は省略しますが、ここではコマンド ライン パイプとその機能、そして最も重要な点として、パイプを使用してコマンド ライン出力を制御し、効果的に他の場所に「パイプ」する方法を説明します。


パイプ記号は | のような形をしており(\ キーと同じキーなので、ご安心ください)、コマンドラインで作業する際に非常に便利です。以下にいくつか例を挙げます。

ls -la | more

これは、list コマンド (long および all フラグ付き) の出力を取得し、それを more コマンドにパイプして、出力を一度に 1 ページずつ表示できるようにします。

ps aux | grep user

このコマンドはプロセスコマンドの出力を受け取り、「user」に属するプロセスインスタンスのみを報告します。

パイプは実質的に何にでも使えるので、想像力を働かせてください。

パイプのもう 1 つの一般的な用途は、'cat' などを使用するときに、長い出力の読みやすさを向上させるために「less」と組み合わせることです。

cat /etc/passwd | less

パイプは非常に高度な方法でも使用できます。任意のコマンドの出力を取得し、そのコマンド出力を別のコマンド文字列の入力にリダイレクトし、その出力を取得してさらにリダイレクトします。コマンドとパイプの長い文字列では、次のようになります。

cat /etc/OSXDaily.txt | grep "osxdaily test" '\n' | sort | uniq | less

パイプはリダイレクトや、ターミナル内のあらゆる操作を行う他の方法と組み合わせることもできます。

OS X DailyではMac OS Xのコマンドラインについて比較的頻繁に取り上げていますが、最近の記事「コマンドラインのユーザビリティの基本:リダイレクト」ではパイプについても少し触れておくべきだったかもしれませんので、ここで取り上げます。より高度な用途については、基本を超えて掘り下げた別の詳細なチュートリアルで解説するのが最適でしょう。どうぞお楽しみに。