Linux では、パイプ文字は「|」で、主に 2 つ以上のコマンドを結合し、1 つのコマンドの出力を次のコマンドの入力として使用するために使用されます。構文は「command1 | command2」です。 [ | commandN... ]" の場合、「|」文字の左側にあるコマンドの出力が、「|」文字の右側にあるコマンドの入力として使用されます。パイプ文字は連続して使用でき、最初のコマンドの出力は 2 番目のコマンドの入力として使用され、2 番目のコマンドの出力は 3 番目のコマンドの入力として使用されます。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
シェルには、2 つ以上のコマンド (プログラムまたはプロセス) を接続し、1 つのコマンドの出力を次のコマンドの入力として使用する機能もあります。コマンドはパイプラインを形成します。
Linux パイプでは、垂直バー |
を使用して複数のコマンドを接続します。これはパイプ文字と呼ばれます。
command1 | command2 command1 | command2 [ | commandN... ]
2 つのコマンドの間にパイプを設定すると、パイプ記号 | の左側のコマンドの出力が右側のコマンドの入力になります。最初のコマンドが標準出力に書き込み、2 番目のコマンドが標準入力から読み取る限り、2 つのコマンドはパイプを形成できます。ほとんどの Linux コマンドを使用してパイプを形成できます。
パイプ文字は連続して使用できます。最初のコマンドの出力は 2 番目のコマンドの入力として使用され、2 番目のコマンドの出力は 3 番目のコマンドの入力として使用されます。すぐ。
ここで、command1 には正しい出力が必要であり、command2 は command2 の出力結果を処理できなければならず、command2 は正しい出力結果のみを処理できることに注意してください。 command1 のエラーメッセージを処理するのではなく、command1 の結果を出力します。
例: hello.sh ファイルを並べ替え、並べ替えと重複排除を行った後、「better」を含む行を見つけます。
コマンドは次のとおりです。 : cat hello.sh | sort | uniq | grep 'better'
- テキストの表示
- Sort
- Deduplication
- Filter
[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 サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

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