コマンドのパイプ(|)
パイプを使ってコマンドを接続し、あるコマンドの出力を別のコマンドの入力として渡すことで複雑な処理を行う方法を理解します。
「コマンドのパイプ(|)」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
パイプでコマンドをつなぐ
ようこそ。Linuxでは、複数のコマンドの力を組み合わせて、特定の結果を得たいことがよくあります。そこで役立つのがパイプです。
パイプを使うと、あるコマンドの出力を別のコマンドの入力として直接渡せます。データを運ぶベルトコンベアのようなものだと考えてください。
パイプ記号「|」
パイプ記号は縦棒の|です。2つのコマンドの間に置きます。
- 左側のコマンドは、標準出力(通常画面に表示する内容)を送ります。
- 右側のコマンドは、その出力を標準入力として受け取ります。
これは、効率的なコマンドライン操作の基本概念です。
最初のパイプ:`ls | less`
パイプを実際に使ってみましょう。ls -l /usr/binコマンドは多数のファイルを一覧表示するため、1画面に収まらないことがよくあります。
その出力をlessにパイプすると、ページ単位で表示できます。この例を実行してみてください。
ls -l /usr/bin | less`grep`で出力を絞り込む
パイプは絞り込みに適しています。grepコマンドはテキスト内のパターンを検索します。パイプと組み合わせると、別のコマンドの出力を絞り込めます。
このコマンドは、現在のディレクトリにあるすべてのファイルを一覧表示し、その後.txtで終わるファイルだけに絞り込みます。
ls | grep .txt`wc`で項目を数える
wc(word count)コマンドは、行、単語、文字を数えられます。パイプとともに使用すると、パイプで渡された入力を数えます。
現在のディレクトリにある.txtファイルの数を数えるには、ls、grep、wc -l(行数を数える)を連結します。
ls | grep .txt | wc -l複数のコマンドを連結する
コマンドは2つだけに限りません。複数のパイプで多くのコマンドを連結し、強力な処理の流れを作成できます。
各パイプは、直前のコマンドの出力を、連結された次のコマンドに渡します。
ps aux | grep chrome | wc -lパイプ出力を並べ替える(`sort`)
sortコマンドは、テキストの行をアルファベット順または数値順に並べ替えます。データを整理するため、パイプの後によく使用されます。
この例では、/etc内のファイルを一覧表示し、逆アルファベット順に並べ替えて、最初の5件だけを表示します。
ls /etc | sort -r | head -n 5一意の行を検索する(`uniq`)
uniqコマンドは、重複する隣接した行を削除します。同一の行をまとめるsortの後に使用すると、最も効果的です。
果物の一覧を並べ替えてから、一意の項目を見つけてみましょう。
echo -e "apple\nbanana\napple\norange" | sort | uniqパイプとI/Oリダイレクションの違い
前のレッスンで学んだI/Oリダイレクション(>、>>、<)を覚えていますか。
- パイプ(
|):あるコマンドの出力を別のコマンドの入力に接続します。プログラム間でデータを流し続けます。 - リダイレクション(
>、<):コマンドの入出力をファイルに接続します。データをディスクに保存したり、ディスクから読み取ったりします。
どちらも強力ですが、目的は異なります。
パイプの理解度チェック
パイプを使ってコマンドをつなぐ方法を学びました。理解度を確認してみましょう。
復習:パイプの力
よくできました。Linuxでコマンドをパイプする基本を習得しました。
- パイプ(
|)は、あるコマンドの出力を別のコマンドの入力に接続します。 - コマンドを連結して、強力な絞り込み、並べ替え、処理を行えます。
- パイプは、コマンドをファイルに接続するI/Oリダイレクションとは異なります。
さまざまなコマンドで練習し、組み合わせることで何ができるか試してみてください。
よくある質問
「コマンドのパイプ(|)」レッスンは無料ですか?
はい。「コマンドのパイプ(|)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「コマンドのパイプ(|)」で何を学びますか?
パイプを使ってコマンドを接続し、あるコマンドの出力を別のコマンドの入力として渡すことで複雑な処理を行う方法を理解します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「コマンドのパイプ(|)」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。