カテゴリ: Linuxコマンド集 更新日: 2026/03/30

head -cオプションの使い方を完全解説!初心者でもわかるバイト数指定表示の基本

head -cオプション|指定したバイト数だけ先頭を表示する
head -cオプション|指定したバイト数だけ先頭を表示する

先生と生徒の会話形式で理解しよう

生徒

「Linuxのheadコマンドで、最初の何バイトだけ表示する方法ってありますか?」

先生

「はい、それには-cオプションを使います。行ではなく、バイト単位で指定できますよ。」

生徒

「バイトって何ですか?行数とは違うんですか?」

先生

「バイトはデータの大きさを表す単位です。文字数とは必ずしも一致しないので、丁寧に説明していきますね!」

1. head -cオプションとは?

1. head -cオプションとは?
1. head -cオプションとは?

Linuxコマンドのheadは、ファイルの先頭部分を表示するためのコマンドです。通常は-nオプションで「行数」を指定しますが、-cオプションを使うと「バイト数」で指定できます。つまり、ファイルの最初から「◯バイト分」だけを抜き出して表示することができます。

head -cは、テキストファイルやバイナリファイルの一部だけを確認したいときにとても便利です。

2. バイトとは?初心者でもわかるように解説

2. バイトとは?初心者でもわかるように解説
2. バイトとは?初心者でもわかるように解説

「バイト(byte)」とは、データの大きさを表す単位で、1バイトでアルファベット1文字が表現できます。たとえば、「A」や「B」は1バイトです。ですが、日本語の「あ」や「漢字」などは、1文字でも2バイト〜3バイト以上になることがあります。

つまり、「5バイトだけ表示する」といっても、文字数とは一致しないことがあるので注意が必要です。これは、ファイルの中身を正確に一部だけ抜き出したい場面で重要になります。

3. 基本的な書き方と使い方

3. 基本的な書き方と使い方
3. 基本的な書き方と使い方

head -cオプションの基本的な使い方は、以下のように書きます。


head -c バイト数 ファイル名

例えば、「sample.txt」というファイルの先頭から10バイトだけ表示したい場合は、以下のように実行します。


head -c 10 sample.txt
こんにちは世

この結果では、10バイト分のデータが表示されます。たとえば「こ」「ん」「に」は1文字ずつで3バイト、「ち」「は」もそれぞれ3バイト近くになるので、合計して約10バイト分になる文字数だけが表示されます。

4. head -nとの違いは?

4. head -nとの違いは?
4. head -nとの違いは?

headコマンドには-nオプションもありますが、こちらは「行数」を指定するものです。例えば-n 3なら、上から3行分を表示します。

一方で-cは「バイト数」を指定するので、改行を含めたデータサイズで判断します。細かく内容を制御したいときは-c、行単位で見たいときは-nを使いましょう。

5. head -cの使用例をいくつか紹介

5. head -cの使用例をいくつか紹介
5. head -cの使用例をいくつか紹介

ここではhead -cを使った、よくあるパターンや便利な例をいくつか紹介します。

■ ファイルの先頭の数バイトだけ表示したいとき


head -c 5 data.txt
12345

データファイルの冒頭だけ確認したいときに使えます。

■ headとパイプを組み合わせて、コマンドの出力を制限


ls -l | head -c 100
合計 12
-rw-r--r-- 1 user user  20  9月 16 10:00 a.txt
-rw-r--r--

ls -lの出力を100バイトだけに制限しています。

6. head -cの注意点

6. head -cの注意点
6. head -cの注意点

-cオプションを使うと、文字が途中で切れてしまうことがあります。特に日本語(マルチバイト文字)は、1文字が複数バイトなので、途中で区切られると文字化けの原因になります。

そのため、日本語テキストを対象にする場合は、正確な文字の数ではなくバイト数であることを意識して使いましょう。

7. tail -cとの違い

7. tail -cとの違い
7. tail -cとの違い

head -cは「先頭からバイト数分だけ」表示しますが、逆に「末尾から表示したい」ときはtail -cを使います。


tail -c 10 sample.txt
るの内容です。

このように、head -ctail -cを組み合わせて使えば、ファイルの先頭や末尾を細かく確認できます。

8. head -cとddコマンドの違い

8. head -cとddコマンドの違い
8. head -cとddコマンドの違い

Linuxには同じようにバイト単位で読み取るddというコマンドもありますが、使い方が少し複雑です。

