はじめに
サーバーをSSH経由で操作していると、設定ファイルの編集はGUIのテキストエディタではなくCUI(コマンドラインインターフェース)上のエディタで行うことになります。その代表格の一つがnanoです。
本記事では、nanoの基本操作と実務上の注意点をまとめます。
nanoとは
- GNU nanoという、CUI環境で動作するテキストエディタ
- 最大の特徴は、画面下部に主要な操作ショートカットが常時表示されていること。覚えていなくても画面を見れば操作できる、初心者に優しい設計になっている
- vi/vimのような「ノーマルモード」「インサートモード」といったモード切替の概念がなく、起動した瞬間から常に文字入力が可能
- 多くのディストリビューションに標準搭載、なければ
apt install nano(Debian/Ubuntu系)やdnf install nano(RHEL系)で容易に導入できる
基本操作
起動方法
nano <ファイル名>
指定したファイルが存在すればその内容を開き、存在しなければ新規ファイルとして作成されます。
画面構成
nanoの画面は大きく3つのエリアに分かれています。
- 最上部:ファイル名やnanoのバージョンを表示するタイトルバー
- 中央:編集中のテキスト本体
- 最下部:主要なショートカット一覧(
^はCtrlキーを表す)
主なショートカット
| 操作 | ショートカット | 内容 |
|---|---|---|
| 保存 |
Ctrl+O (Write Out) |
ファイル名を確認するプロンプトが出るので、Enterで確定 |
| 終了 | Ctrl+X |
未保存の変更があれば保存するか確認される |
| 検索 | Ctrl+W |
文字列検索 |
| 置換 | Ctrl+\ |
検索して置換 |
| 行の切り取り | Ctrl+K |
カーソル行を1行切り取り(クリップボードに保持) |
| 貼り付け | Ctrl+U |
切り取った内容を貼り付け |
| 行頭へ移動 | Ctrl+A |
|
| 行末へ移動 | Ctrl+E |
|
| 次ページ | Ctrl+V |
|
| 前ページ | Ctrl+Y |
|
| ヘルプ表示 | Ctrl+G |
全ショートカット一覧を表示 |
よく使う起動オプション
| オプション | 内容 |
|---|---|
nano -l <file> (--linenumbers) |
行番号を表示しながら開く |
nano -B <file> |
編集前の状態を.bakファイルとして自動バックアップ |
nano -m <file> |
マウス操作を有効化(対応端末のみ) |
実務上の注意点:日本語IMEの全角スペース混入
サーバーの設定ファイルをnanoで編集する際、特に気をつけたいのが日本語IMEの入力モードです。
SSHクライアント側の日本語IMEが全角(かな入力/全角英数)モードのまま行頭の字下げ(インデント)を打つと、見た目は半角スペースと区別がつかない全角スペース(U+3000) が混入することがあります。多くの設定ファイルのパーサーは全角スペースを許容しないため、保存後に設定が正しく反映されない、あるいはエラーになるといった不具合につながります。
対策としては、次のような点を意識すると事故を防ぎやすくなります。
- インデントを打つ前に、IMEの状態が「半角英数(直接入力)」になっているかをタスクバー等で確認する
- 保存後、
cat -A <file>で不可視文字を含めて表示し、想定外の文字が混ざっていないか目視確認する - 全角スペースだけを検出したい場合は、
grep -P "[\x{3000}]" <file>のように正規表現で該当行を洗い出す
特にネットワーク設定ファイルやYAMLのようにインデントの意味が重いファイルを編集するときほど、このリスクは顕在化しやすいため注意が必要です。
nano と vi/vim の比較
CUIエディタとしてよく比較されるvi/vimとの違いを整理すると、次のようになります。
| 比較項目 | nano | vi/vim |
|---|---|---|
| 学習コスト | 低い(操作が画面下部に常時表示される) | 高い(モードの概念を習得する必要がある) |
| 操作の一貫性 | 常に同じ操作感 | ノーマル/インサート/コマンドモードの切替が必要 |
| 常時ヘルプ表示 | あり | なし |
| 高度な編集機能(正規表現置換・マクロ等) | 限定的 | 非常に強力 |
| 標準搭載状況 | 環境によっては別途インストールが必要 | ほぼ全てのUnix系OSに標準搭載 |
ちょっとした設定ファイルの修正であればnano、繰り返しの多い編集や高度なテキスト操作が必要な場面ではvi/vim、といった使い分けが一般的です。
実例:設定ファイルを編集する
サンプルとして、汎用的な設定ファイルをnanoで編集する一連の流れを示します。
nano /etc/example/sample.conf
エディタが開いたら、キーボードで直接編集します。編集が終わったら、以下の手順で保存・終了します。
-
Ctrl+Oを押す(Write Out) - ファイル名確認のプロンプトが表示されるので、変更がなければそのまま
Enter -
Ctrl+Xで終了
保存内容を確認したい場合は、終了後にcatで中身を確認すると安全です。
cat /etc/example/sample.conf
まとめ
nanoは、モード切替の概念がなく画面下部に操作方法が常時表示される、CUI環境向けの初心者に優しいテキストエディタです。基本的な保存・終了・検索・切り取り貼り付けの操作を覚えておけば、サーバー上の設定ファイル編集は十分にこなせます。一方で、日本語IME使用時の全角スペース混入のように、CUI編集特有の落とし穴もあるため、保存後の確認を習慣づけておくと安心です。