結論

コンソールとは、コンピューターに文字で指示を出し、結果や記録を文字で受け取る「窓口」のことです。IT では、ブラウザの開発者コンソール・OS のコンソール(端末)・AWS などの管理コンソール・ゲーム機、の4つの意味で使われ、文脈で見分けます。

この記事でわかること

  • コンソール・ターミナル・シェル・コマンドプロンプトの違いと、4つの意味の見分け方
  • Chromium で動かした console.log・table・time・group の実物と、赤いエラー行のどこを読むか
  • Linux の /dev/console・tty・dmesg と Node.js の REPL の出力、console.log を本番から消す方法

2026年10月29日更新|Chromium 153・Ubuntu 24.04・Node.js 22.23 で実行確認

「コンソールを開いて確認して」と言われたとき、ブラウザの話なのか、サーバーの話なのか、クラウドの画面の話なのかは、言った人がどの仕事をしているかで変わります。どれも「文字で指示を出し、文字で結果を受け取る窓口」という元の意味は同じです。

flowchart LR
    C[コンソール<br>文字で指示し<br>文字で受け取る] --> B[ブラウザのコンソール<br>console.log・エラー]
    C --> O[OS のコンソール<br>/dev/console・端末]
    C --> M[管理コンソール<br>AWS など]
    C --> G[ゲーム機<br>game console]

よく調べられることの答えを先にまとめます。

知りたいこと 答え 詳しい節
コンソールとは(意味) 文字で指示を出し、結果や記録を文字で受け取る窓口。4つの意味がある コンソールとは
コンソールとターミナルの違い コンソールは本体に直結した窓口、ターミナルは窓口の装置(今は画面のアプリ) コンソール・ターミナル・シェルの違い
ブラウザ コンソールとは 開発者ツールの Console。JavaScript のログとエラーが出て、式も打てる ブラウザのコンソールとは
コンソールの開き方 Chrome・Edge は Ctrl+Shift+J(Mac は Command+Option+J)、Firefox は Ctrl+Shift+K コンソールを開く方法
console.log の意味 値をコンソールに書き出す命令。info・warn・error・debug でレベルが変わる console.log の実物
赤いエラーの読み方 「エラーの種類: 説明」→「at 関数名 (ファイル:行:列)」の順に読む エラー表示の読み方
Linux の コンソール 意味 カーネルのメッセージが出る本体直結の端末。/dev/console・dmesg で見る Linux のコンソール
AWS コンソールとは ブラウザで AWS を操作する管理画面(マネジメントコンソール) 管理コンソールとゲーム機
console.log を本番で消す esbuild の --drop:console や terser の drop_console で取り除く console.log が本番に残る問題

確認環境:Ubuntu 24.04.5 LTS(カーネル 6.18、起動パラメーター console=ttyS0)の上で、Chromium 153.0(playwright 1.63.0、ヘッドレス)に 127.0.0.1 の自作ページを開き、Chrome DevTools Protocol の Runtime.consoleAPICalled・Runtime.exceptionThrown で、コンソールに届くメッセージの種類・引数・ファイル名・行・列をそのまま記録しました。コンソールに手で打ったときの結果は、同じ接続で Command Line API を有効にして評価しています。Linux 側は tty・script・/proc/consoles・dmesg(util-linux 2.39.3)を実行し、Node.js 22.23.4 の REPL は擬似端末を付けて操作しました。console.log の削除は esbuild 0.28.2 と terser 5.51.2 で行っています。Chrome・Edge・Firefox・Safari の開き方は各社の公式ドキュメント、AWS マネジメントコンソールは AWS の公式ページ、Windows のコンソールは Microsoft Learn、console= の意味はカーネルの公式ドキュメントで確かめました(確認日 2026年10月29日)。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「コンソールとは|意味の使い分けとブラウザのコンソールの開き方・読み方」

コンソールとは(IT での4つの意味)

この節では、コンソールという言葉が IT のどの場面で、どの意味で使われるかが分かります。

コンソール(console)は、もともと大型コンピューターの「操作卓(制御卓)」を指す言葉です。国語辞典(デジタル大辞泉・精選版日本国語大辞典)でも「コンピューターを操作する入出力装置の一式」「制御卓・操作卓」と説明されています。そこから「人がコンピューターに文字で指示を出し、文字で結果や記録を受け取る窓口」という意味が広がり、今は次の4つの使われ方に分かれます。

1

ブラウザの開発者コンソール

Chrome・Edge・Firefox・Safari の開発者ツールにある Console。JavaScript の console.log の出力とエラーが並び、式を直接打って試せる。

Web 制作・フロントエンドの「コンソール」

2

OS のコンソール(端末)

Linux ではカーネルのメッセージが出る本体直結の端末(/dev/console)。広くは、黒い画面でコマンドを打つ場所全般を指して「コンソール」と呼ぶ。

サーバー運用・インフラの「コンソール」

3

管理コンソール

AWS マネジメントコンソール、Google Search Console、Google 管理コンソールのように、サービスをブラウザの画面で操作する「管理画面」を指す。文字ではなく画面の操作が中心。

クラウド・SaaS の「コンソール」

4

ゲーム機

英語の game console(家庭用ゲーム機)。「コンソール版」「コンソールゲーム」は、PC やスマホではなく据え置き・携帯ゲーム機向けという意味。