ddは入出力の制御が細かくできる一方、head -cは「とりあえず先頭を少し確認したい」ときに直感的に使えるのがメリットです。

まとめ

まとめ
まとめ

今回の記事では、Linuxの基本コマンドであるheadコマンドの-cオプションについて詳しく解説してきました。 通常、ファイルの先頭を確認する際は行数を指定する-nオプションを多用しますが、データのサイズや特定のバイト位置を意識する必要がある場面では、この-cオプションが非常に強力な武器になります。

head -cオプションの重要ポイント

head -cを活用する上で、絶対に押さえておきたいポイントは以下の3点です。

  • 「行」ではなく「バイト」単位で抽出する:改行コードに関係なく、指定したデータ量だけを正確に取得できます。
  • マルチバイト文字(日本語)の扱いに注意:UTF-8環境の日本語は1文字3バイト程度消費するため、中途半端な数字を指定すると文字化けが発生します。
  • バイナリファイルの解析に最適:テキスト形式ではない画像や実行ファイルなど、中身を少しだけ覗きたい時に重宝します。

実践的なサンプルコマンド集

理解を深めるために、実際の現場でよく使われるコマンド例をいくつかおさらいしておきましょう。 まずは、環境変数や設定ファイルなどの一部をクイックに確認する場合です。


echo "Linux-Standard-Operation" > test.txt
head -c 5 test.txt
Linux

このように、文字列の先頭5文字(5バイト)だけが綺麗に抽出されます。 次に、ルート権限が必要なシステムログ(例:/var/log/messages等)の一部をバイト指定で確認する際の記述方法です。


head -c 20 /var/log/syslog
Mar 25 07:56:15 loc

システム管理の現場では、巨大なログファイルのヘッダー部分だけをサッと確認したい時に、この「バイト指定」が役立ちます。 特にネットワーク経由でデータを転送する際や、ストレージの空き容量を考慮して出力を制限したい場合に有効なテクニックです。

SEO視点でのLinux学習アドバイス

Linuxのコマンド操作をマスターすることは、Webエンジニアやインフラエンジニアとしての市場価値を大きく高めます。 Google検索で「Linux コマンド 使い方」や「headコマンド オプション」と調べる初心者は非常に多いですが、 今回学んだ-cオプションのような「少し専門的な使い方」を知っているだけで、トラブルシューティングの幅が格段に広がります。 常に「なぜこのオプションが必要なのか?」を考えながら、実際に手を動かしてコマンドを叩く習慣をつけましょう。

先生と生徒の振り返り会話

生徒

先生、まとめありがとうございます!head -cって、テキストだけじゃなくて「データそのもの」を扱うイメージなんですね。

先生

その通りです!よく気づきましたね。プログラミングでファイルを読み込むとき、先頭の数バイトに「ファイル形式の情報(マジックナンバー)」が入っていることが多いんです。それを確認する時などに大活躍しますよ。

生徒

なるほど、画像ファイルが本当にJPEGなのか確かめたりできるんですね。でも、日本語の文字化けはちょっと怖いかも…。

先生

そうですね。日本語を扱うなら、1文字が何バイトか意識するか、素直に-nで行数を指定するのが安全です。ただ、不具合調査などで「壊れたデータ」を調べる時は、あえてバイト単位で細かく見る必要があるんですよ。

生徒

使い分けが大事なんですね。ルート権限のコマンドも教えてもらったので、サーバー管理の練習の時にも試してみます!

先生

素晴らしい意気込みですね!コマンド一つ一つに役割があります。head -cを覚えたことで、あなたのLinuxスキルはまた一歩前進しました。これからも「なぜ?」を大切に学習を続けていきましょう!

カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
tail -cオプションの使い方を完全解説!Linuxで末尾のバイト数を指定して表示しよう
New2
テキスト・データ処理
head -cオプションの使い方を完全解説!初心者でもわかるバイト数指定表示の基本
New3
プロセス管理
Linuxのプロセスとは?初心者でもわかる基本概念と仕組みをやさしく解説
New4
テキスト・データ処理
head -nオプションの使い方を完全解説!Linuxで先頭の行数を指定して表示する方法
人気記事
No.1
Java&Spring記事人気No1
Linuxコマンドの基本
Linuxコマンドとは?基本の考え方とシェルとの関係を初心者向けに徹底解説
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!
No.3
Java&Spring記事人気No3
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本