Linux Professional Institute Learning Logo.
main contentにスキップ
  • ホーム
    • 全てのリソース
    • LPI学習教材
    • コントリビューターになる
    • Publishing Partners
    • Publishing Partnerになる
    • About
    • FAQ
    • コントリビューター
    • Roadmap
    • 連絡先
  • LPI.org
2.2 レッスン 1
課題 1: Linuxコミュニティとオープンソースのキャリア
1.1 ポピュラーなOSとLinuxの発展
  • 1.1 レッスン 1
1.2 主なオープンソースのアプリケーション
  • 1.2 レッスン 1
1.3 オープンソースソフトウエアとライセンス
  • 1.3 レッスン 1
1.4 ICTスキルとLinuxでの作業
  • 1.4 レッスン 1
課題 2: Linuxシステムで自分の手法を見つける
2.1 コマンドラインの基本
  • 2.1 レッスン 1
  • 2.1 レッスン 2
2.2 コマンドラインのヘルプ機能の利用
  • 2.2 レッスン 1
2.3 ディレクトリの利用とファイルの一覧
  • 2.3 レッスン 1
  • 2.3 レッスン 2
2.4 ファイルの作成、移動と削除
  • 2.4 レッスン 1
課題 3: コマンドラインの力
3.1 コマンドラインでのファイル圧縮
  • 3.1 レッスン 1
3.2 ファイルの検索と展開
  • 3.2 レッスン 1
  • 3.2 レッスン 2
3.3 コマンドをスクリプトにする
  • 3.3 レッスン 1
  • 3.3 レッスン 2
課題 4: Linuxオペレーティングシステム
4.1 オペレーティングシステムの選択
  • 4.1 レッスン 1
4.2 コンピュータハードウエアの理解
  • 4.2 レッスン 1
4.3 データの保管場所
  • 4.3 レッスン 1
  • 4.3 レッスン 2
4.4 ネットワーク上のコンピュータ
  • 4.4 レッスン 1
課題 5: セキュリティとファイルパーミッション
5.1 セキュリティの基本と、ユーザタイプの確認
  • 5.1 レッスン 1
5.2 ユーザとグループの作成
  • 5.2 レッスン 1
5.3 ファイルのパーミッションと所有権の管理
  • 5.3 レッスン 1
5.4 特別なディレクトリとファイル
  • 5.4 レッスン 1
How to get certified
  1. 課題 2: Linuxシステムで自分の手法を見つける
  2. 2.2 コマンドラインのヘルプ機能の利用
  3. 2.2 レッスン 1

2.2 レッスン 1

Certificate:

Linux Essentials

Version:

1.6

Topic:

2 Linuxでのやり方を見つける

Objective:

2.2 コマンドラインでヘルプを見る

Lesson:

1 of 1

はじめに

コマンドラインは、非常に複雑なツールです。コマンドにはそれぞれ独自のオプションがあるので、Linuxシステムで作業する場合はドキュメントが重要です。多くのドキュメントが保存されている /usr/share/doc/ ディレクトリの他にも、さまざまなツールがLinuxコマンドの利用に関する情報を提供しています。このレッスンでは、ヘルプを見るために、さまざまなドキュメントにアクセスする方法を説明します。

Linuxコマンドラインでヘルプを参照するには、 man 、 help 、 info などのコマンドをはじめ、さまざまな方法があります。Linux Essentialsの場合、 man コマンドと info コマンドがヘルプを取得するために最も一般的に使用するツールであるため、これらに焦点を当てます。

この章のもう一つのトピックは、ファイルの検索です。主に locate コマンドを使います。

コマンドラインでヘルプを見る

組み込まれたヘルプ

ほとんどのコマンドは、--help オプションを最初に指定すると、コマンドの使用方法に関する簡単な説明を表示します。すべてのコマンドがこのオプションを提供しているわけではありませんが、コマンドのパラメーターについて学ぶための最初のステップとして適当です。--help による説明は、このレッスンの残りの部分で説明する他のドキュメントの内容に比較して、かなり簡略化されていることに注意しましょう。

Man(マン)ページ

ほとんどのコマンドは、man(マン)ページと呼ばれるマニュアルを提供しています。このドキュメントは通常、ソフトウェアと共にインストールされ、 man コマンドでアクセスできます。 manページを表示したいコマンド名を、 man コマンドの引数に指定します。

$ man mkdir

このコマンドは、 mkdir コマンドのmanページを開きます。上下の矢印キーまたはスペースキーを使用して、manページを移動できます。manページを終了するには、 Q を押します。

それぞれのmanページは、最大で11のセクションに分かれていますが、これらのセクションの多くは必須ではありません。

セクション 説明

NAME(名前)

コマンド名と概要

SYNOPSIS(要約)

コマンド書式の説明

