今のところ、私はそのような情報の断片を経験からのみ見つけました。
-
を使用してSTDINを明示的に指定することはでき、どちらの方法も同等です。 cat
は、ファイル名をcat filename
として受け入れることもできます。では、-
は、ファイル名に想定される引数を入力することを意味しますか?この-
の使用法は、他のコマンドでも一般的ですか?chardet <<<somestring
で、<<<
は、echo somestring | chardet
と同じように、文字列がstdinとして使用されることを意味します。この<<<
の使用法も一般的ですか?cut -c 1-3,20,25- employees
で、引数の数値の範囲を指定する1-3,20,25-
の方法は、他のコマンドでも一般的ですか?基本的な使用法を学び、いくつかの高度な機能を理解するために、UNIXまたはLinuxシェルとコマンドラインの使用法に関する本を読むことをお勧めします。次に、リファレンスドキュメントに目を向けることができます。
特定のコマンドの使用法は、マニュアルに記載されています。 man cat
は、システムのcat
コマンドのマニュアルを表示します。マニュアルページは通常、チュートリアルではなくリファレンスですが、多くの場合、例が含まれています。 Linuxでは、cat --help
は簡潔な使用法メッセージを表示します(基本をすでに理解していて、特定のタスクのオプションを見つけたい場合は、すばやく読むことができます)。
[〜#〜] posix [〜#〜] 標準は、すべてのUNIXシステムがサポートすることになっているコマンド、オプション、およびシェル機能の最小セットを指定します。現在のほとんどのシステムは、大まかにサポートしています POSIX:2004 (SingleUNIXバージョン3およびOpenGroup Base Specification issue 6とも呼ばれます)。 [〜#〜] gnu [〜#〜] ソフトウェア(Linuxにあるユーティリティ)には、この最小セットに対して多くの拡張機能があることがよくあります。
コマンドライン引数には一般的な規則があります。 POSIXは、特に次のように、ほとんどのユーティリティが従う ユーティリティ規則 を指定します。
-
とそれに続く1文字で構成されます。 -ab
は-a -b
の省略形です。--
は、オプションの終了を示します。たとえば、rm -- -a
では、-a
はオプションではなく、オペランド、つまり作用するファイルであるため、このコマンドは-a
というファイルを削除します。-
は、入力ファイルが必要な標準入力を表します。これは、出力ファイルが期待される標準出力を表します。GNUユーティリティなども、--name
の形式の「長いオプション」をサポートしています。一部のユーティリティは、一般的な規則に反し、先頭に1つのダッシュが付いた複数文字のオプションを使用します:-name
。
リダイレクトはシェルの機能であるため、シェルのマニュアルに記載されています。文字列を標準入力として使用するための<<<
はksh拡張であり、bashおよびzshでもサポートされています。シェルがサポートしている限り、どのコマンドでも使用できます。
O'riellyによる一言で言えばUnixを調べるか、単にbashチュートリアルをグーグルで調べることをお勧めします。
Bashは別名BourneAgainShellです。
私が正しく覚えていれば、他のシェルはSH、CSH、およびKSHでした。 CSHはCに基づいています。
また、CとPerlまたはPythonを学ぶことをお勧めします。これらは、物事を大幅にスピードアップするのに役立ちます。
つまり、-はファイル名に想定される引数を入力することを意味しますか?
はい。
この使用法は-他のコマンドでも一般的ですか?
いくつかの標準があるかどうかはよくわかりませんが、いくつかのGNUツール(例:tar)はこの目的のために-を使用します。
カット-c1-3,20,25-従業員では、引数の数値の範囲を指定する方法1-3,20,25-は、他のコマンドでも一般的ですか?
当たり前のようです。ほとんどのGNUツールでこれを使用できると確信しています-それらはほとんど同じ規則に従っていますが、GNU以外のツールについてはマニュアルを確認します。