(最終更新日:2023年7月)
✔当記事は以下のような方に向けて書かれています
「headコマンドをどのように使えば良いのか?」
「headコマンドの操作法を学びたい」
「実際のheadコマンドの使用例を見てみたい」
✔当記事でお伝えする内容
- headコマンドの概念
- headコマンドの使い方とオプションの使い方
- headコマンドの実例
当記事では、headコマンドの基本的な使い方から、更に深くそのオプションを利用した応用的な使い方までを、実例とともに詳しく説明します。
ぜひ最後までご覧ください。
Linuxにおけるheadコマンドの基本
こちらでは、headコマンドの基本的な使い方と、ファイルの複数指定方法についてご説明します。
「headコマンド」の基本的な使用法を習得することで、ファイル内容の先頭部分を簡単に確認が可能です。
- headコマンドとは
- headコマンドの使い方
- ファイルの複数指定方法
headコマンドとは
Linuxは多くの強力なコマンドを提供しており、その中のひとつが”headコマンド”。
このコマンドは、テキストファイルの先頭部分の表示に使われ、ファイルの確認やデータの解析作業などで頻繁に使用されます。
このコマンドを理解し、適切に使用すれば、Linuxシステムをより効率的に操作できるでしょう。
headコマンドの使い方
“headコマンド”の最も基本的な使い方は、指定したテキストファイルの先頭10行を表示することです。
基本的な構文はこちら。
head ファイル名
例をご覧いただきます。
sample.txt
“sample.txt”の先頭10行が表示されます。
この10行という数値は、”-n”オプションを用いることで自由に変更が可能です。
ファイルの複数指定方法
“headコマンド”は、複数のファイルを一度に指定することも可能です。
ファイル名をスペースに続けて複数入力します。
head file1.txt file2.txt
“file1.txt”と”file2.txt”の先頭10行ずつが表示されます。
この機能は、複数のファイルを同時に比較したいときなどに便利です。
headコマンドの設定・インストール方法
headコマンドは、Linuxをお持ちの方であれば特に設定などは不要です。
なぜなら基本的にLinuxディストリビューションでは、プリインストールされているから。
ただし何らかの理由でインストールが必要な場合、”coreutils”パッケージなどをインストールすることで利用可能になります。
例えば、UbuntuやDebianでは以下のコマンドを実行します。
sudo apt-get install coreutils
RHEL、CentOS、Fedoraでは以下のコマンドになります。
sudo yum install coreutils
headコマンドのオプション一覧表
Linuxのhead
コマンドでは、オプションを覚えるとより効率的な作業が可能になります。
オプションにより、デフォルトの設定をカスタマイズできるからです。
以下にいくつかの主なオプションを示します。
オプション | 説明 | 例 |
---|---|---|
-n or --lines=[-]NUM | 先頭からNUM行を出力します。NUMの前にマイナスをつけると、末尾のNUM行を除いたものを出力します。 | head -n 5 filename |
-c or --bytes=[-]NUM | 先頭からNUMバイトを出力します。NUMの前にマイナスをつけると、末尾のNUMバイトを除いたものを出力します。 | head -c 20 filename |
-q or --quiet or --silent | 複数のファイルを指定した場合でも、ファイル名ヘッダーを表示しません。 | head -q -n 5 file1 file2 |
-v or --verbose | 常にファイル名ヘッダーを表示します。 | head -v -n 5 filename |
--help | 使用法やオプションの詳細を表示します。 | head --help |
--version | バージョン情報を表示します。 | head --version |
ここで、filename
は操作したいファイル名に置き換えてください。
また、これらの操作を行う際に特別な権限は通常必要ありません。
各オプションの詳細
よりオプションについて詳しく知りたい方向けに、主要なオプションについて詳しくご説明します。
headコマンドを自分のニーズに合わせてカスタマイズしましょう。
- ‘-cオプション’の特徴と使い方
- ‘-nオプション’の特性と活用法
- ‘-qオプション’の使い方
- ‘-vオプション’の利点と使用方法
‘-cオプション’の特徴と使い方
‘-c’オプションは、ファイルの先頭から指定したバイト数だけ表示するときに使用します。
head -c 20 sample.txt
“sample.txt”の先頭から20バイト分のデータを表示します。
‘-nオプション’の特性と活用法
‘-n’オプションは、表示する行数を指定するオプションです。
デフォルトで出力される10行をカスタマイズできます。
head -n 5 sample.txt
先頭から5行だけ表示します。
‘-qオプション’の使い方
‘-q’オプションは、ファイル名の出力を抑制できるもの。
デフォルトでは、複数のファイルを指定すると、各ファイル名が出力されてしまいます。
head -q -n 5 sample1.txt sample2.txt
2つのファイルそれぞれの最初の5行を出力しますが、ファイル名は表示しません。
‘-vオプション’の利点と使用方法
‘-v’オプションは、ファイル名を強制的に表示するオプションです。
複数のファイルを指定した際、どの出力がどのファイルから来ているのかを知りたい場合に使います。
head -v -n 5 sample1.txt sample2.txt
各ファイルの最初の5行を出力する前にそのファイル名を表示します。
【応用編】headコマンドとsedコマンドの組み合わせ
“headコマンド”と”sedコマンド”を組み合わせることで、ファイルの特定範囲だけを抽出できます。
head -n 20 sample.txt | sed -n '10,20p'
“sample.txt”の10行目から20行目までを表示します。
これは”headコマンド”でファイルの先頭20行を抽出し、その結果を”sedコマンド”に渡して最後の10行だけを抽出する、という処理をおこなっているのです。
コマンドファミリー紹介
Linuxシステムでは、”headコマンド”と並んでさまざまなテキスト操作関連のコマンドも提供されています。
それらの基本的な紹介をしていきます。
- “catコマンド”について
- “tailコマンド”の解説
- “viコマンド”の基本情報
“catコマンド”について
“catコマンド”は、テキストファイルの内容を結合や表示をおこなうコマンドです。
特に、小さなテキストファイルの内容をターミナル上にすばやく表示したいときに便利。
使用方法は非常にシンプルです。
cat sample.txt
“sample.txt”の全ての内容を表示します。
詳しくはこちらをどうぞ。
“tailコマンド”の解説
“tailコマンド”は、“headコマンド”とは反対に、ファイルの末尾の部分を表示するもの。
デフォルトでは末尾10行が表示されますが、以下のようにカスタマイズも可能です。
tail -n 20 sample.txt
末尾から20行を表示します。
“viコマンド”の基本情報
“viコマンド”は、Unix系OSで広く利用されているテキストエディタのひとつです。
端末(Macでいうターミナル)から、直接テキストファイルを編集するための多くの機能を備えています。
基本的な使用方法は、こちら。
vi sample.txt
“sample.txt”を開き、’i’キーで挿入モードに移行し、’esc’キーでコマンドモードに戻り、’:wq’で保存して終了します。
トラブルシューティング:頻出エラーとその解決法
headコマンドを扱ううえで、よくあるエラーは以下のとおり。
- ファイルが存在しない:「head: sample.txt: No such file or directory」のようなエラーが表示された場合、指定したファイルが存在していません。
ファイル名が間違っているか、正しいパスを指定しているかを確認しましょう。 - パーミッションがない:「head: sample.txt: Permission denied」のようなエラーは、ファイルを読む権限がないことを示しています。
この場合、「chmod」コマンドを使用して適切な権限を付与する必要があります。
これらのエラーは一般的なものであり、それ以外のエラーについては、「man head」コマンドやオンラインのリソースを参照してください。
まとめ
当記事を通じて、「headコマンド」について以下のことを学びました。
- “headコマンド”は、テキストファイルやコマンドの出力の先頭部分を表示する
- “-n” オプションで表示する行数、”-c” オプションで表示する文字数を指定できる
- “-q”オプションでファイル名の出力を抑制
- “-v”オプションでファイル名を強制的に表示できる
- “headコマンド”は他のコマンドと組み合わせて使用することで、より複雑なテキスト操作がおこなえる
“headコマンド”の使い方をマスターしたとしても、Linuxの世界は広大で、まだまだ学ぶべきことは山ほどあります。
また、具体的な状況や問題に対する解決策を理解するためには、さまざまなコマンドやオプション、その組み合わせを知ることが不可欠です。
学び続けることの重要性を忘れず、日々の操作に活かしていきましょう。