コース一覧
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入門:コマンド操作のきほん

パッケージ管理

入れたはずなのに、古い版が入る

新しく借りたサーバーで、必要なコマンドを 1 つ入れようとして Unable to locate package と断られる。あるいは入ったものの、手元より何年も古い版だった。どちらも、同じ原因で起きます。

パッケージマネージャは、インターネットを毎回探しに行くわけではありません。手元に持っている目録を見て、そこに載っている場所から取ってきます。借りたばかりのサーバーの目録は、イメージが作られた日のまま止まっています。

ターミナル

sudo apt update sudo apt install -y jq

前の 1 行が目録の取り直し、後ろの 1 行が導入です。この 2 つは必ず組で打ちます。-y は確認への返事を省く指定で、自動化するときには必要ですが、手で打つときはあえて外し、何が入るのかを読んでから通す方が安全です。

系統ごとに名前が違うだけで、考え方は共通です。

系統代表的なディストリビューション使うコマンド
Debian 系Ubuntu, Debianapt
Red Hat 系Rocky, AlmaLinux, Fedoradnf
AlpineAlpine Linuxapk

1 つ入れたつもりが、何十個も入る

パッケージは単体では動きません。必要なライブラリを芋づる式に連れてきます。そのため「小さなツールを 1 つ」のつもりが、数百 MB を占めることがあります。実行する前に、何が起きるかを見ておきます。

ターミナル

$ apt install --dry-run nginx | tail -5

--dry-run を付けると、実際には入れずに、入る予定のものだけを並べてくれます。ディスクの残りが少ないサーバーや、構成を変えたくない本番環境では、この確認を挟んでください。

本番で apt upgrade を素で打たない

apt upgrade は、入っているものすべてを新しくします。手元の開発機なら歓迎ですが、動いているサーバーでは話が変わります。アプリが前提にしているライブラリまで上がり、再起動したときに立ち上がらなくなる、という止まり方をします。

目的が 1 つのパッケージの更新なら、対象を指定します。

ターミナル

sudo apt install -y --only-upgrade nginx

逆に、上げてほしくないものには印を付けておけます。

ターミナル

sudo apt-mark hold nginx

hold を付けたパッケージは、全体の更新からも外れます。版を固定したい理由があるときに使い、外すときは unhold に替えます。

なお、Python や Node.js のライブラリは、OS のパッケージ管理とは別の仕組みで入れます。両方から同じものを入れると、どちらが使われているのか分からなくなります。OS の道具は OS の管理で、アプリのライブラリは言語側の管理で、と分けておいてください。

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

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

  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • インターネット世界中のコンピュータをつなぐネットワークの集合体。
  • イメージコンテナのテンプレートとなる静的データ
  • ビュークエリに名前をつけて再利用する仮想表
  • Node.jsJavaScript をサーバ側で動かすランタイム
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2025/12/19·更新 2026/08/26

関連レッスン

  • cron で定期実行

    `cron`を設定し、コマンドを定期的に実行する方法をターミナルで体験します。

  • 開発環境での Linux 活用例

    開発現場でLinuxがどのように活用されているか、具体的な例を通して学びます。

  • 総合チェック

    Linuxコマンドに関する理解度を測る総合チェックです。ここまでの学習内容を復習しましょう。

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

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