検索
ホームページ運用・保守Linuxの運用と保守Linuxのパイプ文字とは何ですか

Linux では、パイプ文字は「|」で、主に 2 つ以上のコマンドを結合し、1 つのコマンドの出力を次のコマンドの入力として使用するために使用されます。構文は「command1 | command2」です。 [ | commandN... ]" の場合、「|」文字の左側にあるコマンドの出力が、「|」文字の右側にあるコマンドの入力として使用されます。パイプ文字は連続して使用でき、最初のコマンドの出力は 2 番目のコマンドの入力として使用され、2 番目のコマンドの出力は 3 番目のコマンドの入力として使用されます。

Linuxのパイプ文字とは何ですか

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

シェルには、2 つ以上のコマンド (プログラムまたはプロセス) を接続し、1 つのコマンドの出力を次のコマンドの入力として使用する機能もあります。コマンドはパイプラインを形成します。

Linux パイプでは、垂直バー | を使用して複数のコマンドを接続します。これはパイプ文字と呼ばれます。

command1 | command2
command1 | command2 [ | commandN... ]

2 つのコマンドの間にパイプを設定すると、パイプ記号 | の左側のコマンドの出力が右側のコマンドの入力になります。最初のコマンドが標準出力に書き込み、2 番目のコマンドが標準入力から読み取る限り、2 つのコマンドはパイプを形成できます。ほとんどの Linux コマンドを使用してパイプを形成できます。

パイプ文字は連続して使用できます。最初のコマンドの出力は 2 番目のコマンドの入力として使用され、2 番目のコマンドの出力は 3 番目のコマンドの入力として使用されます。すぐ。

Linuxのパイプ文字とは何ですか

ここで、command1 には正しい出力が必要であり、command2 は command2 の出力結果を処理できなければならず、command2 は正しい出力結果のみを処理できることに注意してください。 command1 のエラーメッセージを処理するのではなく、command1 の結果を出力します。

例: hello.sh ファイルを並べ替え、並べ替えと重複排除を行った後、「better」を含む行を見つけます。

コマンドは次のとおりです。 : cat hello.sh | sort | uniq | grep 'better'

  • テキストの表示
  • Sort
  • Deduplication
  • Filter
    Linuxのパイプ文字とは何ですか

[1] 最初のステップ - テキストの表示

最初に cat コマンドを使用してテキストを表示します。画面に表示される内容が出力です。 cat コマンドの結果

[root@linuxforliuhj test]# cat hello.sh 
hello this is linux
be better
be better
i am lhj
hello this is linux
i am lhj
i am lhj
be better
i am lhj
have a nice day
have a nice day
hello this is linux
hello this is linux
have a nice day
zzzzzzzzzzzzzz
dddddddd
gggggggggggggggggggg
[root@linuxforliuhj test]#

[2] 2 番目のプロセス - ソート

前の cat コマンドによって出力された結果をパイプライン経由で sort コマンドにスローします。これにより、sort コマンドはテキストをソートします。前の cat コマンドによる出力

[root@linuxforliuhj test]# cat hello.sh | sort
be better
be better
be better
dddddddd
gggggggggggggggggggg
have a nice day
have a nice day
have a nice day
hello this is linux
hello this is linux
hello this is linux
hello this is linux
i am lhj
i am lhj
i am lhj
i am lhj
zzzzzzzzzzzzzz
[root@linuxforliuhj test]#

[3] 3 番目のプロセス - 重複排除

uniq を紹介した前の記事で述べたように、sort は uniq と組み合わせて使用​​すると効果的に重複排除できるため、sortパイプラインを介して処理され、出力されます。 テキストは処理のために uniq にスローされるため、uniq は並べ替えられたテキストを処理します。これにより重複を効果的に削除できます。

[root@linuxforliuhj test]# cat hello.sh | sort | uniq
be better
dddddddd
gggggggggggggggggggg
have a nice day
hello this is linux
i am lhj
zzzzzzzzzzzzzz
[root@linuxforliuhj test]#

[4] 4 番目のステップ - フィルタリング

フィルタリングの最後のステップは同じです。前のコマンド、つまり uniq コマンドの処理後にテキスト出力をフィルタリングすることです。

[root@linuxforliuhj test]# cat hello.sh | sort | uniq | grep 'better'
be better
[root@linuxforliuhj test]#

ここが重要なポイントです!

ここが重要なポイントです!

ここがポイントです!