ゲーム業界の「コンソール」

どの意味かは、次の表のように「誰が、何の話の中で言ったか」で見分けられます。

言われた場面 指している物 開き方・見方
「コンソールにエラー出てない?」(Web 制作) ブラウザの開発者コンソール F12 → Console タブ
「コンソールで叩いて」(サーバー・Linux) 端末(ターミナル)でコマンドを打つこと ターミナルを開く・SSH で入る
「コンソールにしか出ない」(カーネル・起動時) /dev/console(シリアル・画面) dmesg・シリアル接続
「コンソールから設定して」(クラウド・SaaS) 管理画面(マネジメントコンソール) ブラウザでサインイン
「コンソール版も出る」(ゲーム) 家庭用ゲーム機 —
「コンソールアプリ」(Windows・.NET) 画面の無い、文字だけで動くプログラム コマンドプロンプト等で実行

IT 以外では、パイプオルガンの演奏席、車の運転席と助手席の間の収納(センターコンソール)、音響の調整卓(ミキシングコンソール)、壁から張り出した棚(コンソールテーブル)も同じ言葉です。「操作する人が向かう台」という共通点があります。

コンソール・ターミナル・シェル・コマンドプロンプトの違い

この節では、似た言葉の役割の違いと、日常会話で混ざっても困らない理由が分かります。

ターミナルは「文字を映して入力を受ける装置(今はアプリ)」、シェルは「打ったコマンドを解釈して実行するプログラム」、コンソールは「本体に直結した窓口」で、コマンドプロンプトは Windows の端末兼シェルの名前です。黒い画面を見ているとき、画面そのものがターミナル、その中で ls を理解しているのがシェルです。

言葉 役割 例
コンソール 本体に直結した入出力の窓口。カーネルの緊急メッセージの出口 /dev/console、サーバーのシリアルコンソール
ターミナル(端末) 文字を表示し、キー入力を受け渡す装置・アプリ(端末エミュレーター) GNOME 端末、macOS のターミナル.app、Windows Terminal
シェル 打ったコマンドを解釈し、プログラムを起動する bash、zsh、PowerShell、cmd.exe
コマンドプロンプト Windows の cmd.exe と、その画面の呼び名 cmd.exe
REPL 1行打つと結果が返る対話の仕組み。コンソールの中で動く ブラウザの Console、node、python

この環境で確かめると、関係が実物で見えます。この記事の作業は端末を付けずに動かしているため、tty は「端末ではない」と答えます。script コマンドで擬似端末(pty)を付けると、/dev/pts/0 という端末名が現れ、ps の TT 列にも pts/0 と出ます。

$ tty
not a tty

$ script -q -c 'tty; echo SHELL=$SHELL; ps -o pid,tty,comm -p $$' /dev/null
/dev/pts/0
SHELL=/bin/bash
  PID TT       COMMAND
 1359 pts/0    ps

つまり「端末(pts/0)の上で、シェル(bash)が動き、そのシェルがコマンド(ps)を起動する」という3層です。日常会話では「ターミナルで」「コンソールで」「シェルで」はほぼ同じ意味で使われ、どれで言われても「黒い画面でコマンドを打つ」と理解すれば困りません。厳密に分けるのは、カーネルの話(/dev/console)か、ブラウザの話(Console タブ)のときです。

ブラウザのコンソールとは(開発者ツールの Console)

この節では、Web 制作で最も多く出てくる「ブラウザ コンソール」が何をする場所かが分かります。

ブラウザのコンソールは、開いているページの JavaScript が出したログとエラーを時系列で表示し、その場で JavaScript を打って試せる画面です。Chrome の公式ドキュメントは、Console の用途を「JavaScript が意図どおり動いているかをログで確かめる」ことと「ページに対して JavaScript を実行する」ことの2つだと説明し、ページの window にアクセスできる REPL として働くと書いています。

見る場所として

console.log・warn・error の出力が並ぶ

JavaScript のエラーが赤い行で出る

読み込みに失敗したファイル(404)や CORS の失敗も出る

打つ場所として

document.title のようにページの中身を読める

変数や関数をその場で呼べる

$('h1') などの短縮ユーティリティが使える

開発者ツールには Elements(HTML と CSS)、Network(通信)、Sources(デバッガー)など多くのタブがあり、Console はその1つです。開発者ツール全体の使い方は、関連記事「Chrome DevToolsの使い方|デバッグ手順と便利機能一覧」で扱っています。この記事では Console タブに絞ります。

コンソールを開く方法(Chrome・Edge・Firefox・Safari・スマホ)

この節では、OS とブラウザ別に、コンソールを開くキーと手順が分かります。

Chrome と Edge は Windows・Linux で Ctrl+Shift+J、Mac で Command+Option+J を押すと、開発者ツールが Console を選んだ状態で開きます。Firefox は Ctrl+Shift+K(Mac は Command+Option+K)、Safari は先に「開発」メニューを有効にしてから Option+Command+C です。各社の公式ドキュメントで確かめた範囲を表にします。

ブラウザ Windows・Linux Mac メニューから
Chrome Ctrl+Shift+J(F12 は開発者ツール) Command+Option+J その他のツール → デベロッパー ツール → Console
Edge Ctrl+Shift+J(F12・Ctrl+Shift+I は前回のツール) Command+Option+J 設定など → その他のツール → 開発者ツール
Firefox Ctrl+Shift+K Command+Option+K ブラウザーツール → ウェブ開発ツール → コンソール
Safari — Option+Command+C(開発メニューを有効にしてから) 設定 → 詳細 → 「ウェブデベロッパ用の機能を表示」

