viewコマンドでファイルを安全に閲覧する方法|vi-Rとの違い・lessとの使い分け


この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips > viewコマンドでファイルを安全に閲覧する方法|vi-Rとの違い・lessとの使い分け
「設定ファイルの中身を確認したいだけなのに、手が滑って上書きしてしまった」
Linuxの現場では、/etc配下の設定ファイルやログファイルを「見るだけ」のつもりがviで開いて誤編集してしまう事故が後を絶ちません。

この記事では、viewコマンドの基本から応用までを解説します。
viewコマンドは vi -R と同等の読み取り専用モードでファイルを開くコマンドで、誤編集を防ぎつつviの全機能(検索・移動)をそのまま使えます。
RHEL 9.4 / CentOS 7で動作確認済みの実行例付きです。

この記事のポイント

・viewコマンドは vi -R と同じ読み取り専用モードでファイルを開く
・設定ファイルの安全な閲覧に最適(誤って :w しても保存されない)
・:w! で強制書き込みも可能(緊急時の保険)
・less/more/catとの使い分けを実務視点で解説


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

viewコマンドとは? viとの違いを理解する

viewコマンドは、ファイルを読み取り専用モードで開くコマンドです。
内部的には vi -R と同じ動作をするため、viのすべての操作(検索、カーソル移動、ヤンク等)がそのまま使えます。

ただし、通常の :w による書き込みはブロックされます。
これにより「見るだけのつもりが誤って編集・保存してしまった」という事故を未然に防げます。

1. viewコマンドの基本構文

# viewコマンドの基本構文 view ファイル名

viと同じ感覚で使えますが、画面下部に「[readonly]」と表示されるのが特徴です。

2. vi -R との関係

viewコマンドと vi -R は完全に同じ動作をします。

# 以下の2つは同じ動作 view /etc/httpd/conf/httpd.conf vi -R /etc/httpd/conf/httpd.conf

どちらを使っても構いませんが、viewの方がタイプ数が少なく、読み取り専用であることが名前から明確です。
現場ではviewコマンドの方がよく使われます。

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

1. ファイルを読み取り専用で開く

実際にviewコマンドで /var/log/messages を開いてみます。
messagesファイルはroot権限が必要なため、suコマンドでrootになってから実行しています。

$ su - Password: # view /var/log/messages ar 16 12:14:01 dolphin syslogd 1.4.1: restart. Mar 16 12:14:01 dolphin syslog: syslogd startup succeeded Mar 16 12:14:01 dolphin syslog: klogd startup succeeded Mar 16 12:14:02 dolphin kernel: klogd 1.4.1, log source = /proc/kmsg started. Mar 16 12:14:02 dolphin kernel: Linux version 2.6.9-1.667 (bhcompile@tweety.build.redhat.com)

root権限が不要なファイルであれば、一般ユーザーのままviewコマンドを実行できます。

2. view中の基本操作

viewで開いたファイル内では、viと同じキー操作が使えます。

/ + 文字列:前方検索(nで次の候補、Nで前の候補)
? + 文字列:後方検索
:noh:検索ハイライトを消す
G:ファイル末尾に移動
gg:ファイル先頭に移動
:set number:行番号を表示
:q:viewを終了

またページ送り・カーソル移動のショートカットも覚えておくと便利です。

操作 キー
1画面下にスクロール Ctrl + f
1画面上にスクロール Ctrl + b
半画面下にスクロール Ctrl + d
ファイルの先頭へ移動 gg
ファイルの末尾へ移動 G
指定行へ移動(例: 50行目) :50
検索や移動はviそのものなので、lessやmoreでは不便に感じる複雑なファイル閲覧に威力を発揮します。

3. 設定ファイルの安全な閲覧

viewコマンドが最も役立つのは、本番サーバーの設定ファイルを確認するときです。

# Apache設定ファイルを安全に閲覧 view /etc/httpd/conf/httpd.conf # SSH設定ファイルを安全に閲覧 view /etc/ssh/sshd_config # ネットワーク設定を安全に閲覧(RHEL 9) view /etc/NetworkManager/system-connections/ens160.nmconnection

viで開くと、うっかりInsertモードに入って文字を入力してしまうことがあります。
viewなら「:w」で保存しようとしてもブロックされるため、安心してファイルの中身を確認できます。

応用・実務で使えるviewコマンドのTips

1. w!による強制書き込み(緊急時の保険)

viewコマンドで開いたファイルでも、:w!(感嘆符付き)を使えば強制的に書き込むことができます。

# viewで開いたファイルに強制書き込み :w! # 別名で保存する場合 :w! /tmp/backup_httpd.conf