上記の cat、sort、uniq、grep などこれらのコマンドは標準入力から読み取ることができるため、コマンドはすべてパイプ文字をサポートしています。処理されるテキスト (つまり、標準入力からパラメータを読み取る)。一部のコマンド (rm、kill、その他のコマンドなど) はサポートされていません。標準入力からのパラメータの読み取りは可能ですが、コマンド ライン (つまり、rm コマンド) からのパラメータの読み取りのみをサポートします。削除するファイルまたはディレクトリは後で指定する必要があり、強制終了するプロセス番号は kill コマンドの後に指定する必要があります。 )

それでは、どのようなコマンドがパイプをサポートし、どのようなコマンドがパイプをサポートしないのでしょうか? ?
一般に、sort、uniq、grep、awk、sed などのテキストを処理するコマンドはすべてパイプをサポートしますが、テキストを処理しないコマンド (rm や ls など) はパイプをサポートしません。

[root@linuxforliuhj test]# cat hello.sh | sort
be better
be better
be better
dddddddd
gggggggggggggggggggg
have a nice day
have a nice day
have a nice day
hello this is linux
hello this is linux
hello this is linux
hello this is linux
i am lhj
i am lhj
i am lhj
i am lhj
zzzzzzzzzzzzzz
[root@linuxforliuhj test]#
ソート後にパラメータがない場合、パイプ文字によってスローされた前のコマンドの出力が処理されます (つまり、前のコマンドの標準出力がこのコマンドの標準入力として使用されます) )

[root@linuxforliuhj test]# ls
beifen.txt  hello.sh  mk  read.ln  read.sh  read.txt  sub.sh
[root@linuxforliuhj test]# ls | grep read.sh
read.sh
[root@linuxforliuhj test]# ls | grep read.sh | rm
rm: missing operand
Try 'rm --help' for more information.
[root@linuxforliuhj test]#

When 削除されたファイルが rm の後に指定されていない場合、パラメーターが欠落しているとしてエラーが報告されます。したがって、rm などのコマンドは、標準入力からのパラメーターの読み取りをサポートしません。これらは、標準入力からのパラメーターの指定のみをサポートします。コマンドライン、つまり削除されたファイルを指定します。

標準入力とコマンドラインパラメータではどちらが優先されますか?

次の 2 つのファイルがあります

[root@linuxforliuhj test]# cat a.txt 
aaaa
dddd
cccc
bbbb
[root@linuxforliuhj test]# cat b.txt 
1111
3333
4444
2222
[root@linuxforliuhj test]#

コマンドを実行します: cat a.txt | sort

[root@linuxforliuhj test]# cat a.txt | sort
aaaa
bbbb
cccc
dddd
[root@linuxforliuhj test]#

sort のコマンド ライン パラメーターが空の場合、デフォルトでは前者が使用されます コマンドの出力結果がこのコマンドの入力として使用されます

コマンドを実行します: cat a.txt | sort b.txt

[root@linuxforliuhj test]# cat a.txt | sort b.txt 
1111
2222
3333
4444
[root@linuxforliuhj test]#

sort のコマンド ライン パラメータ (ここでは b.txt) が空でない場合、sort は標準入力のパラメータを読み取らず、コマンド ライン パラメータを読み取ります。

コマンドを実行します: cat a.txt | sort b.txt -

[root@linuxforliuhj test]# cat a.txt | sort b.txt -
1111
2222
3333
4444
aaaa
bbbb
cccc
dddd
[root@linuxforliuhj test]#

" - "は、標準入力、つまりコマンド cat a.txt の出力を意味します。これは、ファイル b.txt と標準入力を一緒に並べ替えることと同じです。 a.txt b.txt

の並べ替えと同等

[root@linuxforliuhj test]# sort a.txt b.txt
1111
2222
3333
4444
aaaa
bbbb
cccc
dddd
[root@linuxforliuhj test]#

思考:对于rm、kill等命令,我们写脚本时常常会遇到需要查询某个进程的进程号然后杀掉该进程,查找某个文件然后删除它这样的需求,该怎么办呢?那就用xargs吧!

相关推荐:《Linux视频教程

以上がLinuxのパイプ文字とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Linux操作:コア機能の理解Linux操作:コア機能の理解May 03, 2025 am 12:09 AM

Linuxは、UNIXベースのマルチユーザーのマルチタスクオペレーティングシステムで、シンプルさ、モジュール性、オープン性を強調しています。そのコア機能には、ファイルシステム:ツリー構造で整理され、Ext4、XFS、BTRFSなどの複数のファイルシステムをサポートし、DF-Tを使用してファイルシステムタイプを表示します。プロセス管理:PSコマンドを使用してプロセスを表示し、優先度の設定と信号処理を含むPIDを使用してプロセスを管理します。ネットワーク構成:IPアドレスの柔軟な設定とネットワークサービスの管理、およびsudoipaddraddを使用してIPを構成します。これらの機能は、基本的なコマンドと高度なスクリプト自動化を通じて実際の操作に適用され、効率を向上させ、エラーを削減します。

