コース一覧
Linux入門:コマンド操作のきほん
環境変数とは

Linux入門:コマンド操作のきほん

ターミナル操作、ファイル管理、パーミッション、プロセス、シェル変数、リダイレクトなど Linux コマンド操作の基礎を、ブラウザ上のサンドボックスで実行しながら学べる無料コースです。サーバー運用やインフラに関わるエンジニアや学生を対象としています。約 17 時間 (1 日 30 分 × 34 日) で 68 レッスンを修了でき、修了後はサーバー作業、デプロイ作業、ログ調査など実務の Linux 操作を自力で進められるようになります。

1
Linuxとコマンドラインの基礎
0. Linuxとは?OSの基礎を理解する5分
1. エンジニアにLinuxが必要な理由5分
2. シェルとターミナルの違いを理解する5分
3. 最初のコマンドを打ってみよう5分
2
ファイル操作の基本コマンド
0. Linuxの「すべてはファイル」という考え方5分
1. ディレクトリの移動と確認5分
2. 絶対パスと相対パス5分
3. ファイルの中身を見る5分
4. ファイルとディレクトリの作成5分
5. cpでファイルをコピーする5分
6. mvでファイルを移動する5分
7. rmでファイルを削除する5分
8. ファイルシステムチェック5分
9. Linux 基礎チェック5分
3
テキスト処理とパイプ活用
0. パイプとリダイレクト5分
1. 文字列検索 grep5分
2. 正規表現入門5分
3. grep 応用:正規表現5分
4. テキスト加工 sed5分
5. 列処理 awk5分
6. パイプ活用:実践的なコマンド連携5分
7. テキスト処理チェック5分
4
ファイル検索と圧縮・解凍
0. find でファイルを検索する5分
1. ワイルドカードとグロブパターン5分
2. ファイルの圧縮と解凍5分
3. stat でファイル情報を確認する5分
4. ファイル管理チェック5分
5
パーミッションと権限管理
0. ユーザーとグループの概念5分
1. パーミッションの読み方5分
2. 権限の変更 chmod5分
3. 所有者の変更 chown5分
4. sudo - スーパーユーザーの力5分
5. 実行権限とスクリプト5分
6. パーミッションチェック5分
6
プロセス管理とジョブ制御
0. プロセスとは何か5分
1. psでプロセス一覧を確認する5分
2. topでリアルタイム監視する5分
3. プロセスの終了 kill5分
4. フォアグラウンドとバックグラウンド5分
5. nohupでログアウト後も実行する5分
6. プロセス管理チェック5分
7
ネットワークとSSH接続
0. ネットワークの基礎知識5分
1. ping で接続確認5分
2. curl で HTTP リクエスト5分
3. ネットワーク情報の確認5分
4. リモート接続 SSH5分
5. scp でファイル転送5分
6. rsync で効率的に同期5分
7. ネットワークチェック5分
8
環境変数とシェルのカスタマイズ
0. 環境変数とは5分
1. 環境変数の確認と設定5分
2. シェル設定ファイル5分
3. エイリアスで効率化5分
4. PATH を理解する5分
5. 環境設定チェック5分
9
シェルスクリプト入門
0. シェルスクリプトとは5分
1. 変数と引数5分
2. 条件分岐 if5分
3. ループ処理 for, while5分
4. 関数を定義する5分
5. 実践スクリプト作成5分
6. シェルスクリプトチェック5分
10
実践:ログ解析とシステム管理
0. ログファイルの解析5分
1. システム情報の取得5分
2. パッケージ管理5分
3. cron で定期実行5分
4. 開発環境での Linux 活用例5分
5. 総合チェック5分

Linux入門:コマンド操作のきほん

01Linuxとは?OSの基礎を理解する
02エンジニアにLinuxが必要な理由
03シェルとターミナルの違いを理解する
04最初のコマンドを打ってみよう
05Linuxの「すべてはファイル」という考え方
06ディレクトリの移動と確認
07絶対パスと相対パス
08ファイルの中身を見る
09ファイルとディレクトリの作成
10cpでファイルをコピーする
11mvでファイルを移動する
12rmでファイルを削除する
13ファイルシステムチェック
14Linux 基礎チェック
15パイプとリダイレクト
16文字列検索 grep
17正規表現入門
18grep 応用:正規表現
19テキスト加工 sed
20列処理 awk
21パイプ活用:実践的なコマンド連携
22テキスト処理チェック
23find でファイルを検索する
24ワイルドカードとグロブパターン
25ファイルの圧縮と解凍
26stat でファイル情報を確認する
27ファイル管理チェック
28ユーザーとグループの概念
29パーミッションの読み方
30権限の変更 chmod
31所有者の変更 chown
32sudo - スーパーユーザーの力
33実行権限とスクリプト
34パーミッションチェック
35プロセスとは何か
36psでプロセス一覧を確認する
37topでリアルタイム監視する
38プロセスの終了 kill
39フォアグラウンドとバックグラウンド
40nohupでログアウト後も実行する
41プロセス管理チェック
42ネットワークの基礎知識
43ping で接続確認
44curl で HTTP リクエスト
45ネットワーク情報の確認
46リモート接続 SSH
47scp でファイル転送
48rsync で効率的に同期
49ネットワークチェック
50環境変数とは
51環境変数の確認と設定
52シェル設定ファイル
53エイリアスで効率化
54PATH を理解する
55環境設定チェック
56シェルスクリプトとは
57変数と引数
58条件分岐 if
59ループ処理 for, while
60関数を定義する
61実践スクリプト作成
62シェルスクリプトチェック
63ログファイルの解析
64システム情報の取得
65パッケージ管理
66cron で定期実行
67開発環境での Linux 活用例
68総合チェック