DESCRIPTION(説明)

コマンドの効用(動作内容)の説明

OPTIONS(オプション)

使用可能なオプション

ARGUMENTS(引数)

使用可能な引数

FILES(ファイル)

関連するファイル

EXAMPLES(例)

コマンドラインでの使用例

SEE ALSO(参考)

関連するトピックへの参照

DIAGNOSTICS(診断)

警告やエラーメッセージ

COPYRIGHT(著作者)

コマンドの作者

BUGS(バグ)

既知のバグや制限

実際の所、ほとんどmanページにすべての項目が含まれているわけではありません。

manページは、主に1〜8の8つのカテゴリー(セクション)に分類されています。

セクション番号 説明

1

一般ユーザー用のコマンド

2

システムコール

3

C言語ライブラリの関数

4

デバイスなどの特殊ファイル

5

設定ファイルとその書式

6

ゲーム

7

その他の内容

8

システム管理者用のコマンド

9

カーネル関数(非標準)

それぞれのmanページは、1つのセクションに属します。ただし、複数のセクションに同じ名前のmanページが存在することがあります。例として passwd コマンドを見てみましょう。このコマンドを使用すると、ユーザーのパスワードを変更できます。 passwd は一般ユーザー用のコマンドなので、そのmanページはセクション1にあります。 passwd コマンドに加えて、パスワードデータベースファイル /etc/passwd にも passwd という名前のmanページがあります。このファイルは設定ファイルであるため、セクション5に属します。manページを参照する場合、それぞれのmanページを区別するために、 passwd(1) や passwd(5) のように、カテゴリをmanページの名前の後に追記します。

デフォルトでは、 man passwd は利用できる最初のmanページを表示します。この場合は passwd(1) です。見たいmanページのカテゴリを、 man 1 passwd や man 5 passwd のようにコマンドで指定できます。

manページをナビゲートする方法とコマンドラインに戻る方法をすでに説明しました。内部的に、man は less コマンドを使用して、manページの内容を表示します。 less を使用すると、manページ内のテキストを検索できます。 linux という単語を検索するには、ページ上の現在の位置から /linux で前方検索するか、 ?linux で後方検索を開始します。この操作で、一致するすべての結果が強調表示され、最初に強調表示された箇所にページが移動します。どちらの場合も、Nを入力して次の一致箇所にジャンプできます。これらの機能に関する詳細情報を見るには、Hを押してすべての情報を含むメニューを表示します。

Infoページ

Linuxシステムでの作業中に役立つもう1つのツールは、infoページです。infoページは通常、manページよりも詳細で、インターネット上のWebページと同様にハイパーテキストで編成されています。

以下の方法で、infoページを表示できます:

$ info mkdir

infoコマンドは、それぞれのノードを木構造に構造化した、infoページごとのファイルを読み取ります。各ノードには単純なトピックが含まれており、infoコマンドはあるノードから別のノードに移動するためのハイパーリンクを処理します。行頭のアスタリスクの1つにカーソルを置いてEnterキーを押すと、リンク先にアクセスできます。

man と同様に、info ツールにもページナビゲーションコマンドがあります。infoページで ? を押すと、これらのコマンドの詳細を確認できます。ページをナビゲートするだけではなく、ノードにアクセスしたり、ノードツリー内を移動するツールが備えられています。

/usr/share/doc/ ディレクトリ

前に述べたように、 /usr/share/doc/ ディレクトリに、システムが使用しているコマンドのほとんどのドキュメントが保存されています。このディレクトリには、システムにインストールされているほとんどのパッケージ毎のディレクトリが含まれています。通常、ディレクトリの名前はパッケージの名前と同じであり、そのバージョンが含まれていることもあります。それぞれのディレクトリには、パッケージの最も基本的なドキュメントである README または readme.txt ファイルが含まれています。フォルダーには、 README ファイルだけでなく、プログラムの詳細な更新履歴を含むcangelogや、パッケージの構成ファイル例などのドキュメントファイルが含まれていることもあります。

README ファイルの内容はパッケージごとに異なります。すべてのファイルはプレーンテキストで書かれているので、好みのテキストエディターで読み取ることができます。ファイルの数や種類は、パッケージによって異なります。いくつかのディレクトリをチェックして、それらの内容を概観しておきましょう。

ファイルを探す

locate コマンド

Linuxシステムは、多数のディレクトリとファイルから構築されています。 Linuxには、システムから特定のファイルを見つけるための多くのツールがあります。最も速いのは locate コマンドです。

locate はデータベースを検索して、指定の文字列に一致するすべての名前を出力します。

$ locate note
/lib/udev/keymaps/zepto-znote
/usr/bin/zipnote
/usr/share/doc/initramfs-tools/maintainer-notes.html
/usr/share/man/man1/zipnote.1.gz