どのブラウザでも、ページを右クリックして「検証」「要素を調査」を選ぶと開発者ツールが開き、その中の Console タブへ移れます。Edge の公式ドキュメントには、F12 で開かないようにする設定(edge://settings/system の Developer Tools)があることも書かれています。スマホのブラウザには開発者ツールがなく、Android は PC の Chrome に USB でつないでリモートデバッグ、iPhone は Mac の Safari の「開発」メニューから見るのが公式の方法です。

開いた直後に覚えておくと戸惑わない点を3つ挙げます。

1ページを読み込み直すと消える

Chrome の既定では、新しいページを読み込むとコンソールはクリアされます。残したいときは設定の Preserve log を有効にします。

2Verbose(debug)は隠れている

ログレベルの選択で Verbose を有効にしないと、console.debug の行は表示されません。「出ているはずの行が無い」ときはここを見ます。

3消すのは Ctrl+L か clear()

画面を空にするには Clear console ボタン、Ctrl+L(Mac は Command+K)、またはコンソールに clear() と打ちます。

console.log の実物(log・info・warn・error・debug とログレベル)

この節では、JavaScript からコンソールに書き出す5つの命令が、どのレベルで、どう表示されるかが分かります。

console.log は値をコンソールに書き出す命令で、info は同じ扱い、warn は黄色の警告、error は赤いエラー、debug は Verbose レベルで既定では隠れます。次のスクリプトを 127.0.0.1 のページから読み込み、Chromium に届いたメッセージを記録しました。

console.log("ページを読み込みました");
console.log("数値と文字列:", 42, "円", { id: 1, name: "りんご" });
console.info("info: 補足の情報");
console.warn("warn: 非推奨の書き方です");
console.error("error: 処理に失敗しました");
console.debug("debug: 既定では隠れています");

Chrome DevTools Protocol で受け取った内容は次のとおりです。種類(type)、引数、出た場所(ファイル:行)が付いています。

type     引数                                            場所
log      'ページを読み込みました'                         app.js:1
log      '数値と文字列:' 42 '円' Object                   app.js:2
info     'info: 補足の情報'                               app.js:3
warning  'warn: 非推奨の書き方です'                       app.js:4
error    'error: 処理に失敗しました'                      app.js:5
debug    'debug: 既定では隠れています'                    app.js:6

コンソールでは、各行の右端に app.js:2 のような場所が表示され、クリックすると Sources タブでその行が開きます。log・info が Info レベル、warn が Warning、error が Error、debug が Verbose という対応は Chrome の Console API リファレンスに書かれているとおりで、ログレベルの選択で表示を絞れます。

命令 レベル 表示 使いどころ
console.log Info 通常の文字 値の確認。開発中の一時的な確認に
console.info Info log と同じ 意味づけだけ。表示は変わらない
console.warn Warning 黄色の背景・三角のアイコン 動くが望ましくない状態(非推奨の使い方など)
console.error Error 赤い背景・スタックトレース付き 失敗。catch の中で原因を残す
console.debug Verbose 既定では非表示 細かい追跡。Verbose を有効にしたときだけ見る

2行目のように、引数をカンマで並べると、文字列はそのまま、数値は青、オブジェクトは折りたたみ付きで表示され、クリックで中身を展開できます。"合計: " + obj のように文字列に連結すると [object Object] になって中身が見えなくなるため、カンマで区切るのが基本です。サーバー側のログレベルの考え方は、関連記事「ログレベルの使い分け|ERROR・WARN・INFO・DEBUGの判断基準とログ設計」で扱っています。

console.table・time・group・count・assert・trace の実物

この節では、log より一歩進んだ命令が、コンソールで何をしてくれるかが分かります。

table は配列を表に、time と timeEnd は経過時間を、group と groupEnd は入れ子の折りたたみを、count は回数を、assert は条件が偽のときだけエラーを、trace は呼び出し経路を表示します。同じページで次のコードを動かしました。

const items = [
  { name: "りんご", price: 120, stock: 3 },
  { name: "みかん", price: 80, stock: 0 },
  { name: "バナナ", price: 150, stock: 12 },
];
console.table(items);

console.time("合計の計算");
let total = 0;
for (const it of items) total += it.price * it.stock;
console.timeEnd("合計の計算");

console.group("注文の処理");
console.log("在庫を確認");
console.group("支払い");
console.log("カードで決済");
console.groupEnd();
console.groupEnd();

console.count("クリック");
console.count("クリック");
console.assert(total > 5000, "合計が5000未満です", { total });
console.trace("ここまでの呼び出し");

届いたメッセージは次のとおりです。

type        引数                                 場所
table       Array(3)                             app.js:13
timeEnd     '合計の計算: 0.02490234375 ms'        app.js:18
startGroup  '注文の処理'                          app.js:20
log         '在庫を確認'                          app.js:21
startGroup  '支払い'                              app.js:22
log         'カードで決済'                        app.js:23
endGroup                                         app.js:24
endGroup                                         app.js:25
count       'クリック: 1'                         app.js:27
count       'クリック: 2'                         app.js:28
assert      '合計が5000未満です {total: 2160}'    app.js:29
trace       'ここまでの呼び出し'                   app.js:31

console.table は、コンソール上では (index)・name・price・stock の4列の表になり、列の見出しをクリックすると並べ替えられます。第2引数に ["name", "price"] のように列名を渡すと、その列だけを表示できます(Chrome の公式リファレンスに記載)。同じ命令を Node.js で実行すると、罫線の文字で描いた表が標準出力に出ます。

┌─────────┬───┬───┐
│ (index) │ a │ b │
├─────────┼───┼───┤
│ 0       │ 1 │ 2 │
│ 1       │ 3 │ 4 │
└─────────┴───┴───┘

console.time と timeEnd は同じラベルで対にして使い、2回目以降の計測は 0.02ms 台でした(初回は 2.1ms。コードの最適化前後で桁が変わります)。group は、コンソールで「注文の処理」の下に「在庫を確認」と「支払い」が字下げされ、「支払い」の下に「カードで決済」がさらに字下げされて表示されます。assert は total > 5000 が偽なので「Assertion failed: 合計が5000未満です {total: 2160}」が赤い行で出ました。条件が真なら何も出ません。trace は、その行までの関数の呼び出し経路を表示するため、「この関数はどこから呼ばれたのか」を追うときに使います。

エラー表示(赤い行)の読み方

この節では、コンソールに出た赤いエラーのどこを見れば原因の場所が分かるかが、実物で分かります。

赤い行は「エラーの種類: 説明」が1行目、その下の「at 関数名 (ファイル:行:列)」が発生した場所で、いちばん上の at が直接の原因の行です。ボタンを押すと undefined の中身を読もうとして失敗するコードを用意しました。

function calcTotal(order) {
  return order.items.length;        // 34行目
}
document.getElementById("btn").addEventListener("click", () => {
  const order = undefined;
  calcTotal(order);                 // 38行目
});

ボタンをクリックしたときに Chromium が投げた例外の原文です。

Uncaught TypeError: Cannot read properties of undefined (reading 'items')
    at calcTotal (http://127.0.0.1:18105/app.js:34:16)
    at HTMLButtonElement.<anonymous> (http://127.0.0.1:18105/app.js:38:3)

読む順番は次のとおりです。

1

Uncaught と種類を見る

Uncaught は「catch されずに最後まで来た」の意味。TypeError は「型が合わない操作」で、undefined や null のプロパティを読んだときに出る代表です。ReferenceError なら「定義されていない名前」、SyntaxError なら「文法の誤り」です。

1行目の先頭

2

説明文で「何を」読もうとしたか見る

Cannot read properties of undefined (reading 'items') は「undefined の items を読もうとした」。つまり .items の左側(order)が undefined だったと分かります。

1行目の後半

3

いちばん上の at で場所を特定する

at calcTotal (app.js:34:16) は「app.js の34行目16列目、関数 calcTotal の中」。コンソールでは app.js:34 の部分がリンクになっていて、クリックすると Sources タブでその行が開きます。

2行目

4

下の at で「誰が呼んだか」をたどる

at HTMLButtonElement.<anonymous> (app.js:38:3) は「ボタンのクリック処理(名前の無い関数)の38行目から呼ばれた」。原因は34行目でも、直すのは38行目で undefined を渡している側、という判断ができます。

3行目以降

ライブラリやブラウザ内部の行は薄い色で表示される設定(Ignore list)があるため、まず自分のファイル名が付いた行の中でいちばん上を見ます。読み込みに失敗したファイルは、JavaScript のエラーとは別の形で出ます。存在しない missing.js を読み込ませたときの原文です。

Failed to load resource: the server responded with a status of 404 (File not found)   missing.js:1

この行は右端のファイル名(missing.js)が手がかりで、Network タブで同じファイルの状態(404)を確かめられます。このエラー文そのものの原因7つは、関連記事「Cannot read properties of undefined原因7つ」で扱っています。

コンソールに直接打つ(REPL としての使い方と $0・$ などの短縮)

この節では、コンソールの入力欄に JavaScript を打ったときに何が返るかと、コンソールだけで使える短縮の書き方が分かります。

入力欄に式を打って Enter を押すと、その場で評価され、結果が次の行に返ります。ページの変数・関数・DOM にそのままアクセスでき、$()・$$()・$_・keys() などのコンソール専用の短縮も使えます。同じページで、Command Line API を有効にして評価した結果です(> が打った式、次の行が返った値)。

> 1 + 1
2
> document.title
'console test'
> $('h1').textContent
'コンソールの確認ページ'
> $$('script').length
2
> location.href
'http://127.0.0.1:18105/'
> items.map(i => i.name)
Array(3)  ['りんご', 'みかん', 'バナナ']
> total
2160
> keys({a:1,b:2})
Array(2)  ['a', 'b']
> foo
ReferenceError: foo is not defined
> JSON.parse('{bad')
SyntaxError: Expected property name or '}' in JSON at position 1 (line 1 column 2)
> fetch('/api')
Promise {<pending>}

スクリプトの中で宣言した items や total をそのまま読めているのは、コンソールがページと同じ window で動いているからです。Chrome の公式ドキュメントも「ページの内容を書き換えることもできる」と書いており、document.body.style.background = 'yellow' と打てば、その場で背景が変わります(再読み込みで元に戻ります)。

短縮 意味 通常の書き方
$('h1') 最初に一致する要素 document.querySelector('h1')
$$('script') 一致する要素の配列 Array.from(document.querySelectorAll('script'))
$0 Elements タブで選んでいる要素 —(コンソール専用)
$_ 直前の式の結果 —(コンソール専用)
keys(obj)・values(obj) キー・値の配列 Object.keys(obj)・Object.values(obj)
copy(obj) クリップボードへ文字列としてコピー —(コンソール専用)
clear() コンソールを空にする console.clear()

これらの短縮はコンソールの中だけで使えるもので、ページのスクリプトに書くと ReferenceError になります(ページが jQuery を読み込んでいる場合は $ が jQuery に置き換わります)。注意したいのは、他人に「コンソールにこれを貼って」と言われたコードです。コンソールはログインしているページと同じ権限で動くため、中身が分からないコードは貼らないのが原則です。Chrome は、コンソールの使用履歴が少ないプロファイルで貼り付けると「allow pasting」と打つまで貼り付けを止める警告を出します(Chrome の公式ブログ「自己 XSS 攻撃とは」に記載)。

Linux のコンソール(/dev/console・tty・dmesg)

この節では、サーバーやカーネルの文脈で言う「コンソール」が何を指し、どう見るかが実物で分かります。

Linux のコンソールは、カーネルが起動メッセージやエラーを書き出す本体直結の端末で、デバイスファイル /dev/console(キャラクターデバイス 5,1)がその入口です。どの物理的な出口につながるかは、起動時の console= パラメーターで決まります。この環境は仮想マシンで、シリアルポート ttyS0 がコンソールです。

$ tr ' ' '\n' </proc/cmdline | grep ^console
console=ttyS0

$ cat /proc/consoles
ttyS0                -W- (EC  p a)    4:64

$ cat /sys/class/tty/console/active
ttyS0

$ ls -l --time-style=+ /dev/console /dev/tty /dev/ttyS0
crw------- 1 root root 5,  1  /dev/console
crw-rw-rw- 1 root root 5,  0  /dev/tty
crw------- 1 root root 4, 64  /dev/ttyS0

カーネルの公式ドキュメント(Linux Serial Console)には、console= を複数書けること、指定が無いときは /dev/console が /dev/tty0(画面)と同じになること、複数書いたときは最後に書いたものが /dev/console になることが書かれています。物理サーバーに画面とキーボードをつないで見える黒い画面、クラウドの仮想マシンで「シリアルコンソール」として提供される画面は、どちらもこの /dev/console の先です。SSH で入った端末は /dev/pts/0 のような擬似端末で、コンソールではありません。

コンソールに出たカーネルのメッセージは、dmesg で後から読めます。

$ dmesg | head -3
[    0.000000] Linux version 6.18.44-fc-v185 (builder@sandboxing) (gcc (GCC) 15.3.0, GNU ld (GNU Binutils) 2.46) #1 SMP PREEMPT_DYNAMIC @0
[    0.000000] Command line: deferred_init=lazy dhash_entries=131072 ihash_entries=65536 console=ttyS0 reboot=k panic=1 ...
[    0.000000] BIOS-provided physical RAM map:

$ dmesg --level=err,warn | head -2
[    0.868585] software IO TLB: No low mem
[    2.541445] EXT4-fs (vda): warning: mounting unchecked fs, running e2fsck is recommended

$ dmesg | wc -l
373

先頭の [ 0.868585] は起動からの秒数で、dmesg -T にすると実際の日時になります。--level=err,warn で重要度を絞ると、ディスクやメモリの異常のような、アプリケーションのログには出ない問題を見つけられます。systemd の環境では journalctl -k でも同じカーネルメッセージを読めます(この環境にはジャーナルファイルが無く、No journal files were found と返りました)。journalctl の使い方は、関連記事「journalctlの使い方|目的別コマンド逆引き一覧と絞り込み例」で扱っています。

端末の種類は、名前で見分けられます。

名前 何か いつ使う
/dev/console システムコンソール。カーネルのメッセージの出口 起動に失敗したとき・ネットワークが無いとき
/dev/tty1〜tty6 仮想コンソール。画面とキーボードを切り替えて使う(Ctrl+Alt+F1〜F6) デスクトップが固まったときのログイン
/dev/ttyS0 シリアルポート。サーバーや仮想マシンのコンソールになることが多い データセンター・クラウドのシリアルコンソール
/dev/pts/N 擬似端末。端末エミュレーターや SSH の接続ごとに作られる ふだんの作業のすべて
/dev/tty 「今のプロセスの制御端末」を指す別名 スクリプトから必ず端末に書きたいとき

Windows にも「コンソール」の定義があります。Microsoft Learn は、コンソールを「文字モードのアプリケーションに入出力サービスを提供するアプリケーション」と定義し、1つの入力バッファーと1つ以上のスクリーンバッファーから成る、と説明しています。コマンドプロンプトや PowerShell の黒い窓がそれで、PowerShell のコマンドは関連記事「PowerShellコマンド一覧|用途別50選とbash対応表・実行例付き」で扱っています。

Node.js の REPL と console(標準出力と標準エラー)

この節では、ブラウザの外(Node.js)での「コンソール」が何を指すか、REPL の使い方と console の出力先が分かります。

端末で node とだけ打つと REPL が始まり、1行打つごとに結果が返ります。Node.js の console.log は標準出力(stdout)、console.error と warn は標準エラー出力(stderr)へ書くため、リダイレクトで分けられます。擬似端末を付けて REPL を操作した記録です。

Welcome to Node.js v22.23.4.
Type ".help" for more information.
> 1 + 1
2
> const items = [{name:"りんご", price:120}]
undefined
> items[0].name
'りんご'
> _
'りんご'
> console.log("hi"); console.error("err")
hi
err
undefined
> foo
Uncaught ReferenceError: foo is not defined
> .exit

ブラウザのコンソールと同じく、直前の結果は _ で参照できます。const の宣言は値を返さないので undefined と表示され、console.log も戻り値が無いため、出力の後に undefined が付きます。.help を打つと REPL の命令が一覧で出ます。

.break    Sometimes you get stuck, this gets you out
.clear    Alias for .break
.editor   Enter editor mode
.exit     Exit the REPL
.help     Print this help message
.load     Load JS from a file into the REPL session
.save     Save all evaluated commands in this REPL session to a file

Press Ctrl+C to abort current expression, Ctrl+D to exit the REPL

出力先の違いは、ファイルへ振り分けると確かめられます。

$ node -e 'console.log("log は stdout"); console.error("error は stderr")' > out.txt 2> err.txt
$ cat out.txt
log は stdout
$ cat err.txt
error は stderr

ブラウザではどの命令も同じコンソールに並びますが、Node.js やサーバーのログでは「log は stdout、error は stderr」の区別がそのままログの行き先の違いになります。パイプで次のコマンドに渡るのは stdout だけなので、進捗やエラーは console.error で stderr に出す、という使い分けが基本です。Python の対話モード(python3 と打って >>> が出る画面)も同じ REPL で、こちらを「Python コンソール」と呼ぶこともあります。

管理コンソールとゲーム機(AWS・Google・コンソールアプリ)

この節では、文字を打たない「コンソール」、つまり管理画面とゲーム機の意味が分かります。

クラウドや SaaS の「コンソール」は、ブラウザでサインインしてサービスを操作する管理画面のことで、文字ではなくクリックが中心です。代表は AWS マネジメントコンソールで、AWS の公式ページは「AWS クラウドにアクセスして管理するために必要なあらゆるものを1つのウェブインターフェイスに集約」したもの、と説明しています。ユーザー・サービスの使用状況・正常性・毎月の請求額をここで管理します(この記事では AWS には接続していません)。

名前 何を操作する画面か 文字で同じことをする手段
AWS マネジメントコンソール AWS の各サービス・請求・ユーザー AWS CLI・SDK
Google Cloud コンソール Google Cloud のプロジェクトとリソース gcloud CLI
Google Search Console Google 検索での自サイトの表示状況・インデックス Search Console API
Google 管理コンソール Google Workspace のユーザー・端末・設定 Admin SDK
Azure ポータル Azure のリソース(名前は「ポータル」) Azure CLI

「コンソールでやった操作を CLI でもできる」という関係が大事で、画面での操作は再現しにくく、CLI の操作はコマンドとして残せます。AWS の CloudShell のように、管理画面の中にブラウザ上の端末(こちらは文字のコンソール)が埋め込まれているサービスもあり、同じ画面に2つの意味のコンソールが同居しています。

ゲーム機の「コンソール」は英語の game console の直訳で、PlayStation や Nintendo Switch のような家庭用・携帯ゲーム機を指します。「コンソール版」は PC 版・スマホ版に対する言葉です。もう1つ、Windows や .NET の「コンソールアプリケーション」は、ウィンドウを持たず、文字の入出力だけで動くプログラムのことで、Visual Studio の新規作成で選ぶ「コンソール アプリ」がこれにあたります。

console.log が本番に残る問題と消し方(実測つき)

この節では、開発中に書いた console.log を公開するコードに残すと何が起きるか、どう消すかが分かります。

console.log が公開ページに残ると、内部の変数名や API の応答が誰にでも見え、1回 0.05〜0.1ms 程度の処理が積み重なり、ログが多すぎてエラーが埋もれます。消す方法は、ビルド時に取り除くのが確実です。Chromium(Playwright 経由で開発者ツールの接続がある状態)で、オブジェクトを含む console.log を1万回呼んだ時間を3回ずつ測りました。

0.0ms空のループ1万回0.0〜0.2ms
903msconsole.log 1万回(オブジェクト付き)903〜1,092ms。1回あたり約0.1ms
472msconsole.log 1万回(文字列だけ)472〜644ms。1回あたり約0.05ms

開発者ツールを閉じている通常の閲覧では、ブラウザがメッセージの整形を省くためここまで遅くはなりませんが、スクロールやマウス移動のたびに呼ぶような書き方は体感に影響します。Node.js で1万回を /dev/null へ書いたときは 142ms でした。

取り除く方法は3つあり、ビルドで消すのが最も確実です。

本番の console.log

やってはいけない公開前に手で1つずつ消す。消し忘れが残り、次の開発でまた増える。console.log = function(){} で黙らせると、本当に必要な error まで消えることがある
↔
代わりにビルド時に esbuild の --drop:console か terser の drop_console で取り除く。開発中は ESLint の no-console で warn や error 以外を書かない習慣にする

確かめ方:ビルド後のファイルを grep -c "console\." して 0 になること

この記事のスクリプト(console の呼び出し20か所、1,215バイト)を実際に処理した結果です。

$ npx esbuild app.js --minify --drop:console --outfile=app.drop.js
  app.drop.js  334b
$ grep -c "console\." app.drop.js
0

$ npx terser app.js -c drop_console=true -m -o app.terser.js
$ wc -c app.terser.js
306 app.terser.js
$ grep -c "console\." app.terser.js
0

1,215バイトが 334バイト(esbuild)・306バイト(terser)になり、console の呼び出しは0になりました。Vite や webpack を使っている場合も、内部で esbuild か terser が動いているため、同じ設定項目(esbuild.drop・terserOptions.compress.drop_console)で指定できます。消す前に、残したい行を console.error や自作のロガーに置き換えておくと、本番でも失敗の記録は残せます。

コンソールでよくあるつまずき(原文つき)と判断表

この節では、コンソールを使い始めたときに出る文言と、その意味・対処が分かります。

コンソールに出る文言の多くは「何が・どこで」を含んでいるので、慌てずに先頭の種類と末尾のファイル名を見ます。この記事で実際に出した原文を中心に、よく出るものをまとめます。

出た文言(原文) 意味 対処
Uncaught TypeError: Cannot read properties of undefined (reading 'items') undefined の items を読んだ。左側の値が無い いちばん上の at の行で、左側の変数がなぜ undefined かを追う
Uncaught ReferenceError: foo is not defined foo という名前が定義されていない 綴り・読み込み順・スコープ(let/const のブロック)を見る
SyntaxError: Expected property name or '}' in JSON at position 1 JSON.parse に渡した文字列が JSON ではない 応答の中身を Network タブで見る。HTML のエラーページが返っていることが多い
Failed to load resource: the server responded with a status of 404 (File not found) ファイルの読み込みに失敗。右端にファイル名 パスと大文字小文字を確かめる。favicon.ico の404は無視してよい
console.debug の行が出ない Verbose レベルが非表示 ログレベルの選択で Verbose を有効にする
再読み込みしたらログが消えた 既定ではページ遷移でクリアされる 設定の Preserve log を有効にする
not a tty(Linux) 端末が付いていない(cron・CI・パイプの中) 端末が要る処理は script や ssh -t で擬似端末を付ける
No journal files were found.(journalctl) systemd のジャーナルが無い環境 dmesg や /var/log を見る

「コンソールを見て」と言われたとき、どれを開くかの判断表です。

  1. 1Web ページの表示・動きがおかしい → ブラウザのコンソールF12 → Console。赤い行の1行目と、いちばん上の at を読む
  2. 2サーバーのコマンドを打つ・ログを見る → 端末(ターミナル)SSH で入る。会話では「コンソール」と呼ばれても実体は /dev/pts
  3. 3起動しない・SSH で入れない → システムコンソール物理の画面、または仮想マシンのシリアルコンソール。dmesg の err・warn
  4. 4クラウドの設定・請求を見る → 管理コンソールブラウザでサインイン。同じ操作を CLI でも残せるか考える
  5. 5JavaScript の式を試したい → ブラウザの Console か nodeどちらも REPL。ページの中身を触るならブラウザ、ファイル操作なら node

コンソールを開いたあとの切り分けの手順そのものは、関連記事「デバッグとは|意味・手順・方法をPython・JS・Javaの実例で解説」で扱っています。コンソールを使うときの確認点をまとめます。

  • 1赤い行は「種類: 説明」と「いちばん上の at」を読むat の行のうち、自分のファイル名のものを探す
  • 2オブジェクトはカンマで渡す"合計:" + obj は [object Object] になる
  • 3出ないときは Verbose と Preserve log を見るdebug は既定で非表示、再読み込みで消える
  • 4他人から渡されたコードをコンソールに貼らないログイン中のページと同じ権限で動く
  • 5公開前にビルドで console.log を落とすgrep -c "console\." が 0 になることを確かめる

よくある質問

Q. コンソールとは何ですか? A. コンピューターに文字で指示を出し、結果や記録を文字で受け取る窓口のことです。元は大型コンピューターの操作卓を指す言葉で、今はブラウザの開発者コンソール、OS のコンソール(端末)、クラウドの管理コンソール、ゲーム機の4つの意味で使われます。

Q. コンソールとターミナルの違いは何ですか? A. ターミナルは文字を映して入力を受ける装置(今は端末エミュレーターというアプリ)、コンソールは本体に直結した窓口で、Linux ではカーネルのメッセージが出る /dev/console を指します。日常会話ではどちらも「黒い画面でコマンドを打つ場所」の意味で使われ、区別しなくても通じます。

Q. ブラウザのコンソールはどこにありますか? A. 開発者ツールの中の Console タブです。Chrome と Edge は Ctrl+Shift+J(Mac は Command+Option+J)、Firefox は Ctrl+Shift+K、Safari は「開発」メニューを有効にしてから Option+Command+C で開きます。右クリックの「検証」から Console タブに移ることもできます。

Q. console.log とは何ですか? A. JavaScript の値をコンソールに書き出す命令です。console.log("合計", total) のようにカンマで値を並べると、オブジェクトも展開して見られます。info・warn・error・debug は同じ仕組みで表示のレベルだけが違います。

Q. コンソールの赤いエラーはどこを見ればよいですか? A. 1行目の「エラーの種類: 説明」で何が起きたかを読み、その下の「at 関数名 (ファイル:行:列)」のいちばん上で場所を特定します。ファイル名の部分はリンクになっていて、クリックするとその行が開きます。

Q. コンソールにコードを貼ると危険ですか? A. コンソールはログインしているページと同じ権限で動くため、中身の分からないコードを貼ると、そのサイトでの操作や情報の読み取りが行われる恐れがあります。自分で内容を理解しているコードだけを貼ります。

Q. console.log は本番で消すべきですか? A. 内部の情報が誰にでも見え、処理時間も積み重なるため、ビルド時に esbuild の --drop:console や terser の drop_console で取り除くのが確実です。残したい失敗の記録は console.error や自作のロガーに置き換えます。

Q. Linux の「コンソール」と SSH の画面は同じですか? A. 違います。SSH の画面は /dev/pts/N という擬似端末で、コンソールは /dev/console(画面やシリアルポート)です。ネットワークが使えず SSH で入れないときに頼りになるのがコンソールで、クラウドでは「シリアルコンソール」として提供されます。

Q. dmesg は何を表示しますか? A. カーネルがコンソールに書き出したメッセージの記録です。起動からの秒数付きで、ディスク・メモリ・デバイスの異常が出ます。dmesg --level=err,warn で重要なものだけに絞れます。

Q. AWS のコンソールとは何ですか? A. AWS マネジメントコンソールのことで、ブラウザでサインインして AWS のサービス・ユーザー・請求を操作する管理画面です。文字を打つコンソールとは別の意味で、同じ操作を AWS CLI でも行えます。

Q. ゲームの「コンソール」は何を指しますか? A. 英語の game console の直訳で、家庭用・携帯ゲーム機のことです。「コンソール版」は PC 版・スマホ版に対する言葉です。

Q. REPL とは何ですか? A. Read-Eval-Print Loop の略で、1行打つと評価して結果を表示する対話の仕組みです。ブラウザのコンソール、node、python3 の対話モードがそれで、どれも「コンソール」と呼ばれることがあります。

まとめ

  • コンソールとは「文字で指示を出し、文字で結果や記録を受け取る窓口」。ブラウザの開発者コンソール・OS のコンソール(端末)・管理コンソール・ゲーム機の4つの意味を文脈で見分ける。
  • ブラウザのコンソールは Ctrl+Shift+J(Chrome・Edge)、Ctrl+Shift+K(Firefox)、Option+Command+C(Safari)で開き、console.log・table・time・group の出力とエラーが並ぶ。debug は Verbose を有効にしないと出ない。
  • 赤いエラーは「種類: 説明」を読み、いちばん上の at(ファイル:行:列)で場所を特定する。Cannot read properties of undefined は左側の値が無い。
  • Linux のコンソールは /dev/console(console= パラメーターで決まる出口)で、カーネルのメッセージは dmesg で読む。SSH の画面は /dev/pts の擬似端末でコンソールではない。
  • console.log は本番に残さず、esbuild の --drop:console か terser の drop_console でビルド時に取り除く(1,215バイト→334バイト、呼び出し0)。

参考・出典

確認日はいずれも 2026年10月29日です。

  • Chrome for Developers「Console overview」:https://developer.chrome.com/docs/devtools/console/
  • Chrome for Developers「Console features reference」:https://developer.chrome.com/docs/devtools/console/reference
  • Chrome for Developers「Console API reference」:https://developer.chrome.com/docs/devtools/console/api
  • Microsoft Learn「Overview of DevTools」(Microsoft Edge):https://learn.microsoft.com/en-us/microsoft-edge/devtools/overview
  • Firefox Source Docs「Web Console」:https://firefox-source-docs.mozilla.org/devtools-user/web_console/index.html
  • Apple「Safari の Web デベロッパ用の機能を有効にする」:https://support.apple.com/ja-jp/guide/safari/sfri20948/mac
  • WebKit「Web Inspector Keyboard Shortcuts」:https://webkit.org/web-inspector/keyboard-shortcuts/
  • Apple Developer「Web Inspector」:https://developer.apple.com/documentation/safari-developer-tools/web-inspector
  • The Linux Kernel documentation「Linux Serial Console」:https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html
  • Microsoft Learn「Consoles」(Windows Console):https://learn.microsoft.com/en-us/windows/console/consoles
  • AWS「AWS マネジメントコンソール」:https://aws.amazon.com/jp/console/
  • Chrome for Developers「自己 XSS 攻撃とは」:https://developer.chrome.com/blog/self-xss?hl=ja
  • Node.js「REPL」:https://nodejs.org/api/repl.html
  • Node.js「Console」:https://nodejs.org/api/console.html
  • esbuild「Drop」:https://esbuild.github.io/api/#drop
  • terser「Compress options」:https://terser.org/docs/options/#compress-options
  • コトバンク「コンソール」(デジタル大辞泉・精選版日本国語大辞典):https://kotobank.jp/word/こんそーる-3211015

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「コンソールとは|意味の使い分けとブラウザのコンソールの開き方・読み方」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ
参加受付中

AI駆動開発、 無料セミナー