「読み取り専用で開いたけど、やはり少し修正が必要だった」という場面で、ファイルを開き直す手間が省けます。
ただし、本番環境で :w! を安易に使うのは要注意です。読み取り専用で開いた意味がなくなります。設定ファイルを書き換える際は必ず事前にバックアップを取る習慣をつけてください(例:cp /etc/httpd/conf/httpd.conf /tmp/httpd.conf.bak)。

2. 特定の行に直接ジャンプして開く

設定ファイルのエラーメッセージで「行番号」が示された場合、その行をすぐに確認できます。

# 行番号付きで表示する(view起動後に実行) :set number # 特定の行に直接ジャンプして開く(例: 120行目) view +120 /etc/httpd/conf/httpd.conf

3. 複数ファイルをviewで順番に開く

viewコマンドでも、viと同様に複数ファイルを引数に指定できます。

# 複数の設定ファイルを順番に閲覧 view /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/ssl.conf # :n で次のファイルに移動 # :N で前のファイルに戻る

設定ファイルを比較しながら確認したいときに便利です。

4. viewとless/more/catの使い分け

ファイルを「見るだけ」のコマンドは、view以外にもless・more・catがあります。
現場での使い分けの目安は以下のとおりです。

コマンド 特徴 向いている場面
view ファイル名 viの操作で閲覧。行番号表示や正規表現検索が可能 設定ファイルの詳細確認。vi操作に慣れている人
less ファイル名 軽量なページャ。前後スクロール可能 ログファイルの閲覧。サッと確認したいとき
more ファイル名 前方スクロールのみ。後方に戻れない パイプの出力を順に確認するとき
cat ファイル名 ファイル全体を一括出力 短いファイルの内容確認
view:vi操作に慣れている人向け。検索・行番号表示・特定行へのジャンプが自在
less:大きなログファイルの閲覧向け。Fキーで tail -f 相当のリアルタイム監視もできる
more:シンプルにページ送りで読むだけ。スクリプト内での使用に向く
cat:短いファイルをターミナルに直接出力したいとき

viの操作に慣れているエンジニアなら、viewコマンドが最も効率的です。
lessは cat /var/log/messages | less のようにパイプで使えるのが強みですが、viewにはパイプからの入力はできません。

viewコマンドのトラブルシュート

1. 「E45: \'readonly\' option is set」が表示される

viewで開いたファイルに対して :w を実行すると、このエラーが表示されます。

E45: 'readonly' option is set (add ! to override)

これはviewコマンドの正常な動作です。
書き込みが本当に必要な場合は :w! で強制保存するか、:q! で終了してviで開き直してください。

2. 「E21: Cannot make changes, 'modifiable' is off」が表示される

viewで開いたファイルを編集しようとすると、このエラーが表示されることもあります。これも正常な動作です。

どうしても編集が必要になった場合は、以下の方法があります。

# 方法1: viewを終了してviで開き直す(推奨) :q vi /etc/httpd/conf/httpd.conf # 方法2: view内で読み取り専用を解除する(緊急時のみ) :set noreadonly :set modifiable

方法2は緊急時に使えますが、基本的にはviewを終了して vi で開き直す方法1を推奨します。
「意図的にviに切り替えた」という操作として記録が残り、チーム作業でも誤解が生じません。

3. viewコマンドが見つからない場合

最小構成のLinuxインストールでは、vim-minimalしか入っていないことがあります。

# viewコマンドの場所を確認 $ which view /usr/bin/view # viewが見つからない場合はvim-enhancedをインストール # RHEL 9 / Rocky Linux 9 $ sudo dnf install vim-enhanced # CentOS 7 $ sudo yum install vim-enhanced

vim-enhancedをインストールすると、viewコマンドも使えるようになります。

4. 「Permission denied」でファイルが開けない

viewは読み取り専用モードですが、ファイル自体の読み取り権限がなければ開けません。

# 権限エラーが出る場合 $ view /etc/shadow "/etc/shadow" [Permission denied] # sudoを付けて実行 $ sudo view /etc/shadow

/var/log/messages や /etc/shadow など、root権限が必要なファイルは sudo view で開いてください。

本記事のまとめ

viewコマンドは「ファイルを安全に閲覧する」ためのシンプルかつ実用的なコマンドです。
viの全機能を使いながら誤編集を防げるため、本番サーバーの設定確認には欠かせません。

やりたいこと コマンド
ファイルを読み取り専用で開く view ファイル名
vi -Rで読み取り専用にする vi -R ファイル名
読み取り専用を解除して強制保存 :w!
特定の行にジャンプして開く view +行番号 ファイル名
別名で保存する :w! /tmp/backup.conf
複数ファイルを順番に閲覧する view ファイル1 ファイル2
viewを終了する :q

Linuxのコマンド操作、なんとなくで済ませていませんか?

viewコマンドのようなファイル閲覧の基本操作は、サーバー管理の土台になるスキルです。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。


暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。

\n\n\n\n\n\n\n\n\n