はじめに
Linuxを勉強していると、
ある日ふとこんな言葉に出会います。
-
改行コード
-
CR / LF / CRLF
正直、最初は
「改行ってEnter押しただけじゃないの?」
と思いがちですよね。
でもこの改行コード、
実は Linuxの基礎知識としてかなり重要で、
LinuC(Linux技術者認定試験)でも普通に出題されます。
この記事では、
-
そもそも改行コードとは何か
-
CR / LF / CRLF の違い
-
なぜOSごとに違いがあるのか
-
なぜLinux学習で出てくるのか
を、試験勉強+実務の両方で役立つ視点で解説します。
改行コードとは何か?
改行コードとは、
「ここで行を終わらせて、次の行に移る」
ことをコンピュータに伝えるための制御文字です。
私たちがキーボードで Enter を押すと、
画面上では単純に改行されて見えますが、
内部的には 特定の文字コード が記録されています。
この「どの文字を使うか」が、
OSごとに違う、というのが改行コード問題の正体です。
CR・LF・CRLF の違い
改行コードには主に次の3種類があります。
| 種類 | 正式名称 | 意味 |
|---|---|---|
| CR | Carriage Return | 行頭に戻る |
| LF | Line Feed | 次の行へ進む |
| CRLF | CR + LF | 行頭に戻って次の行へ |
この名前、かなり機械っぽいですが、
昔のタイプライターが由来になっています。
-
CR:ガチャっと行の先頭に戻す
-
LF:紙を1行分送る
この2つをどう使うかが、
OSごとに分かれました。
OSごとの改行コードの違い
それぞれのOSでは、以下のように扱われています。
| OS | 改行コード |
|---|---|
| Windows | CRLF |
| Linux | LF |
| macOS | LF |
Windowsだけが CRLF(2文字)、
LinuxとmacOSは LF(1文字) を使います。
ここがLinux学習でよく話題になるポイントです。
なぜLinuxではLFだけなのか?
LinuxはUNIX系OSの流れを汲んでおり、
UNIXでは LFだけを改行とする設計が採用されました。
シンプルで扱いやすく、
テキスト処理を前提とした文化が強かったためです。
一方、Windowsは
過去の互換性を重視した結果、
CRLFという形式が残りました。
どちらが正しい・間違いではなく、
歴史と設計思想の違いです。
なぜLinuC試験に出てくるのか?
LinuC試験では、
-
LinuxはテキストベースのOSである
-
設定ファイルやスクリプトを扱う
-
他OSとの違いを理解しているか
といった 基礎リテラシー が問われます。
その中で、
-
Linuxの改行コードは LF
-
Windowsは CRLF
という違いは、
**暗記レベルではなく「前提知識」**として出題されます。
実務でも、
-
Windowsで作ったファイルをLinuxで使う
-
Gitで複数OSの人が作業する
といった場面が多く、
「知らないと原因が分からない」状態になりやすいです。
注意点
見た目ではほぼ分からない
改行コードはエディタ上では見えません。
「見た目は同じファイル」でも、
内部的には違う、というのが厄介な点です。
知識として知っておくだけでOK
この段階では、
-
無理に変換方法を覚える
-
コマンドを暗記する
必要はありません。
まずは
「LinuxはLF」
「WindowsはCRLF」
これを押さえるだけで十分です。
まとめ
改行コードは地味ですが、
Linuxを理解するうえで避けて通れない基礎知識です。
ポイントを整理すると、
-
改行コードは「行を区切るための制御文字」
-
CR:行頭に戻る
-
LF:次の行へ進む
-
Linuxは LF
-
Windowsは CRLF
-
LinuC試験にも普通に出てくる
最初はピンとこなくても、
後から必ず
「これ知っててよかった」
となる知識なので、今のうちに押さえておきましょう。


コメント