\r\n\r\n
Linuxについて知るべきことは、すべてそのマニュアルページに書かれています。例えば、あるタスクを完了するためのコマンドを、その名前が分からなくても検索することができます。でも、どうやってmanページを探すんだ?ここでは、そのヒントを紹介します。
古い(Unixの黄金時代の)Linuxのジョークに、知るべきコマンドはユーザーマニュアルへのシステムエントリ・ポイントであるmanだけだ、というのがあります。これには少し真実味があるのですが、男性でも最初は戸惑うことがあります。正確には、必要な情報を探すのに混乱することがあります。
やりたいことは分かっても、その課題をクリアするための順番の名前が分からないということはありませんか?おそらく、誰もが経験したことがあるはずです。知らない単語を辞書で調べるようなものです。
さて、どうやって自分の探しているものを見つけるのか? まあ、男のジレンマを解決する方法はたくさんあります。
この数字もまた、新たな課題である。どんなものですか?どういう意味ですか?ドキュメントやインターネット上で、man (2) や man (5) のようなリファレンスを目にすることでしょう。mount(2)、mount(8)など、数字が続くコマンドの参照を見ることができます。確かにマウントコマンドは1つだけではありませんね。後述するように、この数字は重要であり、比較的単純なものである。
簡単に言うと、何をすればいいのかがわかれば、人間の内部を見るのはとても簡単なのです。実は、人間の内部を検索し、ナビゲートする巧妙な方法があるのです。火をつけて見てみよう!
関連:知っておきたいLinuxの重要コマンド37選
manを使うには、manの後にスペースを入れ、コマンドラインでLinuxコマンドを入力します。manはLinuxマニュアルの「マニュアルページ」を開き、もちろんそのコマンドが見つかれば、そのコマンドについて説明しています。
男性が男性をどう思っているのか、次のように入力してみましょう。
man manmanのマニュアルページが開きます。
見ての通り、これはman(1)のページです。
以下の手順に従って、ページを移動してください。
Hキーを押すと、ヘルプセクションに移動し、使用できる代替キーストロークのリストが表示されます。上に挙げたものは、おそらく多くの人にとってより自然に感じられるでしょう。
manを終了するには、Qを押すだけです。
ページの上部には、「名前」と「概要」という見出しが表示されています。マニュアルのページのレイアウトには慣例があります。コマンド、プロシージャ、プログラミング機能(ライブラリルーチン)のマニュアルページがあります。これらの見出しは、特定の種類のコマンドにのみ適用されるものもあるため、すべてのマニュアルのページに表示されるわけではありません。
以下のような見出しを目にすることがあります。
数ページ下にスクロールすると、マニュアルの章立てのリストが表示されます。
これらのセクションは
コマンドの後に数字が続く場合、マニュアルのそのセクションにあるそのコマンドの説明を指します。例えば、man (1) は、マニュアルの最初のセクションにある man コマンドを説明するエントリーを指します。
上の写真では、人間(7)に言及しています。つまり、人間に関する情報は別のセクションにあるのです。最初にマニュアルページを開くと、man(1)と表示されます。セクション番号を指定せずにmanと入力すると、manはすべてのセクションを検索して、入力されたコマンドのエントリーを見つけます。もちろん、人間(7)よりも先に人間(1)を見つける。
man に特定のセクションからのエントリを検索させたい場合は、コマンドラインにセクション番号を含める必要があります。
例えば、次のように入力すると、セクション7のmanエントリーが開きます。
man 7 manパンフレットの応募は第7部までです。
このマニュアルページでは、マニュアルページの書き方について説明します。ファイルフォーマットや、一部の作業に使用するマクロについて説明しています。先ほど第1節で見たman (1)のページには、man自体の使い方が書かれています。
通常、コマンドの使い方を知りたいだけであれば、セクション番号を指定する必要はありません。このコマンドの使い方は、マニュアルの最初のセクションにある標準的な項目を参照することができます。しかし、時には異なる情報を必要とするため、特定のセクションでコマンドエントリーを開くことが確かに必要です。
マニュアルのどの部分にコマンドの項目があるのか、簡単に見つけることができます。各マニュアルページにはタイトルと短い説明があります。f (whatis) オプションはページのタイトルを検索し、一致するエントリのリストを返します。
この例では、次のように入力します。
man -f manmanの2つのマニュアルページをセクション番号と簡単な説明とともにリストアップしています。
例えば、次のように入力します。
man -f printfprintfのエントリーが2つ見つかったようです。ただし、これらは別のコマンドです。最初のセクションのマニュアルページでは、ターミナルウィンドウの出力をフォーマットするコマンドラインprintfコマンドについて説明されています。第3節のマニュアルページでは、C言語によるprintfライブラリ関数群について解説しています。
また、ページタイトルだけでなく、短い説明文を検索することも可能です。そのために、-k(apropos)オプションを使用することができます。これは、検索語が他の長い単語で出現する場合にも一致します。
以下のように入力します。
man -k printfvprintfのマニュアルでは、上図に示した10個のコマンドの機能を説明しています。
使用するコマンドの名前が分からなくても、この機能を使えば、達成しようとする目標に関連する情報を検索することができます。
例えば、ユーザーアカウントのパスワードを変更したいとします。manページのタイトルや説明文に「user」と記載されているコマンドを検索することができます。次に、"password "を含むエントリーをgrepで探します。
そのために、次のように入力します。
man -k 'user ' | grep passworduser "という単語を一重引用符で囲み、最後にスペースを入れているため、"user "にのみマッチし、"users "にはマッチしないのです。".検索結果を見てみると、passwdが有力であることがわかる。
マニュアルページの最初のセクションなので、コマンドにセクション番号を含める必要はないので、次のように入力します。
man passwd例えば、テキストファイルの単語数を数えるコマンドが必要だとすると、次のように入力して、同様の状況が存在するかどうかを確認します。
man -k word | grep countワードカウンティングのすべてを知るには、次のコマンドを入力します。
man wcwcといえば、-k(apropos)オプションとピリオド(.)を検索対象にすると、全てにマッチします。wcで-l(ラインズ)オプションを使うと、コンピュータ上にマニュアルが何ページあるか教えてくれる。
これらの動作をすべて行うには、次のコマンドを入力します。
man -k . | wc -lこのUbuntuコンピュータには6706のマニュアルページがありますが、あなたのマニュアルページの数字が違っても驚かないでください。お使いのパソコンにインストールされているパッケージやユーティリティ、マニュアルページによって異なる場合があります。
また、マニュアルページでは、現在位置から前方または後方に検索することができます。
この例では、次のように入力すると、historyコマンドのマニュアルページが表示されます。
man history前方検索するには、フォワードスラッシュ(/)を押してから、「イベント」と入力します。ターミナルウィンドウの下部に検索対象が表示されますので、Enterキーを押して検索を開始します。
このウィンドウには、見つかったすべてのマッチの最初の結果がハイライト表示されます。
n "を押すと、ある結果から別の結果へ、ページの一番下へ移動します。マニュアルページをさかのぼって検索する場合は、「N」を押してください。
ハイライトのオン/オフを切り替えるには、Esc+Uキーを押します。
マニュアルページの下部付近で、上方向に検索したい場合は、クエスチョンマーク(?)を押して、検索語を入力してください。ここでは、"entry "を検索しました。
この場合も、一致する結果はすべてハイライト表示されます。
次の一致を検索する場合は、「n」を押してハンドブックのページの先頭に移動します。「N」を押して前の一致に移動し、ハンドブックのページの末尾に移動します。
マニュアルページを検索する方法には、検索語と一致しない行をすべて非表示にする方法もありますので、行番号を利用するとよいでしょう。
N "と入力してEnterキーを押すと、マニュアルページの行番号が表示されます。
私たちは、アンパサンド(&)を押し、検索語(数字)を入力し、Enterキーを押します。
検索項目を含む行のみが表示されます。
これらを閲覧すれば、面白いものが簡単に見つかります。292行目は期待できそうだと思ったので、ハンドブックページのその部分をめくって確認してみようと思いました。
もう一度すべての行を表示するには、記号(&)を押したあと、Enterキーを押してください。
その行に "292"、そして "g "と入力するのです。
g "を入力すると、292行目に移動します(上の写真で "g "が表示されないのはこのためです)。すると、ターミナルウィンドウの上部に292行目が表示されます。
行番号を削除するには、"-n "を押してEnterキーを押します。
マニュアルページには豊富な情報が掲載されています。よく知っているつもりのコマンドでも、きっと聞いたことのないオプションがあるはずです。
また、知らなかったコマンドもきっと見つかるはずです。情報を検索したり追跡したりする方法は実にさまざまで、指先で操作できるのは恐ろしいほどです。