「Linuxコマンドって何から覚えればいいの?」「種類が多すぎてわからない…」
インフラエンジニアとして働くなら、Linuxコマンドは避けて通れません。でも、コマンドの数は膨大で、何から手をつけていいかわからないですよね。
この記事では、未経験からインフラエンジニアを目指す方に向けて、現場で本当に使う基本コマンド20個を厳選して紹介します。まずはこれだけ覚えておけば大丈夫です!
コマンドを学ぶ前に:基本の考え方
コマンドを覚える前に、基本的なルールを押さえておきましょう。
コマンドの基本構文
コマンド [オプション] [引数]
例えば、ls -la /home という場合、以下のように分解できます。
- ls:コマンド本体(ファイル一覧を表示)
- -la:オプション(詳細表示+隠しファイルも表示)
- /home:引数(対象のディレクトリ)
困ったときはヘルプを見よう
コマンドの使い方がわからないときは、以下の方法で確認できます。
# --helpオプション
ls --help
# manコマンド(マニュアル表示)
man ls
英語で表示されますが、オプションの一覧が見られるので便利です。
ディレクトリ操作のコマンド(5個)
まずは、ディレクトリ(フォルダ)を操作するコマンドです。
1. pwd(現在地を確認)
Print Working Directoryの略。今自分がどこにいるかを表示します。
$ pwd
/home/tanaka
迷子になったらまずpwd!これは基本中の基本です。
2. ls(ファイル一覧を表示)
Listの略。ディレクトリの中身を表示します。
# 基本の使い方
$ ls
# 詳細表示(よく使う!)
$ ls -l
# 隠しファイルも含めて詳細表示(最もよく使う!)
$ ls -la
| オプション | 意味 |
|---|---|
| -l | 詳細表示(権限、所有者、サイズなど) |
| -a | 隠しファイル(.から始まるファイル)も表示 |
| -h | ファイルサイズを見やすく表示(KB、MBなど) |
3. cd(ディレクトリを移動)
Change Directoryの略。別のディレクトリに移動します。
# /var/logに移動
$ cd /var/log
# 1つ上のディレクトリに戻る
$ cd ..
# ホームディレクトリに戻る
$ cd ~
# または
$ cd
4. mkdir(ディレクトリを作成)
Make Directoryの略。新しいディレクトリを作ります。
# testというディレクトリを作成
$ mkdir test
# 階層ごとまとめて作成(-pオプション)
$ mkdir -p /home/tanaka/work/project1
5. rmdir(空のディレクトリを削除)
Remove Directoryの略。空のディレクトリを削除します。
$ rmdir test
※中にファイルがあると削除できません。その場合は後述のrm -rを使います。
ファイル操作のコマンド(6個)
次は、ファイルを操作するコマンドです。
6. touch(空のファイルを作成)
新しい空のファイルを作成します。
$ touch newfile.txt
既存ファイルに使うと、更新日時だけが変わります。
7. cp(ファイルをコピー)
Copyの略。ファイルやディレクトリをコピーします。
# ファイルをコピー
$ cp original.txt copy.txt
# ディレクトリをまるごとコピー(-rオプション)
$ cp -r /home/tanaka/work /home/tanaka/backup
8. mv(ファイルを移動/名前変更)
Moveの略。ファイルの移動や名前変更に使います。
# ファイルを移動
$ mv file.txt /tmp/
# ファイル名を変更
$ mv oldname.txt newname.txt
9. rm(ファイルを削除)
Removeの略。ファイルを削除します。
# ファイルを削除
$ rm file.txt
# ディレクトリごと削除(-rオプション)
$ rm -r dirname
# 確認なしで強制削除(要注意!)
$ rm -rf dirname
⚠️ 注意:rm -rfは非常に強力です。間違えると大切なファイルが消えてしまいます。特にrm -rf /は絶対に実行しないでください!
10. cat(ファイルの中身を表示)
Concatenateの略。ファイルの内容を画面に表示します。
$ cat /etc/hosts
短いファイルの確認に便利です。長いファイルにはlessを使いましょう。
11. less(ファイルを1ページずつ表示)
長いファイルをスクロールしながら見られます。
$ less /var/log/messages
| 操作 | キー |
|---|---|
| 下にスクロール | スペース or j |
| 上にスクロール | b or k |
| 検索 | /検索ワード |
| 終了 | q |
システム確認のコマンド(5個)
サーバーの状態を確認するコマンドです。監視業務でよく使います。
12. df(ディスク容量を確認)
Disk Freeの略。ディスクの使用状況を確認します。
$ df -h
-hオプションをつけると、GB/MBなど人間が読みやすい形式で表示されます。
13. free(メモリ使用量を確認)
メモリの使用状況を確認します。
$ free -h
14. top(リアルタイムでシステム状態を確認)
CPUやメモリの使用率をリアルタイムで表示します。
$ top
終了するにはqキーを押します。
15. ps(プロセス一覧を表示)
Process Statusの略。現在動いているプロセス(プログラム)を表示します。
# よく使うオプション
$ ps aux
特定のプロセスを探したい場合は、grepと組み合わせます。
$ ps aux | grep nginx
16. grep(文字列を検索)
ファイル内やコマンドの出力から、特定の文字列を検索します。
# ファイル内を検索
$ grep "error" /var/log/messages
# 大文字小文字を区別しない
$ grep -i "error" /var/log/messages
grepは本当によく使うので、しっかり覚えておきましょう。
ネットワーク関連のコマンド(4個)
ネットワークの確認や接続テストに使うコマンドです。
17. ping(接続確認)
対象のサーバーと通信できるかを確認します。
$ ping example.com
# 回数を指定(3回だけ)
$ ping -c 3 example.com
「通信できるかな?」と思ったら、まずpingです。
18. ifconfig / ip(IPアドレス確認)
サーバーのIPアドレスやネットワーク設定を確認します。
# 古いコマンド(まだ使えることが多い)
$ ifconfig
# 新しいコマンド(推奨)
$ ip addr
19. netstat / ss(ネットワーク接続状況を確認)
サーバーがどのポートで待ち受けているか、どこと通信しているかを確認します。
# 古いコマンド
$ netstat -an
# 新しいコマンド(推奨)
$ ss -tuln
20. curl(URLにアクセス)
コマンドラインからWebサイトにアクセスします。APIの確認などにも使えます。
# Webページの内容を取得
$ curl https://example.com
# HTTPステータスコードだけ確認
$ curl -I https://example.com
コマンドを効率よく覚えるコツ
20個のコマンドを一気に覚えるのは大変です。効率よく身につけるコツを紹介します。
1. 実際に手を動かす
読むだけでなく、実際にLinux環境で試してみましょう。WSL(Windows Subsystem for Linux)や仮想マシンを使えば、自分のパソコンでも練習できます。
2. よく使うものから覚える
最初は以下の10個から始めるのがおすすめです。
pwd、ls、cd(移動系)cat、less(ファイル確認)cp、mv、rm(ファイル操作)grep(検索)ping(ネットワーク確認)
3. エラーを恐れない
間違ったコマンドを打ってもパソコンは壊れません(rm -rfには注意ですが…)。たくさん試して、エラーメッセージから学びましょう。
まとめ
今回紹介した20個のコマンドを一覧表にまとめます。
| カテゴリ | コマンド | 用途 |
|---|---|---|
| ディレクトリ操作 | pwd | 現在地を表示 |
| ls | ファイル一覧を表示 | |
| cd | ディレクトリを移動 | |
| mkdir | ディレクトリを作成 | |
| rmdir | 空のディレクトリを削除 | |
| ファイル操作 | touch | 空のファイルを作成 |
| cp | コピー | |
| mv | 移動/名前変更 | |
| rm | 削除 | |
| cat | ファイル内容を表示 | |
| less | ページ送りで表示 | |
| システム確認 | df | ディスク容量を確認 |
| free | メモリ使用量を確認 | |
| top | リアルタイム監視 | |
| ps | プロセス一覧 | |
| grep | 文字列検索 | |
| ネットワーク | ping | 接続確認 |
| ip (ifconfig) | IPアドレス確認 | |
| ss (netstat) | 接続状況確認 | |
| curl | URLにアクセス |
この20個のコマンドは、インフラエンジニアとして働く上での基礎中の基礎です。最初から全部覚える必要はありません。実務で使いながら、少しずつ身につけていきましょう。
「コマンドを打つのが怖い」という気持ちは最初は誰でもあります。でも、練習すれば必ず慣れます。ぜひ、自分の手で試してみてくださいね!