検索
連載

【 more 】コマンド――長いメッセージやテキストファイルを1画面ずつ表示するLinux基本コマンドTips(2)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、長いメッセージやテキストファイルを1画面ずつ止めながら表示する「more」コマンドです。

Share
Tweet
LINE
Hatena
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、長いメッセージやテキストファイルの内容を1画面ずつ止めながら表示する「more」コマンドです。

moreコマンドとは?

 「more」は、テキストファイルを1画面ずつ表示するコマンドです。「more ファイル名」で実行する他、「コマンド | more」のように他のコマンドの実行結果を1画面ずつ表示する際によく使われます。

 また、moreコマンドにサブコマンドがあり、[Enter]キーで1行、[スペース]キーで1画面先に進み、ファイルの末尾まで表示されると終了します。ファイルを表示している途中でも[Q]キーまたは[q]キーで終了できます。

moreコマンドの書式

more [オプション] ファイル名

コマンド | more [オプション]

※[ ]は省略可能な引数を示しています



moreコマンドの主なオプション

 moreコマンドの主なオプションは次の通りです。

オプション 意味
+数値 数値で指定した行から表示する
+/文字列 指定した文字列を検索して、見つけた行の2行上から表示する
-s 連続した空行を1行にする
-l 改ページを無視する
-u 下線の処理を行わない
-数値 画面の行数を指定する
-f 画面での行数ではなく、データの行数を表示する
-d 無効なキーが入力された場合には、ビープ音の代わりに簡単なヘルプを表示する

テキストを1画面ずつ止めながら表示する

 「cat」コマンド(本連載第1回で解説)でテキストファイルの内容を表示したら、思ったよりも長かった! コマンドを実行した結果がどんどん流れて行ってしまって、最初の方が読めない! そんなときに便利なのが「more」コマンドです。

 moreコマンドは、「more ファイル名」で指定したファイルを1画面ずつ止めながら表示します。次の画面へ進みたいときは[スペース]キーを、1行ずつ画面を進めたいときは[Enter]キーを押します。

 以下のmoreコマンドは、設定ファイル「/etc/bashrc」の内容を1画面ずつ止めながら表示します(画面1)。

more /etc/bashrc


画面1
画面1 設定ファイル「/etc/bashrc」の内容を1画面ずつ止めながら表示する

実行結果を止めながら表示したいときにはパイプを使う

 コマンドの実行結果が長く、画面が流れていってしまう場合は「コマンド | more」のようにして、実行結果をmoreコマンドに渡すようにします。

 以下のコマンド例では、起動時のメッセージを再表示する「dmesg」コマンドの実行結果をmoreコマンドに渡して、1画面ずつ止めながら表示します(画面2)。

dmesg | more


画面2
画面2 dmesgコマンドの実行結果をmoreコマンドに渡して、1画面ずつ止めながら表示する

確認したい箇所がある場合は「+/オプション」でスキップ

 オプションで「+/文字列」と指定すると、指定した文字列の位置までスキップして表示することができます。

 例えば、「/etc/bashrc」(bashコマンドの設定ファイル)で、PS1(プロンプト)を設定している箇所を確認したい場合は、以下のように「more +/PS1 /etc/bashrc」と実行します(画面3)。また、確認したい箇所を行数で指定したい場合は、「more +50 /etc/bashrc」のように実行します。

more +/PS1 /etc/bashrc

(PS1を設定している箇所を確認する)

more +50 /etc/bashrc

(50行目を確認する)


画面3
画面3 「+/文字列」オプションを指定すると、指定した文字列の箇所まで表示をスキップできる

行番号付きで表示したいときはcatコマンドと組み合わせる

 moreコマンドの画面表示にも行番号があった方が分かりやすいという場合は、本連載第1回で説明したcatコマンドと組み合わせるとよいでしょう(画面4)。

cat -n /etc/bashrc | more

(/etc/bashrcの内容をcat -nで表示してmoreコマンドに渡す)

dmesg | cat -n | more

(dmesgコマンドの実行結果をcatに流してmoreコマンドへ渡す)


画面4
画面4 設定ファイル「/etc/bashrc」の内容を「cat -n」コマンドで表示して、moreコマンドに渡す

moreコマンドで使える主なサブコマンド

 moreコマンドは[Enter]キーで1行、[スペース]キーで1画面先に進む他、以下のサブコマンドによる操作が可能です。

コマンド 意味
数値 s 指定行数分スキップする。数を指定しなかった場合は1行、または直前に指定した行数分スキップ
数値 f 「2 f」で2画面分、「3 f」で3画面分スキップする(forward)
数値 b 「2 b」で2画面分、「3 b」で3画面分戻る(back)※moreコマンドでテキストファイルを開いている場合のみ有効
= 現在の行番号を表示する
. 直前のコマンドを繰り返す
/正規表現 文字列を検索する(現在表示している箇所より後ろが対象)
n 直前の検索を繰り返す
h ヘルプを表示する

 サブコマンドは、moreコマンドの画面表示中にキーを入力すると即実行されます。検索を行う場合は「/」記号に続けて検索文字列を入力し、[Enter]キーを押すとその位置までスキップします(画面5画面6)。

画面5
画面5 「/」サブコマンドで検索する文字列を指定する
画面6
画面6 「/」サブコマンドの実行結果。指定した文字列(PATH)までスキップする

「Linux基本コマンドTips」バックナンバー

筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る