Linux more コマンド:ファイルスクロール

LinuxBeginner
オンラインで実践に進む

はじめに

この実験では、Linuxで巨大なテキストファイルを閲覧・操作するための便利なツールである more コマンドについて学習します。システム管理者やデータアナリストとして作業していると、一度にすべてを表示するのが現実的ではない巨大なログファイルやデータセットに遭遇することがよくあります。more コマンドを使用すると、これらのファイルを効率的にスクロールできるため、Linuxツールキットにおける必須スキルとなります。

あなたは気象観測所のジュニアデータアナリストです。過去1年間の気象情報を含む巨大なデータセットを調査する任務を負っています。ファイルが大きすぎて一度にすべてを表示できないため、more コマンドを使用して効果的にファイル内をナビゲートします。

気象データファイルの場所を確認する

まず、気象データファイルがどこにあるかを確認しましょう。プロジェクトディレクトリ内にあるはずです。

  1. ターミナルを開きます。デフォルトでは /home/labex/project ディレクトリにいるはずです。もし現在地が不明な場合は、pwd コマンドを使用して現在のディレクトリを確認できます。

  2. ディレクトリの内容をリスト表示します。

    ls
    

    リストの中に weather_data.txt という名前のファイルがあるはずです。

もし weather_data.txt ファイルが見当たらない場合でも心配はいりません。別のディレクトリにいる可能性があります。その場合は、プロジェクトディレクトリに移動してください。

cd /home/labex/project

その後、再度 ls を使用して内容をリスト表示します。

more コマンドの基本的な使い方

ファイルの場所がわかったので、more コマンドを使って内容を表示してみましょう。

  1. 次のコマンドを入力します。

    more weather_data.txt
    
  2. 気象データファイルの最初のページが表示されます。ファイルは一度に1画面ずつ表示されます。

  3. ファイル内を移動する方法:

    • Space キーを押すと、次のページへ移動します。
    • Enter キーを押すと、1行下に移動します。
    • b キーを押すと、前のページに戻ります。
    • q キーを押すと、終了してコマンドプロンプトに戻ります。

これらのナビゲーションコマンドを練習してみましょう。巨大なファイルでは、Enter キーで1行ずつ移動するよりも、Space キーを使ってページ単位で移動する方が効率的であることを覚えておいてください。

誤って more の表示を終了してしまっても問題ありません。more weather_data.txt コマンドを再度実行すれば、いつでもファイルを開き直すことができます。

特定の行から開始する

場合によっては、ファイルの特定の行番号から閲覧を開始したいことがあります。これは、巨大なファイルの特定の箇所に戻る際に特に便利です。

  1. 気象データファイルの100行目から閲覧を開始してみましょう。more コマンドに + オプションと行番号を組み合わせて使用します。

    more +100 weather_data.txt
    
  2. ファイルが100行目から開かれます。

  3. ファイル閲覧中に = を押すと、現在100行目にいることを確認できます。画面下部に現在の行番号が表示されます。

  4. Space キーを使ってファイル内を移動し、前述の通り q キーで終了します。

エラーメッセージが表示されたり、予期しない動作をした場合は、コマンドが正しく入力されているか再確認してください。+ の直後に数字を記述し、間にスペースを入れないように注意してください。

表示のカスタマイズ

more コマンドでは、一度に表示する行数をカスタマイズできます。ファイルを小さな塊で確認したい場合に役立ちます。

  1. 一度に10行だけ表示してみましょう。more コマンドに - オプションと行数を指定します。

    more -10 weather_data.txt
    
  2. 一度に10行ずつファイルが表示されるようになります。

  3. Enter キーを押すと1行ずつ進み、Space キーを押すと次の10行のブロックへ移動します。

  4. 前と同様に、b で戻り、q で終了できます。

10行が少なすぎたり多すぎたりする場合は、自由に数字を変えて試してみてください。例えば、more -5 weather_data.txtmore -15 weather_data.txt などが試せます。

特定のデータの検索

データアナリストとして、特定の情報を素早く見つける必要がある場面は多々あります。more コマンドでは、ファイル内のパターンを検索できます。

  1. 例えば、「2023-07-15」という特定の日付のデータを探したいとします。次のコマンドを使用します。

    more +/"2023-07-15" weather_data.txt
    

    注意:検索語の前の +/ は、more に対してそのパターンに一致する最初の箇所へジャンプするように指示するものです。ターミナルやページャの動作によっては、完全一致する行の前に、前後の文脈が表示されることがあります。

  2. ファイルは「2023-07-15」が最初に出現する付近で開かれます。

  3. 同じパターンの次の出現箇所を探すには、以下のいずれかを行います。

    • / を入力して Enter を押す(前回の検索を繰り返します)
    • または /2023-08-15 と入力して Enter を押す(明示的にパターンを再検索します)
  4. パターンが見つからない場合は、画面下部に「Pattern not found」というメッセージが表示されます。

検索は大文字と小文字を区別することに注意してください。期待した結果が得られない場合は、入力した文字のケースを確認してください。

まとめ

この実験では、more コマンドを使用して巨大なテキストファイルを効率的にナビゲートする方法を学びました。基本的な使い方、特定の行からの開始、表示のカスタマイズ、ファイル内のパターン検索について習得しました。これらのスキルは、Linux環境で巨大なデータセットやログファイルを扱う際に非常に重要です。

この実験で扱わなかったその他の more コマンドのオプションには以下のようなものがあります。

  • -d: わかりやすいプロンプトを表示する
  • -f: 画面上の行数ではなく、論理的な行数をカウントする
  • -p: ページを表示する前に画面をクリアする
  • -c: スクロールする代わりに画面を再描画する
  • -s: 複数の空行を1行にまとめる
  • -u: 下線を抑制する