\r\n\r\n

linuxのmanコマンドの使い方:隠された秘密と基礎知識

リナックスについて知るべきことは、すべてそのマニュアルページに書かれています。例えば、あるタスクを完了するためのコマンドを、その名前が分からなくても検索することができます。でも、どうやってmanページを見つけるのでしょうか?ここで、いくつかのヒントを・・・。

Linuxについて知るべきことは、すべてそのマニュアルページに書かれています。例えば、あるタスクを完了するためのコマンドを、その名前が分からなくても検索することができます。でも、どうやってmanページを探すんだ?ここでは、そのヒントを紹介します。

リナックス用ビルトインマニュアル

古い(Unixの黄金時代の)Linuxのジョークに、知るべきコマンドはユーザーマニュアルへのシステムエントリ・ポイントであるmanだけだ、というのがあります。これには少し真実味があるのですが、男性でも最初は戸惑うことがあります。正確には、必要な情報を探すのに混乱することがあります。

やりたいことは分かっても、その課題をクリアするための順番の名前が分からないということはありませんか?おそらく、誰もが経験したことがあるはずです。知らない単語を辞書で調べるようなものです。

さて、どうやって自分の探しているものを見つけるのか? まあ、男のジレンマを解決する方法はたくさんあります。

この数字もまた、新たな課題である。どんなものですか?どういう意味ですか?ドキュメントやインターネット上で、man (2) や man (5) のようなリファレンスを目にすることでしょう。mount(2)、mount(8)など、数字が続くコマンドの参照を見ることができます。確かにマウントコマンドは1つだけではありませんね。後述するように、この数字は重要であり、比較的単純なものである。

簡単に言うと、何をすればいいのかがわかれば、人間の内部を見るのはとても簡単なのです。実は、人間の内部を検索し、ナビゲートする巧妙な方法があるのです。火をつけて見てみよう!

関連:知っておきたいLinuxの重要コマンド37選

パンフレットの開き方

manを使うには、manの後にスペースを入れ、コマンドラインでLinuxコマンドを入力します。manはLinuxマニュアルの「マニュアルページ」を開き、もちろんそのコマンドが見つかれば、そのコマンドについて説明しています。

男性が男性をどう思っているのか、次のように入力してみましょう。

man man

manのマニュアルページが開きます。

見ての通り、これはman(1)のページです。

以下の手順に従って、ページを移動してください。

  • マニュアルを1ページずつ移動する場合は、マウスのスクロールホイール、または上下の矢印とエンターキーを使用します。
  • マニュアルページを1画面ずつ移動するには、スペースキー、PgDn、PgUpキーを押してください。
  • ハンドブックページの先頭または末尾に直接移動するには、HomeキーとEndキーを押してください。

Hキーを押すと、ヘルプセクションに移動し、使用できる代替キーストロークのリストが表示されます。上に挙げたものは、おそらく多くの人にとってより自然に感じられるでしょう。

manを終了するには、Qを押すだけです。

パンフレットのページ構成

ページの上部には、「名前」と「概要」という見出しが表示されています。マニュアルのページのレイアウトには慣例があります。コマンド、プロシージャ、プログラミング機能(ライブラリルーチン)のマニュアルページがあります。これらの見出しは、特定の種類のコマンドにのみ適用されるものもあるため、すべてのマニュアルのページに表示されるわけではありません。