locate コマンドはワイルドカードと正規表現をサポートしているので、検索文字列が目的のファイル名全体と一致する必要はありません。正規表現の詳細については後の章で説明します。

デフォルトでは、 locate はパターンがアスタリスクで囲まれているように動作するため、locate パターン は locate *PATTERN* と同じです。つまり、正確なファイル名ではなく、部分文字列を指定するだけで済みます。この動作は、 locate のmanページで説明されているさまざまなオプションで変更できます。

locate は(ファイル名のリストを)データベースから読み込んでいるため、作成したばかりのファイルが見つからないことがあります。データベースは updatedb という名前のプログラムによって管理されています。通常は定期的に実行されますが、データベースを直ちに更新する必要がある場合は、root権限が必要ですが updatedb コマンドをいつでも実行できます。

find コマンド

find コマンドも、ファイルの検索に使用される非常に人気のあるツールです。 find コマンドは、 locate コマンドとは異なり、サブディレクトリを含むディレクトリツリーを再帰的に検索します。 find は実行のたびにそのような検索を行い、 locate のようなデータベースを使いません。 locate と同様に、 find もワイルドカードと正規表現をサポートしています。

find では、検索の起点となるパスを指定します。さらに、表示するファイルのフィルター条件を、式を使って指定できます。たとえば、 -name 式は指定した名前のファイルを検索します。

~$ cd Downloads
~/Downloads
$ find . -name thesis.pdf
./thesis.pdf
~/Downloads
$ find ~ -name thesis.pdf
/home/carol/Downloads/thesis.pdf

最初の find コマンドは現在の Downloads ディレクトリ内のファイルを検索し、2番目のコマンドはユーザーのホームディレクトリ内のファイルを検索します。

find コマンドは非常に複雑であるため、Linux Essentials試験では取り上げませんが、現場では特に便利で強力なツールです。

演習

  1. man コマンドを使って、以下のコマンドのドキュメントを参照してみましょう:

    コマンド 説明

    ls

    ディレクトリの中身をリスト表示する

    cat

    cut

    cd

    cp

    mv

    mkdir

    touch

    wc

    passwd

    rm

    rmdir

    more

    less

    whereis

    head

    tail

    sort

    tr

    chmod

    grep

  2. ls のinfoページを開いて、メニューを表示しましょう。

    • どのようなオプションがありますか?

    • 更新時刻で並び替えるオプションは何ですか?

  3. man コマンドで locate コマンドオプションを調べて、最初の3つの README ファイルのみを表示してみましょう。

  4. ホームディレクトリに test と言うファイルを作成しましょう。 locate コマンドで、その絶対パスを表示しましょう。

  5. すぐに表示できましたか? locate コマンドで見つかるようにするには、何をすればよいですか?

  6. find コマンドを使って、先ほど作った testファイルを探してみましょう。どのような書式が必要でしょうか? また、絶対パスは何でしたか?

発展演習

  1. 実は、上記の表(manページを参照する問題)には、 man ページがないコマンドが1つだけあります。それがどれで、なぜマニュアルがないと考えますか?

  2. 上記の表を見ながら、次に示すファイル構造を作ってみましょう。大文字で始まる名前はディレクトリで、小文字で始まる名前はファイルとします。

    User
    ├── Documents
     |   ├──Hello
     |   |   ├──hey2
     |   |   ├──helloa
     |   |   └──ola5
     |   └──World
     |       └──earth9
     ├── Downloads
     |   ├──Music
     |   └──Songs
     |       ├──collection1
     |       └──collection2
     ├── Test
     |   └── passa
     └── test
  3. サブディレクトリを含めて、現在の作業ディレクトリ以下を画面に表示してみましょう。

  4. 木構造から、名前が数字で終わるファイルをすべて探してみましょう。

  5. 1つのコマンドでディレクトリ全体を削除するにはどうしますか?

まとめ

このレッスンでは、以下の事柄を学習しました:

  • ヘルプの見方

  • man コマンドの使い方

  • man コマンドの操作方法

  • man ページにおけるセクションの相違

  • info コマンドの使い方

  • ノード間を行き来する方法

  • システムからファイルを探す方法

演習で使用したコマンド:

man

manページを表示する。

info

infoページを表示する。

locate

指定した名前を持つファイルを、locate データベースから検索する。

find

一連の選択要件に一致する名前を、ファイルシステムから検索する。

updatedb

locate データベースを更新する。

