\r\n\r\n
コマンドの解決先がエイリアス、ディスクファイル、シェル関数、組み込みコマンド、予約語であるかどうかを調べることができます。Linuxのコマンドがどのように実行されるかを発見し、システムをより理解するためにtypeを使用してください。
ターミナル・ウィンドウを開いてLinuxコンピュータにコマンドを発行し始めるとき、オペレーティング・システムのどのソフトウェア・コンポーネントがコマンドに反応し、私たちのために実行してくれているかを考えることはほとんどないでしょう。コマンドを打ち込み、結果を得て、仕事に戻る。
これらのコマンドがどのように実行されるかを理解することで、Linuxや他のUnix系OSの構築方法をより良く理解することができます。ボンネットの下を覗けば、私たちはより多くの情報を得ることができます。
私たちがコマンドラインに発行するコマンドは、次のいずれかに分類されます。
typeコマンドは、Linuxのコマンドがどのカテゴリに属しているかを教えてくれます。ここでは、コマンドの出力を理解するための簡単なチュートリアルを紹介します。
それでは、各コマンドのカテゴリーごとに、いくつかの例を簡単にご紹介しましょう。
type datedateコマンドは、実行可能なディスクファイルです。
type lslsコマンドは、基本的なlsコマンドをラップして、デフォルトで-color=autoオプションを使用するようにしたエイリアスである。
type lowdownローダウンコマンドは、この記事を調べるためにコミューターで設定したユーザー定義機能です。一部のシステムリソースのクイックスナップショットを提供します。Whoami、w、free、dfの組み合わせです。
type pwdpwdコマンドはbashshellの組み込みコマンドです。
type elifelifコマンドはbashshellの予約語です。
一度に複数のコマンドを入力して、識別することができます。
type date top lsこの型が受け入れるオプションには、どれも名前がありません。だから、自分たちで芳名帳を取り出して名前をつければいいんです。tオプションは「concise」の略だと思えば、間違いではありません。型どおりの回答から、一字一句の回答まで減らすことができるのです。
type -t date type -t pwd type -t lowdownこれを「All」オプションと呼ぶことにしましょう。コマンドのある場所をすべてリストアップします。このオプションは、-pオプションも使用されている場合は機能しませんのでご注意ください。
たとえば、ベース・コマンドと同じ名前のエイリアスがある場合、そのエイリアスとコマンドの情報を取得することができます。
type -a lsf オプションは、ユーザーまたはシステムで定義された関数を検索しないよう強制します。このオプションは、「機能検索オフ」と考えてください。なお、コマンドが関数である場合、typeはコマンドが見つからないと報告します。
type -f top type -f lowdownPオプションを使用すると、typeは$PATHにあるディレクトリのみを検索します。そこで、このオプションを "パス" と呼び、このオプションでは大文字の "P" が使われていることに注意する必要があります。
type -P date chmod adduserp オプションを使用すると、type はコマンドがハードディスクのファイルである場合にのみ応答します。
type -p mount type -p ls type -p -a lsタイプは ls に対して何の反応も示さない。ls はエイリアスであって、ディスクファイルではないからである。
しかし、-aオプションを付けて、lsコマンドのすべてのインスタンスを検索するようにすると、lsエイリアスが使用する基礎となるディスク・ファイルがリストアップされます。
シンプルでいいのですが、それだけに感動的です。
私たちは、ターミナルウィンドウに入力するものをすべて「コマンド」と考え、それを保持しがちです。しかし、実際には、Linuxにおけるコマンドの実装方法はさまざまである。タイピングすると、それがどれなのかがわかる。