「コマンドを見ても意味がわからない。実際に動かしながら覚えたい」
Windowsに入れたWSL2がすでに動いているのに、何をやればいいか分からず放置している人は多いです。
この記事では、WSL2のUbuntu上で実際にコマンドを動かしながら学ぶハンズオン形式の入門を解説します。
ファイル操作・パーミッション(権限)・プロセス確認の3テーマを、手を動かして体験することで、「Linuxらしい作業の流れ」が自然に身についていきます。
この記事のポイント
・WSL2のUbuntu上でファイル操作・権限・プロセスを実際に動かして学べる
・mkdir / touch / ls / chmod / ps の5コマンドを中心に手順を順番に解説
・実行結果の出力例をすべて掲載しているので、画面と比較しながら確認できる
・よくある「Permission denied」エラーの原因と解決策も解説
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
WSL2で何を練習すればいいか迷ったら
WSL2(Windows Subsystem for Linux 2)は、Windowsの中でLinuxのコマンドをそのまま使える環境です。インストール直後に「Ubuntu」を開いても、何をすべきか迷うのは当然です。最初に練習すべきことは、大きく3つあります。
・ファイル操作:ディレクトリを作ったり、ファイルを作成・確認・削除する
・パーミッション(権限):ファイルの読み書き実行の権限を確認・変更する
・プロセス確認:今どんなプログラムが動いているかを確認する
この3つを実際に動かすことで、Linuxの「考え方」が少しずつ分かってきます。セミナーで3,100名以上を指導してきた中で、「手を動かす前に挫折する人」と「動かしながら理解する人」では定着率に雲泥の差があります。まずは動かすことを優先しましょう。
WSL2でUbuntuを開いてみる
WindowsのスタートメニューからUbuntuを起動すると、黒い画面(ターミナル)が開きます。最初に表示される画面はこのような形です。
tomohiro@DESKTOP-ABC123:~$
まず現在のディレクトリを確認しましょう。
# 現在のディレクトリを表示する $ pwd /home/tomohiro
/home/tomohiro と表示されました。これがあなたのホームディレクトリです。ファイル操作をハンズオンで体験する
1. 練習用ディレクトリを作る
まずは練習専用のディレクトリを作成します。mkdir(メイクディレクトリ)コマンドを使います。# 練習用ディレクトリを作成する $ mkdir practice # 移動する $ cd practice # 現在のディレクトリを確認する $ pwd /home/tomohiro/practice
cd practice で移動し、pwd で確認すると /home/tomohiro/practice と表示されます。2. ファイルを作成して内容を確認する
touch(タッチ)コマンドで空のファイルを作成し、echoで文字を書き込んで確認してみましょう。# 空のファイルを作成する $ touch test.txt # ファイルに文字を書き込む $ echo "Hello Linux" > test.txt # ファイルの内容を確認する $ cat test.txt Hello Linux
cat(キャット)コマンドでファイルの中身を表示できます。3. ファイルの一覧を詳細表示する
ls -l(エルエスとハイフンエル)で一覧を詳細表示してみます。# ファイル一覧を詳細表示する $ ls -l total 4 -rw-r--r-- 1 tomohiro tomohiro 12 Jun 12 10:00 test.txt
-rw-r--r-- という文字がパーミッション(権限)です。次のセクションで詳しく確認します。パーミッション(権限)をハンズオンで体験する
1. パーミッションの読み方
ls -l の出力に表示される -rw-r--r-- は、以下のような意味です。・最初の1文字:ファイルの種類(-=ファイル、d=ディレクトリ)
・次の3文字 rw-:所有者の権限(r=読み取り、w=書き込み、-=実行なし)
・次の3文字 r--:グループの権限
・最後の3文字 r--:その他全員の権限
| 数字 | 意味 | よく使う場面 |
|---|---|---|
| 644 | 所有者は読み書き可・他者は読み取りのみ | 一般的なファイル |
| 755 | 所有者は全て可・他者は読み取りと実行のみ | 実行スクリプト・ディレクトリ |
| 600 | 所有者のみ読み書き可 | SSHの秘密鍵など |
2. chmodでファイルの権限を変更する
chmod(チェンジモード)コマンドで権限を変更してみます。# 権限を変更する前の確認 $ ls -l test.txt -rw-r--r-- 1 tomohiro tomohiro 12 Jun 12 10:00 test.txt # 実行権限を付けて755に変更する $ chmod 755 test.txt # 変更後の確認 $ ls -l test.txt -rwxr-xr-x 1 tomohiro tomohiro 12 Jun 12 10:00 test.txt
rw-r--r--(644相当)から rwxr-xr-x(755)に変わりました。3. 実行できないシェルスクリプトを作って権限を付けてみる
ここでは簡単なシェルスクリプトを作成し、実行権限がないと動かないことを体験します。実務でよく出くわす運用シーンです。# シェルスクリプトを作成する $ echo '#!/bin/bash' > hello.sh $ echo 'echo "Hello from script!"' >> hello.sh # 実行権限なしで実行しようとする(エラーになる) $ ./hello.sh -bash: ./hello.sh: Permission denied # 実行権限を付ける $ chmod +x hello.sh # 改めて実行する $ ./hello.sh Hello from script!
プロセス確認をハンズオンで体験する
1. psコマンドで動いているプロセスを確認する
ps(プロセスステータス)コマンドで、現在動いているプロセスを確認します。# 現在のシェルに関連するプロセスを確認する $ ps PID TTY TIME CMD 1234 pts/0 00:00:00 bash 1789 pts/0 00:00:00 ps
PID(プロセスID)はプロセスごとの識別番号、CMD は実行中のコマンド名です。2. psコマンドで全プロセスを一覧表示する
ps aux でシステム全体のプロセスを見てみます。# 全プロセスを一覧表示する $ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 8900 4200 ? Ss 10:00 0:00 /sbin/init root 2 0.0 0.0 0 0 ? S 10:00 0:00 [kthreadd] tomohiro 1234 0.0 0.2 10000 5000 pts/0 Ss 10:05 0:00 -bash tomohiro 1790 0.0 0.1 7900 3200 pts/0 R+ 10:10 0:00 ps aux
USER 列でどのユーザーが動かしているプロセスかが分かります。%CPU や %MEM でリソースの使用量も確認できます。3. grepと組み合わせて特定のプロセスを探す
プロセス数が多い場合は、grep と組み合わせて絞り込むのが現場での定番の方法です。# bashという名前のプロセスだけを表示する $ ps aux | grep bash tomohiro 1234 0.0 0.2 10000 5000 pts/0 Ss 10:05 0:00 -bash tomohiro 1800 0.0 0.0 3300 1200 pts/0 S+ 10:12 0:00 grep --color=auto bash
grep bash は grep コマンド自体が表示されています。これは正常な動作です。「Permission denied」が出た時の対処法
Linux入門で最も頻繁に遭遇するエラーが「Permission denied」です。以下の3つの原因を順番に確認しましょう。| 原因 | 確認コマンド | 対処方法 |
|---|---|---|
| 実行権限がない | ls -l スクリプト名 |
chmod +x スクリプト名 |
| ディレクトリへの書き込み権限がない | ls -ld ディレクトリ名 |
sudo を使うか所有者を変更する |
| rootが必要な操作をしている | whoami |
sudo コマンド で実行する |
※ 注意:
chmod 777 でとりあえず全員に権限を与えるのは禁止です。本番環境では重大なセキュリティリスクになります。最小限の権限(644・755)を守る習慣をつけましょう。WSL2ハンズオンのまとめ
| やりたいこと | コマンド |
|---|---|
| 現在のディレクトリを確認する | pwd |
| ディレクトリを作成する | mkdir ディレクトリ名 |
| 空のファイルを作成する | touch ファイル名 |
| ファイル一覧を詳細表示する | ls -l |
| ファイルの権限を変更する | chmod 755 ファイル名 |
| 全プロセスを確認する | ps aux |
| 特定のプロセスを絞り込む | ps aux | grep プロセス名 |
次のステップ:7つのテーマで実力を伸ばす
WSL2でのハンズオンを体験したら、次はコマンドの詳しい使い方を専門記事で学びましょう。以下の7テーマの記事が参考になります。・ファイル検索:findコマンドでファイル・ディレクトリを検索する方法|名前や更新日時で探す
・文字列検索:grepコマンドで文字列を検索する方法|複数ファイルやディレクトリ除外も
・権限変更:chmodコマンドで権限を変更する方法|755と644の違いや一括変更も
・所有者変更:chownコマンドで所有者・グループを変更する方法|-Rの一括変更も
・プロセス確認:psコマンドでプロセスを確認する方法|auxと-efの違いやgrep検索も
・アーカイブ操作:tarコマンドで圧縮・解凍(展開)する方法|必須のzxvfやディレクトリ指定も
・定期実行設定:crontabコマンドの設定と書き方|動かない時のログ確認まで
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンドを「なんとなく打つ」段階から卒業したい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 前のページへ:Linuxのpython venv(仮想環境)入門|プロジェクトごとにパッケージを分離する方法を初心者向けに解説
- この記事の属するカテゴリ:【Linux入門】初心者のための基礎知識・講座へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます