viewコマンドでファイルを読み取り専用で開く方法|viとの違いやlessとの使い分け


図解60p「Linuxサーバー構築入門マニュアル」無料
登録10秒/自動返信でDL/合わなければ解除3秒
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドU-Z, ファイル・ディレクトリ管理コマンド > viewコマンドでファイルを読み取り専用で開く方法|viとの違いやlessとの使い分け
「設定ファイルの中身を確認したいだけなのに、うっかりviで編集してしまった」
「本番サーバーのファイルを安全に閲覧したい」

サーバー運用では、設定ファイルやログの中身を確認するだけで、書き換えるつもりがない場面が多くあります。そんなとき vi で開くと、誤ってキーを押して内容を変更してしまうリスクがあります。

この記事では、ファイルを読み取り専用で開く view コマンドの使い方を解説します。vivi -R との違い、less との使い分け、実務での活用場面まで網羅します。

viewコマンドとは?viの読み取り専用モード

view コマンドは、vi(vim)を読み取り専用モードで起動するコマンドです。開いたファイルの内容を閲覧できますが、通常の操作では書き込みできません。

# viewコマンドでファイルを読み取り専用で開く view /etc/httpd/conf/httpd.conf

開くとviと同じ画面が表示されますが、画面下部に [readonly] と表示されます。viの操作(カーソル移動、検索、ページ送り)はすべてそのまま使えます。

viewとvi -Rの違い

読み取り専用でファイルを開く方法は2つあります。

# 方法1: viewコマンド view /etc/ssh/sshd_config # 方法2: vi -Rオプション vi -R /etc/ssh/sshd_config

どちらも読み取り専用で開きますが、厳密には以下の違いがあります。
項目 view vi -R
動作 読み取り専用で起動 読み取り専用で起動
強制書き込み(:w!) 可能(権限があれば) 可能(権限があれば)
入力の簡潔さ viewだけで済む -Rを忘れると通常モードで開く
実質的な違いはほとんどありません。view の方がタイプ数が少なく、「読み取り専用で開く意図」が明確なため、実務では view を使うことをおすすめします。

なお、どちらの方法でも :w!(強制書き込み)を実行すれば書き込みは可能です。読み取り専用モードは「うっかり編集」を防ぐための安全装置であり、書き込み自体をブロックする仕組みではありません。

viewの基本操作

viewはviと同じ操作体系です。よく使う操作をまとめます。

1. ページ送り・カーソル移動

操作 キー
1画面下にスクロール Ctrl + f
1画面上にスクロール Ctrl + b
半画面下にスクロール Ctrl + d
ファイルの先頭へ移動 gg
ファイルの末尾へ移動 G
指定行へ移動(例: 50行目) :50

2. 文字列を検索する

# 前方検索(下方向) /検索したい文字列 # 後方検索(上方向) ?検索したい文字列 # 次の検索結果へ移動 n # 前の検索結果へ移動 N # 検索ハイライトを消す :noh

設定ファイルの中から特定のディレクティブを探したいときに使います。例えば、httpd.confで DocumentRoot を探す場合は /DocumentRoot と入力します。

3. 終了する

# 終了 :q # 誤って編集してしまった場合(変更を破棄して終了) :q!

viewとless/moreの使い分け

ファイルを閲覧するコマンドは view 以外にも lessmore があります。
コマンド 特徴 向いている場面
view ファイル名 viの操作で閲覧。行番号表示(:set nu)や正規表現検索が可能 設定ファイルの詳細確認。vi操作に慣れている人
less ファイル名 軽量なページャ。前後スクロール可能 ログファイルの閲覧。サッと確認したいとき
more ファイル名 前方スクロールのみ。後方に戻れない パイプの出力を順に確認するとき
cat ファイル名 ファイル全体を一括出力 短いファイルの内容確認
実務での使い分けの目安は以下のとおりです。

設定ファイルを確認する:view が最適。行番号を表示して特定の行を確認したり、正規表現で複雑な検索ができる
ログファイルを確認する:less が最適。起動が速く、F キーで tail -f 相当のリアルタイム監視もできる
短いファイルをサッと見る:cat で十分

実務で使えるviewのTips

行番号を表示して開く

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

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

複数ファイルを順番に閲覧する

# 複数ファイルを指定して開く view /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/ssl.conf # 次のファイルへ移動 :n # 前のファイルへ戻る :N

Apache の設定を確認するとき、メインの設定ファイルとSSL設定を順番に見たい場合に便利です。

本番サーバーでの安全な運用

本番サーバーで設定ファイルを確認する際は、vi ではなく view を習慣にしてください。

vi で開くリスク:誤って i キーを押すと挿入モードに入り、気づかずに文字を入力してしまう。:wq で保存すると設定ファイルが壊れる
view で開くメリット:挿入モードに入っても [readonly] なので :w では保存されない。意図しない変更を防げる

「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に切り替えた」という操作が記録として残るためです。

本記事のまとめ

やりたいこと コマンド
ファイルを読み取り専用で開く view ファイル名
vi -Rで読み取り専用で開く vi -R ファイル名
行番号を表示する view ファイル名:set number
特定の行にジャンプして開く view +行番号 ファイル名
文字列を検索する view ファイル名/検索文字列
複数ファイルを順に閲覧する view ファイル1 ファイル2:n
読み取り専用を解除する :set noreadonly:set modifiable

本番サーバーを安全に運用するための基本を身につけませんか?

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

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



無料プレゼント
図解60p「Linuxサーバー構築入門マニュアル」
独学で詰まる前に、“型(手順書)”で最初の環境構築をサクッと終わらせましょう。
登録10秒/自動返信でDL/合わなければ解除3秒
無料で受け取る ※メールアドレスだけでもOK(必須項目は最小限)

宮崎 智広

この記事を書いた人

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

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

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る