Linux入門:コマンド操作のきほん

環境変数とは

設定した覚えが無いのに、もう効いている値がある

ls と打つと一覧が出ます。ファイルの置き場所を教えた覚えは無いはずです。なぜ動くのかというと、シェルが PATH という値を見て、そこに並んだディレクトリの中から ls を探しているからです。

ターミナル

echo $PATH # /usr/local/bin:/usr/bin:/bin

この PATH が環境変数です。誰かが用意して、あなたのシェルに手渡し、シェルはそれに従って動いている。環境変数とは、プロセスに手渡される設定メモのことだと思ってください。

直書きすると、本番と手元でコードが分かれる

接続先のデータベースや API のキーをコードに書き込むと、手元で動かすときと本番で動かすときで違うコードを持つことになります。書き換え忘れて本番の値のままテストを流す、キーごとリポジトリに残る、といった事故はここから生まれます。

そこで、変わる値はコードの外に出して、起動時に渡します。渡し方は場所によって違いますが、受け取る側はどこでも同じ環境変数です。だからひとつ覚えれば、Docker でも CI でもクラウドでも同じ考え方が通ります。

コード側は「この名前で値が来る」とだけ決めておき、実際の値は動かす場所が用意します。手元では自分のシェルが、本番ではクラウドの設定画面が、同じ名前で違う値を渡す。コードは 1 本のまま、つなぎ先だけが切り替わります。

ターミナル

export DATABASE_URL=postgres://localhost:5432/myapp echo "$DATABASE_URL" # postgres://localhost:5432/myapp

export を付けた分だけが、子に渡る

シェルで作る変数には 2 種類あります。違いは、そのシェルから起動したプログラムに値が渡るかどうかだけです。

ターミナル

GREETING=hello # このシェルの中だけの値 export DATABASE_URL=... # 起動するプログラムにも渡る値
種類起動したプログラムに渡るか
export なし渡らない
export あり渡る

「アプリ側で読めない」という詰まり方の多くがこれです。シェルで値を定義したところまでは合っていて、export が抜けているために、起動したプログラムからは空に見えています。渡すつもりの値かどうかを、定義するときに決めておいてください。

渡るのは下向きだけである点にも注意します。起動したプログラムの中で値を書き換えても、呼び出した側のシェルには戻ってきません。そのシェルを閉じれば、そこで定義した値もまとめて消えます。

解説

本番のキーを手で打ち込むと、そのままコマンド履歴のファイルに平文で残ります。画面を閉じても残るので、鍵の類はファイルから読ませるか、クラウドの保管サービスから取り出す形にしてください。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • シェルコマンドを解釈して実行するプログラム
  • ディレクトリファイルを整理するフォルダのこと。
  • 環境変数JWT_SECRET など秘匿値を渡す手段
  • 変数データに名前をつけて参照する仕組み
  • プロセス実行中のプログラムのこと。
  • データベースデータを構造化して保存する仕組み
  • エンドポイント「この URL を叩くとこの機能が動く」入口の住所
  • APIアプリ間でデータをやり取りする窓口
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2025/12/19·更新 2026/08/26

関連レッスン

  • 環境変数の確認と設定

    環境変数の確認・設定方法を学びます。設定の応用や注意点も解説。

  • シェル設定ファイル

    シェルの設定ファイルを編集して、環境をカスタマイズする方法をターミナルで体験します。

  • エイリアスで効率化

    エイリアスを設定して、コマンド入力を効率化する方法をターミナルで学びます。

  • PATH を理解する

    コマンド実行に不可欠な「PATH」について、その役割と設定方法をターミナルで理解します。

分からないところは Tap (AI先生) に質問できます

24 時間いつでも、あなたのレベルに合わせて日本語で答えます。