Linuxでファイルを確認・編集する前に知っておきたいこと
Linuxでは、ターミナルからコマンドを実行してファイルを確認・編集します。まず、現在の場所と対象ファイルを確認しましょう。
pwd
ls -l
# 期待される挙動:
# 現在のディレクトリと、そこにあるファイルの一覧を確認できます。読み取りはできても、編集には書き込み権限が必要な場合があります。権限エラーが出たときは、対象ファイルの所有者・権限・パスを確認してください。sudoは、対象と変更内容を確認したうえで必要な場合だけ使います。
ファイル全体の内容を確認するコマンド
短い設定ファイルなどを一括で確認するにはcatを使います。複数のファイルを指定すると、指定した順番で内容が表示されます。
cat app.conf
cat app.conf database.conf
# 期待される挙動:
# 指定したファイルの内容がターミナルに表示されます。| コマンド | 向いている用途 | 注意点 |
|---|---|---|
| cat | 短いファイルを一括確認する | 長いファイルでは画面が流れやすい |
| less | 長いファイルやログを画面単位で読む | 終了するときはqを押す |
長いファイルやログを部分的に確認するコマンド
長いファイルはlessで開くと、画面単位で読み進められます。lessの基本的な終了操作はqです。先頭や末尾だけを確認したい場合は、headやtailを使います。GNU Coreutilsのheadは既定で先頭10行、tailは末尾部分を表示する用途です。
less application.log
head -n 20 application.log
tail -n 20 application.log
# 期待される挙動:
# lessはページ単位で閲覧できます。headは先頭20行、
# tailは末尾20行を表示します。ログの冒頭にある起動情報を確認するならhead、直近のエラーや処理状況を確認するならtailというように、目的で選びます。リアルタイム監視に使うオプションは実装や環境差もあるため、利用前にman tailなどで確認してください。
ファイル内の文字列を検索するコマンド
grepは、指定したパターンに一致する行を検索します。エラーや設定項目を探すときに便利です。
grep 'ERROR' application.log
grep -n -i 'timeout' application.log
grep -n 'database' *.conf
# 期待される挙動:
# ERRORを含む行、大小文字を区別しないtimeoutの行、
# 拡張子が.confのファイルにあるdatabaseの行を表示します。-nは行番号の表示、-iは大文字・小文字を区別しない検索です。複数ファイルを対象にするときは、ワイルドカードが意図した範囲に展開されるか確認してください。まず対象を1ファイルに絞って検索すると安全です。
| コマンド | 操作の特徴 | 向いている場面 |
|---|---|---|
| less | 内容を目視で読み進める | 前後の文脈を確認したいとき |
| grep | 条件に一致する行を絞り込む | 特定のエラーや設定項目を探すとき |
Linuxでファイルを編集する基本方法
ターミナル上で編集する代表的な選択肢はnanoとvi・vim系エディターです。nanoは画面下部に操作の案内が表示されるため、初めての編集に向いています。vi・vim系は多くの環境で使われますが、モード切り替えなどの操作に慣れが必要です。
nano app.conf
# nanoの基本操作例:
# 編集: 文字を入力する
# 保存: Ctrl + O を押し、必要ならEnter
# 終了: Ctrl + X を押す| 選択肢 | 特徴 | 向いている人 |
|---|---|---|
| nano | 基本操作が画面に表示される | 初心者、簡単な設定変更を行う人 |
| vi・vim系 | 環境によって利用しやすく、操作に習熟が必要 | 既存の操作に慣れている人、最小構成の環境を扱う人 |
どのエディターがインストールされているかは、Linuxディストリビューションや構成によって異なります。利用前にcommand -v nanoやcommand -v vimなどで確認してください。重要な設定ファイルを編集する場合は、事前にバックアップや差分確認を検討します。
ファイルを編集するときの安全な確認手順
編集前後は、次の流れで確認すると誤編集を減らせます。
- pwdやlsで、対象ファイルのパスと名前を確認する
- cat、less、grepなどで、編集前の内容を確認する
- 必要ならバックアップを作成してから編集する
- 編集後に、内容と差分を再確認する
- 設定ファイルの場合は、対象サービスの設定チェックや再読み込み方法を公式ドキュメントで確認する
cp app.conf app.conf.bak
nano app.conf
grep -n '重要な設定項目' app.conf
# 期待される挙動:
# 編集前のバックアップを作成し、編集後に対象行を再確認します。
# バックアップの作成先とファイル名は環境に合わせて変更してください。sudoを付ければ必ず安全に編集できるわけではありません。権限が必要な場合でも、対象ファイルを十分に確認し、サービスの再読み込みや再起動が必要かどうかを環境ごとの公式ドキュメントで確認してください。