以下のような見出しを目にすることがあります。

  • 名前:マニュアルページで説明されているコマンドの名前です。
  • 概要:コマンドの概要とそのシンタックス。
  • Configuration: デバイスの構成詳細。
  • 説明:プログラムの機能を説明する。
  • オプション: コマンドが受け付けるコマンドラインオプションの説明。
  • 終了ステータス:コマンドで使用可能な終了ステータスの値とその理由を示します。
  • 戻り値:マニュアルページがライブラリルーチンの場合、ライブラリルーチンがそのルーチンを呼び出した関数の値を送り返すことができることを意味します。
  • Errors: エラーが発生した場合に errno に入れられる可能性のある値のリスト。
  • 環境:コマンドやプログラムに影響を与える環境変数のリストで、どのような方法で影響を与えるかを示します。
  • ファイル:設定ファイルなど、コマンドやプログラムで使用されるファイルのリスト。
  • プロパティ:コマンドの各種プロパティの概要です。
  • バージョン:そのシステムコールやライブラリ関数が初めて登場した、あるいは以前のバージョンから大きく変化したLinuxカーネルやライブラリのバージョンの詳細です。
  • 適合性:コマンドが POSIX などの標準に適合している可能性があることを示す説明。
  • 備考:雑記。
  • バグ:既知の問題です。
  • 例:コマンドの使用方法を示す1つまたは複数の例。
  • 著者:注文書を書いたり、管理したりする人。
  • 関連項目: コマンドやトピックに関連するおすすめの本。

メンズデー

数ページ下にスクロールすると、マニュアルの章立てのリストが表示されます。

これらのセクションは

  1. 一般コマンド:コマンドラインで使用するコマンド。
  2. システムコール:カーネルが提供するプログラムから呼び出すことができる関数。
  3. ライブラリ関数:プログラムはコードベース内から関数(主にC言語標準)を呼び出すことができる。
  4. 特殊ファイル:通常はデバイス(/devにあるものなど)とそのドライバ。
  5. ファイル形式と規約:passwd、cron テーブル、tar アーカイブファイルなどのファイル形式。
  6. ゲーム:fortuneなどのコマンドを実行すると、データベースに引用符が表示される説明。
  7. その他:inode、ブートパラメータ、man自体の説明。
  8. システム管理:通常rootユーザが使用するコマンドやデーモン。
  9. カーネルルーチン:カーネルの内部動作に関連する情報。例えば、デバイスドライバを書くプログラマに便利な関数インタフェースや変数などがこれにあたります。ほとんどのシステムで、このセクションはインストールされていません。

コマンドの後に数字が続く場合、マニュアルのそのセクションにあるそのコマンドの説明を指します。例えば、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 man

manの2つのマニュアルページをセクション番号と簡単な説明とともにリストアップしています。

例えば、次のように入力します。

man -f printf

printfのエントリーが2つ見つかったようです。ただし、これらは別のコマンドです。最初のセクションのマニュアルページでは、ターミナルウィンドウの出力をフォーマットするコマンドラインprintfコマンドについて説明されています。第3節のマニュアルページでは、C言語によるprintfライブラリ関数群について解説しています。

また、ページタイトルだけでなく、短い説明文を検索することも可能です。そのために、-k(apropos)オプションを使用することができます。これは、検索語が他の長い単語で出現する場合にも一致します。

以下のように入力します。

man -k printf

vprintfのマニュアルでは、上図に示した10個のコマンドの機能を説明しています。

使用するコマンドの名前が分からなくても、この機能を使えば、達成しようとする目標に関連する情報を検索することができます。

例えば、ユーザーアカウントのパスワードを変更したいとします。manページのタイトルや説明文に「user」と記載されているコマンドを検索することができます。次に、"password "を含むエントリーをgrepで探します。

そのために、次のように入力します。

man -k 'user ' | grep password

user "という単語を一重引用符で囲み、最後にスペースを入れているため、"user "にのみマッチし、"users "にはマッチしないのです。".検索結果を見てみると、passwdが有力であることがわかる。

マニュアルページの最初のセクションなので、コマンドにセクション番号を含める必要はないので、次のように入力します。

man passwd

例えば、テキストファイルの単語数を数えるコマンドが必要だとすると、次のように入力して、同様の状況が存在するかどうかを確認します。

man -k word | grep count

ワードカウンティングのすべてを知るには、次のコマンドを入力します。

man wc

wcといえば、-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キーを押します。

素敵なパンフレットを読む

マニュアルページには豊富な情報が掲載されています。よく知っているつもりのコマンドでも、きっと聞いたことのないオプションがあるはずです。

また、知らなかったコマンドもきっと見つかるはずです。情報を検索したり追跡したりする方法は実にさまざまで、指先で操作できるのは恐ろしいほどです。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