このサイトは読む講座ではなく、叩く講座です。1ページにつき約30行のコマンドが用意されているので、上から順に手打ちしていくだけで、Linuxコマンドが自然と体に染み込んでいきます。このドリルを平気で叩けるようになった新社会人は、配属初日からサーバー業務にすっと入れる──そのレベルを到達点にしています。動作環境はAmazon Lightsail(Ubuntu 24.04 LTS)を使用します。実際にサーバーを1台契約するところから始めるため、月額課金が発生する点はあらかじめご了承ください(契約手順は第0章で解説します)。物語の軸には、練習用ユーザーyumiを自分のサーバーに作り、一緒にあらゆる操作を練習し、最後は感謝を込めてyumiを削除してサーバーごと片付ける──そんな小さな物語を用意しました。
この講座のナビゲーター、ゆみです! これから一緒にLinuxのサーバーの中を歩き回っていくよ。黒い画面は最初はちょっと怖いかもしれないけど、コマンドは全部上から順に打てば通るように作ってあるから安心して! 右上のボタンでダークモードにも切り替えられるよ。あと、このサイトには広告が含まれてるから、そこだけ先に断っておくね!
まだ何も始まっていない状態から、自分専用のLinuxサーバーを用意するところまでの章です。Amazon Lightsailの契約とUbuntuインスタンスの作成、ブラウザ・ターミナル両方からのSSH接続、そして黒い画面(ターミナル)の読み方に慣れる最初の10コマンドを扱います。
Linux操作の土台となる、ファイルとディレクトリの基本操作をまとめて身につける章です。今いる場所を確認して移動する、作る、コピー・移動・削除する、中身を見る、困ったときに調べる、そして操作を高速化するショートカットまでを一通り体験します。
pwd・ls(-l -a -lh)・cdを使い、絶対パス・相対パス・ホームディレクトリの考え方を身につけます。
mkdir(-p)でディレクトリを、touchで空ファイルを作成し、rmdirとtreeで構造を確認します。
cp(-r)・mv・rm(-r)を練習用ディレクトリ内で使い、安全な削除の作法を身につけます。
cat・less・head・tail(-n -f)・file・wcで、ファイルの中身と量を確認する方法を学びます。
man・--help・which・type・whatis・aproposで、コマンド自身に助けを求める方法を身につけます。
history・!!・!n・Ctrl+R・Tab補完・Ctrl+A/E/C/Lを使い、コマンド入力を高速化します。
本講座の物語が本格的に動き出す章です。管理者権限の正体を知り、練習用ユーザーyumiをサーバーに迎え入れ、ユーザーを切り替えながらパーミッションと所有者の仕組みを学びます。最後にyumiと共有ディレクトリを作る総合演習で締めくくります。
sudo・su -でroot権限に触れ、/etc/sudoersを覗きながら管理者権限の考え方を学びます。
adduserで練習用ユーザーyumiを作成し、idや/etc/passwd、/home/yumiを確認します。
su - yumi・whoami・passwd・exitを使い、ユーザーごとに見える世界が違うことを体験します。
ls -lの権限表示の読み方と、chmod(数字指定・記号指定)による755・644の設定を学びます。
chown・chgrp・groups・usermod -aGを使い、sudoグループへの追加までを扱います。
yumiと共有するディレクトリを実際に作りながら、この章で学んだ権限操作を総合的に練習します。
Linuxサーバーの多くの作業はテキストファイルの読み書きに帰着します。エディタでの編集から、リダイレクトとパイプによるコマンド連結、検索・整形・集計まで、テキストを自在に操るための道具を揃える章です。
nanoエディタで設定ファイル風のメモを書き、保存・上書きするところまでを一通り練習します。
モードの概念、i・:wq・:q!・dd・yy・p・検索(/)というvimの基本操作を学びます。
echo・>・>>・<・|・teeを組み合わせ、コマンドの出力を自在に組み立てます。
grep(-i -n -v -r -c)を使い、/etc/passwdからyumiの行を探し出す実践的な検索を練習します。
sort・uniq・cut・tr・wcをパイプでつなぎ、テキストデータを加工・集計します。
sed(s///、-i)による置換と、awk(print $1、-F)によるミニ集計を体験します。
サーバーの「今の状態」を見る力を養う章です。動いているプロセス、ディスクとメモリの使用状況、ファイル探索、アーカイブ化、そしてリンクとinodeの仕組みまで、システムの中身を覗き込むための道具を揃えます。
ps aux・top・kill・sleep &・jobs・fg・bgで動いているプロセスの制御を学びます。
df -h・du -sh・free -h・uptime・lscpuで、サーバーのリソース状況を確認します。
find(-name -type -mtime -exec)とlocate・updatedbで、目的のファイルを探し出す方法を学びます。
tar(czf/xzf/tzf)・gzip・zip/unzipを使い、ファイルの圧縮とバックアップ作成を練習します。
ln・ln -s・ls -i・readlinkを使い、シンボリックリンクとリンク切れの実体験までを扱います。
サーバー管理者としての実務に踏み込む章です。パッケージ管理、サービスの起動・停止、定期実行、ログの追い方、ネットワークの確認、そしてファイアウォールとSSH設定まで、Lightsailならではの「壊しても作り直せる」安心感のもとで扱います。
apt update/upgrade/install/remove/searchとdpkg -lでソフトウェアを管理します。
systemctl status/start/stop/enableを使い、サービスという考え方を身につけます。
crontab -e/-lと5フィールドの書式を学び、1分ごとにログを吐く実験を行います。
journalctl(-u -f --since)と/var/log、tail -fによるリアルタイム監視を練習します。
ip a・ss -tlnp・ping・curl・wgetで、ホスト名とDNSまわりの基礎を確認します。
ufw(status/allow/enable)とLightsailファイアウォールの関係、sshd_configの中身を確認します。
コマンドを組み合わせて自動化する、シェルスクリプトの世界に入る章です。変数の扱いから最初のスクリプト作成、条件分岐と繰り返し、引数と関数、そして自分好みのプロンプトを作るところまでを扱います。
シェル変数、export・env・$PATH・$HOME・$(command)によるコマンド置換を学びます。
#!/bin/bashとchmod +xで最初のスクリプトを作成し、readで入力を受け取ります。
if・test([ ])・for・whileを使った判定ドリルでスクリプトの制御構造を身につけます。
$1・$#などの引数、関数の定義を学び、実用的なログ整理スクリプトを作成します。
alias・.bashrcの編集、PS1によるプロンプトのカスタマイズを行います。
講座の総仕上げとなる最終章です。自分のサーバーでWebページを公開し、これまで学んだ全章の集大成としてバックアップスクリプトとcronを組み合わせ、最後にyumiを削除してインスタンスを片付ける「卒業」までを描きます。
コマンドを打っていて「エラーが出て先に進めない」「ここの意味がわからない」という箇所がありましたら、ぜひお寄せください。可能な範囲でお返事いたします。いただいた質問は、本講座の改善や新しい解説コンテンツの題材としても活用させていただきます。
質問・ご意見を送る※Microsoft Formsで開きます。匿名で送信できます。