Linux:メンテナンスモードの入力と終了Linux:メンテナンスモードの入力と終了May 02, 2025 am 12:01 AM

Linuxメンテナンスモードに入る方法には次のものがあります。1。grub構成ファイルを編集し、「シングル」または「1」パラメーターを追加し、Grub構成を更新します。 2。GRUBメニューでスタートアップパラメーターを編集し、「シングル」または「1」を追加します。終了メンテナンスモードでは、システムを再起動する必要があります。これらの手順を使用すると、必要に応じてメンテナンスモードをすばやく入力して安全に終了し、システムの安定性とセキュリティを確保できます。

Linuxの理解:定義されたコアコンポーネントLinuxの理解:定義されたコアコンポーネントMay 01, 2025 am 12:19 AM

Linuxのコアコ​​ンポーネントには、カーネル、シェル、ファイルシステム、プロセス管理、メモリ管理が含まれます。 1)カーネル管理システムリソース、2)シェルはユーザーインタラクションインターフェイスを提供します。3)ファイルシステムは複数の形式をサポートします。4)プロセス管理は、フォークなどのシステムコールを通じて実装され、5)メモリ管理は仮想メモリテクノロジーを使用します。

Linuxの構成要素:主要なコンポーネントが説明しましたLinuxの構成要素:主要なコンポーネントが説明しましたApr 30, 2025 am 12:26 AM

Linuxシステムのコアコンポーネントには、カーネル、ファイルシステム、ユーザースペースが含まれます。 1.カーネルはハードウェアリソースを管理し、基本的なサービスを提供します。 2。ファイルシステムは、データストレージと組織を担当します。 3.ユーザースペースでユーザープログラムとサービスを実行します。

メンテナンスモードの使用:Linuxのトラブルシューティングと修復メンテナンスモードの使用:Linuxのトラブルシューティングと修復Apr 29, 2025 am 12:28 AM

メンテナンスモードは、シングルユーザーモードまたはレスキューモードを介してLinuxシステムに入力される特別な動作レベルであり、システムのメンテナンスと修理に使用されます。 1.メンテナンスモードを入力し、コマンド「sudosystemctlisolaterscue.target」を使用します。 2。メンテナンスモードでは、ファイルシステムを確認して修復し、コマンド「FSCK/DEV/SDA1」を使用できます。 3.高度な使用法には、ルートユーザーパスワードのリセット、ファイルシステムの読み取りモードと書き込みモードのマウント、パスワードファイルの編集が含まれます。

Linuxメンテナンスモード:目的の理解Linuxメンテナンスモード:目的の理解Apr 28, 2025 am 12:01 AM

メンテナンスモードは、システムのメンテナンスと修理に使用され、管理者が簡素化された環境で作業できるようにします。 1。システム修理:破損したファイルシステムとブートローダーを修理します。 2。パスワードリセット:ルートユーザーパスワードをリセットします。 3。パッケージ管理:ソフトウェアパッケージをインストール、更新、または削除します。 GRUB構成を変更するか、特定のキーを使用してメンテナンスモードを入力することにより、メンテナンスタスクを実行した後、安全に終了できます。

Linux操作:ネットワーキングとネットワーク構成Linux操作:ネットワーキングとネットワーク構成Apr 27, 2025 am 12:09 AM

Linuxネットワークの構成は、次の手順で完了できます。1。ネットワークインターフェイスを構成し、IPコマンドを使用して、構成ファイルの永続性設定を一時的に設定または編集します。 2。固定IPを必要とするデバイスに適した静的IPを設定します。 3.ファイアウォールを管理し、iPtablesまたはFirewalldツールを使用してネットワークトラフィックを制御します。

Linuxのメンテナンスモード:システム管理者ガイドLinuxのメンテナンスモード:システム管理者ガイドApr 26, 2025 am 12:20 AM

メンテナンスモードは、Linuxシステム管理において重要な役割を果たし、修復、アップグレード、構成の変更を支援します。 1.メンテナンスモードを入力します。 Grubメニューから選択するか、コマンド「sudosystemctlisolaterscue.target」を使用できます。 2。メンテナンスモードでは、ファイルシステムの修理およびシステムの更新操作を実行できます。 3.高度な使用法には、ルートパスワードのリセットなどのタスクが含まれます。 4.メンテナンスモードに入ったり、ファイルシステムをマウントできないなどの一般的なエラーは、GRUB構成をチェックしてFSCKコマンドを使用して固定できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。