Linuxでテキストファイルを扱う
Linuxでテキストファイルを扱うことは、すべてのユーザーが持っているべき基本的なスキルです。テキストファイルは、Linuxシステムで構成ファイル、スクリプト、およびさまざまな種類のデータをプレーンテキスト形式で保存するために一般的に使用されます。このチュートリアルでは、Linuxでテキストファイルを扱う方法について説明します。
テキストファイルの使用
テキストファイルは、Linuxで構成情報、ログ、スクリプト、その他のデータを保存し、テキストエディタを使用して読み取りおよび編集できるようにするために一般的に使用されます。テキストファイルは、互換性のあるテキストエディタを使用して開くことができます。テキストファイルの一般的な拡張子は、.txt
、.conf
、.cfg
、.log
、.sh
です。さらに、C、C++、Java、Python、Perl、Rubyなどのプログラミング言語で書かれたプログラムソースコードもテキストファイルに保存されます。
テキストファイルで実行される最も一般的なタスクは、編集と読み取りです。
テキストファイルは、どのテキストエディタでも編集できますが、最も一般的なエディタはnanoとvimです。両方のエディタは、ほとんどのLinuxディストリビューションにデフォルトで含まれています。
NanoまたはVimがシステムにインストールされていない場合は、Linuxディストリビューションのパッケージマネージャを使用してインストールできます。たとえば、DebianまたはUbuntuを使用している場合は、次のコマンドを使用してnanoをインストールできます:
apt-get install nano
。(コマンドをrootとして実行するには、sudo
を使用する必要がある場合があります。)
Nanoで編集
Nanoは、そのシンプルさと使いやすさから初心者に人気があります。新しいファイルを作成するか、既存のファイルを編集するには、ターミナルで次のコマンドを入力します。
nano ファイル名.txt
ファイル名
を希望するファイル名に置き換えてください。ファイルが開いたら、入力を開始できます。nanoエディタでファイルを保存するには、CTRL + O
を押してからEnter
を押します。nanoエディタを終了するには、CTRL + X
を押します。
その他の便利なコマンドは、画面の下部にリストされています。たとえば、ファイル内の特定の文字列を検索する場合は、CTRL + W
を押して検索文字列を入力します。文字列を置換するには、CTRL + \
を押します。ヘルプを取得するには、CTRL + G
を使用できます。
nanoエディタは非常にシンプルで使いやすいため、Linuxを始めたばかりの初心者には最適です。
Vimで編集
Vimは、ほとんどのLinuxシステムにデフォルトでインストールされている強力なコマンドラインテキストエディタです。経験豊富なLinuxユーザーの間でお気に入りのエディタであり、多くのシステム管理タスクでは、例えばcronタスクの設定を編集する場合にはデフォルトのエディタです。Vimを使用して新しいファイルを作成するか、既存のファイルを編集するには、ターミナルで次のコマンドを入力します。
vim ファイル名.txt
vim
の代わりにvi
コマンドを使用することもできます。両方とも同じです。
Vimを他のテキストエディタと異なるものにするのは、2つのモード(コマンドモードと挿入モード)を持っていることです。コマンドモードでは、保存、終了、検索などのアクションを実行するためにさまざまなコマンドを使用できます。挿入モードでは、ファイルにテキストを入力できます。最初は混乱する人が多いです。例えば、テキストをファイルに入力しようとすると何も起こらないか、予期しないことが起こることがあります。これは、挿入モードではなくコマンドモードにあるためです。慣れるまで時間がかかりますが、慣れると自然になります。
覚えておいてください:挿入モードに入るには、i
を押し、画面左下隅に-- INSERT --
と表示されていることを確認してください。挿入モードを終了するには、ESC
を押します。
vimエディタでファイルを編集するには、i
を押して挿入モードに入り、テキストを入力します。編集が終わったら、ESC
を押して挿入モードを終了します。その後、:wq
を入力してEnter
を押すと保存して終了します。保存せずに終了する場合は、:q!
を入力してEnter
を押します。
ファイル内の特定の文字列を検索するには、コマンドモードに入り、/string
を入力します。文字列を置換するには、コマンドモードに入り、:s/old/new/g
を入力します。
その他のクイックチップ:
- 行の先頭にカーソルを移動するには、
0
を押します。 - 行の末尾にカーソルを移動するには、
$
を押します。 - ファイルの先頭にカーソルを移動するには、
gg
を押します。 - ファイルの末尾にカーソルを移動するには、
G
を押します。 - 次の単語にカーソルを移動するには、
w
を押します。 - 前の単語にカーソルを移動するには、
b
を押します。 - カーソルを4方向に移動するには、
h
、j
、k
、l
を押します。 - 10行目にカーソルを移動するには、
10G
を押します。 - 文字を削除するには、
x
を押します。 - 行を削除するには、
dd
を押します。 - 元に戻すには、
u
を押します。 - 行をコピーするには、
yy
を押します。 - 行を貼り付けるには、
p
を押します。
注意:Vimのコマンドは大文字と小文字を区別します。たとえば、
:wq
と:WQ
は同じではありません。
多くのコマンドがあり、それらを組み合わせてより複雑な操作を実行することができます。しかし、これらが最も一般的なものです。コマンドモードで:help
と入力することで、より多くのコマンドを見つけることができます。
Read With Less
テキストエディタとして、NanoとVimはテキストファイルを作成および編集するのに優れています。しかし、テキストファイルを単に読みたい場合はどうでしょうか?たとえば、ログファイルや設定ファイルを読みたい場合などです。もちろん、テキストエディタを使用してテキストファイルを読むことができますが、ファイルが非常に大きい場合は特に効率的ではありません。
注意:テキストエディタで非常に大きなファイルを開くと、読み込みに長時間かかる場合があり、システムリソースも多く使用する場合があります。本番サーバーで大きなファイルをテキストエディタで開かないでください。
テキストファイルを読むより良い方法は、less
コマンドを使用することです。less
コマンドは、ターミナルでテキストファイルを読むことができるページャーです。less
コマンドを使用してテキストファイルを読むには、ターミナルで次のコマンドを入力します。
less filename.txt
less
コマンドの基本的な使用方法はVimと似ています。矢印キーを使用して上下にスクロールすることができ、/
を使用して特定の文字列を検索することもできます。less
コマンドを終了するには、q
を押します。
Lessはページャーなので、メモリ全体にファイルを読み込むのではなく、1ページずつファイルを読み込むため、テキストエディタよりもパフォーマンスが向上します。また、大きなファイルを読むのに非常に便利です。
catコマンドで読む
テキストファイルを読む別の方法は、cat
コマンドを使用する方法です。 cat
コマンドは、ターミナルでテキストファイルを読むことができるユーティリティです。 cat
コマンドを使用してテキストファイルを読むには、ターミナルで次のコマンドを入力します。
cat filename.txt
cat
コマンドとless
コマンドの主な違いは、cat
コマンドが一度にファイル全体を読み取り、ターミナルに出力することです。これは、小さなファイルを読み取る場合に便利ですが、大きなファイルには推奨されません。
また、別のコマンドの出力を入力として使用する場合にも便利です。たとえば、ファイル内の特定の文字列を検索したい場合は、cat
コマンドを使用してファイルを読み取り、出力をgrep
コマンドにパイプして文字列を検索できます。例えば:
cat filename.txt | grep "string"
先頭と末尾を読む
head
コマンドは、テキストファイルの最初の数行を読み取ることができるユーティリティです。head
コマンドを使用してテキストファイルの最初の数行を読み取るには、ターミナルで次のコマンドを入力します。
head filename.txt
head
コマンドは、テキストエディタやページャーで開くことなく、ファイルの内容を素早く確認したい場合に便利です。
読み取る行数を設定したい場合は、-n
オプションを使用できます。たとえば、ファイルの最初の10行を読み取りたい場合は、次のコマンドを使用できます。
head -n 10 filename.txt
head
コマンドとは対照的に、tail
コマンドはテキストファイルの最後の数行を読み取ることができます。tail
コマンドを使用してテキストファイルの最後の数行を読み取るには、ターミナルで次のコマンドを入力します。
tail filename.txt
tail
コマンドには、読み取る行数を設定する-n
オプションもあります。たとえば、ファイルの最後の10行を読み取りたい場合は、次のコマンドを使用できます。
tail -n 10 filename.txt
結論
まとめると、テキストファイルを扱うことは、Linuxユーザーが持つべき必須のスキルです。NanoとVimエディターを使用すると、Linuxでテキストファイルを簡単に作成、編集、保存できます。 less
コマンドは、ターミナルでテキストファイルを読むことができるページャーです。 cat
コマンドは、ターミナルでテキストファイルを読むことができるユーティリティです。 head
コマンドとtail
コマンドを使用すると、テキストファイルの最初の数行と最後の数行を読むことができます。この記事で、nanoとvimエディターを使用してテキストファイルを作成および編集する方法を学びました。Happy editing!