コース一覧
Linux入門:コマンド操作のきほん
rsync で効率的に同期

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

rsync で効率的に同期

1 文字直しただけなのに、また 8 分待たされる

画像を含んだ配信物を丸ごとサーバーへ送ると、数分かかることがあります。困るのは 2 回目です。直したのは HTML の 1 行だけなのに、全部を最初から送り直すので、また同じ時間だけ待たされます。

rsync は、送る前に両側を突き合わせて変わったものだけを送ります。手元の 2 つのディレクトリで試すのがいちばん早いので、動きを見てみます。

ターミナル

mkdir -p /tmp/src /tmp/dst echo hello > /tmp/src/a.txt echo world > /tmp/src/b.txt rsync -av /tmp/src/ /tmp/dst/ # a.txt # b.txt

ターミナル

echo updated > /tmp/src/a.txt rsync -av /tmp/src/ /tmp/dst/ # a.txt

2 回目に流れたのは a.txt だけです。触っていない b.txt は転送されていません。-a は権限や更新時刻を保ったまま中身ごと運ぶ指定、-v は何を送ったかを表示する指定で、この 2 つはほぼ常に付けます。

末尾のスラッシュ 1 文字で結果が変わる

rsync でいちばん間違えるのがここです。送り元の末尾にスラッシュを付けるかどうかで、届く形が変わります。

ターミナル

rsync -av src/ dst/ # dst の直下に src の中身が並ぶ rsync -av src dst/ # dst の下に src というディレクトリが作られる

やりたいのはたいてい上ですが、うっかり下を実行すると dst/src/ という余計な階層ができます。転送先が空でない場合、これに気づかないまま古い方を参照し続けることになります。

--delete は、向きを間違えると消える

送り元に無いファイルを送り先から消して、完全に同じ状態にするのが --delete です。配信物を入れ替えるときには必要ですが、送り元のパスを 1 文字打ち間違えただけで、送り先の中身がまとめて消えます。

そこで、実行する前に --dry-run を付けて 1 回空打ちします。実際には何も動かさず、これから何を送って何を消すかだけを表示してくれます。

ターミナル

rsync -av --delete --dry-run dist/ prod:/var/www/app/ # deleting old-banner.png # index.html

deleting の行に、消えては困るものが入っていないかを目で確かめます。問題なければ --dry-run を外して本番実行します。

除外したいものがあるときは --exclude を並べます。ビルド前の作業物を送らずに済みます。

ターミナル

rsync -av --exclude='node_modules' --exclude='*.log' dist/ prod:/var/www/app/
解説

大きなファイルを送る途中で回線が切れても、-P を付けておけば次回は続きから再開できます。あわせて進捗も表示されるので、待ち時間の見当がつきます。

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

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

  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • HTMLHyperText Markup Languageの略。
  • ディレクトリファイルを整理するフォルダのこと。
  • 階層ネットワークを役割ごとに積み重ねた構造
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2025/12/21·更新 2026/08/26

関連レッスン

  • ネットワークチェック

    ネットワークの基本コマンドに関する知識をクイズ形式でチェックしましょう。

  • 環境変数とは

    環境変数の意味と使い方を学びます。パスの設定などを理解しましょう。

  • シェルスクリプトとは

    シェルスクリプトの基本と、作成・実行するための概念について解説します。

  • ログファイルの解析

    ログファイルの解析方法を学習します。エラーやシステムの状態把握に役立てましょう。

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

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