演習の解答

  1. man コマンドを使って、以下のコマンドのドキュメントを参照してみましょう:

    コマンド 説明

    ls

    ディレクトリの中身をリスト表示する

    cat

    テキストファイルを連結して出力する

    cut

    テキストファイルから選択部分を取り除く

    cd

    作業ディレクトリを変更する

    cp

    ファイルをコピーする

    mv

    ファイルを移動する(名前の変更にも用いる)

    mkdir

    新しいディレクトリを作成する

    touch

    ファイルを作成する、ないしは、既存のファイルの更新時刻を変更する

    wc

    ファイルのワード数、行数、文字数をカウントする

    passwd

    ユーザーのパスワードを変更する

    rm

    ファイルを削除する

    rmdir

    ディレクトリを削除する

    more

    テキストファイルを1画面ずつ表示する

    less

    テキストファイルを表示し、行ないしページ単位で上下にスクロールする

    whereis

    指定したプログラムとそのマニュアルのパスを表示する

    head

    ファイルの最初の数行を表示する

    tail

    ファイルの最後の数行を表示する

    sort

    ファイルを数値順ないしアルファベット順に並べ替える

    tr

    ファイルの文字を変換する、ないしは削除する

    chmod

    ファイルのパーミッションを変更する

    grep

    ファイルの内容を検索する

  2. ls のinfoページを開いて、メニューを表示しましょう。

    • どのようなオプションがありますか?

      • どのファイルをリストするか

      • 何の情報をリストするか

      • 出力順の並び替え

      • バージョンによる並び替え

      • 出力の書式

      • ファイルのタイムスタンプの出力形式

      • ファイル名の出力形式F

    • 更新時刻で並び替えるオプションは何ですか?

      -t ないし --sort=time

  3. man コマンドで locate コマンドオプションを調べて、最初の3つの README ファイルのみを表示してみましょう。

    $ locate -l 3 README
    /etc/alternatives/README
    /etc/init.d/README
    /etc/rc0.d/README
  4. ホームディレクトリに test と言うファイルを作成しましょう。 locate コマンドで、その絶対パスを表示してみましょう。

    $ touch test
    $ locate test
    /home/user/test
  5. すぐに表示できましたか? locate コマンドで見つかるようにするには、何をすればよいですか?

    $ sudo updatedb

    作成されたばかりのファイルは、データベースに記録されていません。

  6. find コマンドを使って、先ほど作った testファイルを探してみましょう。どのような書式が必要でしょうか? また、絶対パスは何でしたか?

    $ find ~ -name test

    または

    $ find . -name test
    /home/user/test

発展演習の解答

  1. 実は、上記の表(manページを参照する問題)には、 man ページがないコマンドが1つだけあります。それがどれで、なぜマニュアルがないと考えますか?

    cd コマンドです。このコマンドは、シェルの組み込みコマンドなので、manページがありません。

  2. 上記の表を見ながら、次に示すファイル構造を作ってみましょう。大文字で始まる名前はディレクトリで、小文字で始まる名前はファイルとします。

    User
    ├── Documents
     |   ├──Hello
     |   |   ├──hey2
     |   |   ├──helloa
     |   |   └──ola5
     |   └──World
     |       └──earth9
     ├── Downloads
     |   ├──Music
     |   └──Songs
     |       ├──collection1
     |       └──collection2
     ├── Test
     |   └── passa
    └── test

    mkdir コマンドと touch コマンドを使って行います。

  3. サブディレクトリを含めて、現在の作業ディレクトリ以下を画面に表示してみましょう。

    $ ls -R
  4. 木構造から、名前が数字で終わるファイルをすべて探してみましょう。

    $ find ~ -name "*[0-9]"
    $ locate "*[0-9]"
  5. 1つのコマンドでディレクトリ全体を削除するにはどうしますか?

    $ rm -r Documents Downloads Test test

Linux Professional Insitute Inc. All rights reserved. 学習資料をご覧ください: https://learning.lpi.org
ここでの作成物は、Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Licenseの下でライセンスされています。

次のレッスン

2.3 ディレクトリの利用とファイルの一覧 (2.3 レッスン 1)

次のレッスンを読む

Linux Professional Insitute Inc. All rights reserved. 学習資料をご覧ください: https://learning.lpi.org
ここでの作成物は、Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Licenseの下でライセンスされています。

LPIは非営利団体です。

© 2023 Linux Professional Institute(LPI)は、オープンソースプロフェッショナル向けのグローバルな認定基準およびキャリアサポート組織です。200,000人以上の認定保持者を擁する、世界初かつ最大のベンダー中立Linuxおよびオープンソース認定機関です。LPIは180か国以上で認定プロフェッショナルを擁し、複数の言語で試験を実施し、何百ものトレーニングパートナーを擁しています。

私たちの目的は、オープンソースの知識とスキルの認定資格を世界中からアクセスできるようにすることで、誰にとっても経済的で創造的な機会を可能にすることです。

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • お問い合わせ
  • 個人情報とCookieポリシー

間違いを見つけたり、このページを改善したいですか? 私たちに知らせてください。.

© 1999–2023 The Linux Professional Institute Inc. All rights reserved.