こんにちは、インフラエンジニアのryuです
今回の記事では、Linux初心者の方向けによく使うコマンドを10個紹介します。Linuxのコマンドは、サーバーの設定やサーバーの操作に使われます。
結論から言うと、まずはこの記事の10個を使うシーンとセットで覚えれば、業務の基本的な操作はひと通りこなせるようになります。Linuxの勉強を始めた初心者の方向けに、コマンドの使い方をわかりやすく解説します。
【初心者向け】よく使うLinuxコマンド10選!¶
まずは、今回紹介する10個のコマンドを一覧で確認しておきましょう。それぞれの詳しい使い方は、このあと順番に解説していきます。
| 番号 | コマンド | できること | 使うシーン |
|---|---|---|---|
| 1 | ip | ネットワークの設定・確認 | Linuxの設定 |
| 2 | apt | パッケージのインストール・削除 | Linuxの設定 |
| 3 | vi | ファイルの編集 | ファイルの操作 |
| 4 | cat・less | ファイルの中身の表示 | ファイルの操作 |
| 5 | cd | ディレクトリの移動 | ファイルの操作 |
| 6 | ls | ファイルの一覧表示 | ファイルの操作 |
| 7 | tail | ログのリアルタイム表示 | サーバの状態確認 |
| 8 | ps | 動作中のプロセスの確認 | サーバの状態確認 |
| 9 | ss | ポートの状態確認 | サーバの状態確認 |
| 10 | top | CPUやメモリの使用状況の確認 | サーバの状態確認 |
Linuxはコマンドラインで操作を行うため、コマンドを覚える必要があります。Windowsの場合は何かを設定するときにマウスを動かしてクリックすればよいですが、Linuxはコマンドを入力して操作します。
最初は不便に感じるかもしれませんが、慣れてしまえばマウス操作よりも速く正確に操作できるようになります。
今回はLinuxの初心者の方が業務で使うシーンを想定して、コマンドを紹介したいと思います。初心者の方がコマンドを使うシーンは、Linuxの設定、ファイルの操作、サーバの状態確認の3つが多いと思います。
この記事も、3つのシーンに合わせた構成になっています。また、今回はLinuxのDebianを想定しています。
そもそもLinuxコマンドとは?基本の書式をおさえよう¶
個別のコマンドに入る前に、コマンドの書式を確認しておきましょう。Linuxコマンドとは、キーボードからLinuxに指示を出すための命令文のことです。
コマンドは、コマンド名、オプション、引数の3つの要素で構成されます。たとえば ls -la /home であれば、ls がコマンド名、-la がオプション、/home が引数です。
この構造さえ頭に入れておけば、初めて見るコマンドでも意味を読み解きやすくなりますよ。
Linuxの設定をするコマンド¶
ここからは、シーン別にコマンドを見ていきましょう。まずは、Linuxの設定に使うコマンドからです。
Linuxの設定は、Linuxの初期設定やパッケージのインストールなどの作業を想定しています。サーバを運用する業務の方はこの辺はやらないかもしれませんが、個人で勉強用にサーバを構築する場合は必要になるので覚えておいて損はありません。
1. ネットワークの設定を行うipコマンド¶
まず、Linuxを構築したらネットワークの設定を行うと思います。基本はDHCPでIPアドレスが自動的に設定されますが、手動で設定する場合やIPアドレスを確認する場合があるので、その方法を紹介します。
IPアドレスの確認と手動設定は、次のように実行します。
# ip a
# ip address add 192.168.1.1/24 dev eth0
1行目の ip a は、現在のIPアドレスを一覧表示するコマンドです。2行目は、eth0 というインターフェースにIPアドレス 192.168.1.1 を設定する例です。
なお、ip address add で設定した内容は再起動すると消えるため、恒久的な設定には設定ファイルへの記述が必要です。かつては ifconfig というコマンドが定番でしたが、現在は ip コマンドへの移行が進んでいます。
2. パッケージを管理するaptコマンド¶
apt は、Linuxのパッケージをインストールしたり削除したりするコマンドです。例えば、DNSサーバを構築するときには、最初に bind9 というパッケージをインストールします。
インストールとアンインストールは、次のように実行します。
# apt-get install bind9
# apt remove bind9
パッケージ名の部分を入れ替えれば、Webサーバ用の apache2 など様々なソフトウェアを導入できます。apt-get と apt は、どちらもDebian系で使えるパッケージ管理コマンドです。
パッケージの操作には、管理者権限が必要です。一般ユーザーで作業しているときのために、sudoコマンドで管理者権限を付けて実行する方法も確認しておきましょう。
ちなみに、Red Hat系のディストリビューションでは dnf や yum が同じ役割を担います。
ファイルの操作をするコマンド¶
続いて、ファイルの操作をするコマンドです。ファイルの操作は、サーバの設定をしたり設定の確認をしたりなど、様々な用途で使われます。
また、ファイルの場所に移動するコマンドも知っておくと便利です。
3. ファイルを編集するviコマンド¶
ファイルの編集には vi コマンドがよく使われます。vi ファイル名 の形で実行すると、指定したファイルを開いて編集できます。
vi は操作が難しいですが、慣れると効率的にファイルの編集が可能になります。また、存在しないファイルを指定した場合は、新規ファイルとして作成することができます。
vi には、文字を入力する挿入モードと、保存や検索を行うコマンドモードがあります。ほとんどのLinuxに標準で搭載されているため、覚える価値は十分にあります。
具体的なキー操作や編集の流れは、viコマンドの使い方を解説した記事で詳しく紹介しています。
4. ファイルの中身を確認するcat・lessコマンド¶
ファイルの中身を確認するときは、cat コマンドや less コマンドを使います。cat はファイルの中身を一気に表示し、less は1画面ずつスクロールしながら読めるコマンドです。
短い設定ファイルは cat、長いログファイルは less と使い分けるのがおすすめです。less の表示は、q キーで終了できます。
また、別のコマンドと組み合わせると、特定の文字列を含む行だけを表示できます。たとえば cat /etc/hosts | grep localhost と実行すると、localhost を含む行だけが表示されるので、効率良く設定の確認をすることができます。
この絞り込みに使うgrepは、実務でも毎日のように登場する重要なコマンドです。詳しくはgrepコマンドで文字を検索する方法をご覧ください。
なお、環境によっては lv という多言語対応の表示用コマンドが使われることもあります。ただし標準では入っていない環境が多いため、まずは cat と less を覚えておけば大丈夫です。
5. ディレクトリを移動するcdコマンド¶
ファイルを編集する際、毎回ファイルの絶対パスを入力するのは面倒ですよね。そこで、cd コマンドでカレントディレクトリを移動して、相対パスでファイルを指定できるようにします。
cd /home のように実行すると、/home ディレクトリへ移動できます。引数を付けずに cd とだけ実行すると、自分のホームディレクトリへ戻れるのも便利なポイントです。
今どこのディレクトリにいるのかわからなくなったら、pwd コマンドで現在地を表示できます。
6. ファイルの一覧を表示するlsコマンド¶
ファイルの一覧を見たい場合は ls コマンドを使います。このコマンドを使えば、隠しファイルやファイルの権限など、ファイルに関する様々な情報を確認することができます。
よく使うのは、オプションを組み合わせた ls -la という形です。たとえば、次のように表示されます。
# ls -la /home
合計 12
drwxr-xr-x 3 root root 4096 Jul 1 10:00 .
drwxr-xr-x 18 root root 4096 Jul 1 10:00 ..
drwxr-xr-x 2 user user 4096 Jul 1 10:05 user
-l は権限や所有者などの詳細情報を表示し、-a は . から始まる隠しファイルも含めて表示するオプションです。ディレクトリを指定しない場合は、カレントディレクトリのファイルが一覧表示されます。
迷ったらまず ls で周りを確認する、という癖をつけておくと安心ですよ。
サーバの状態を確認するコマンド¶
最後にサーバの状態を確認するコマンドを紹介します。サーバの運用業務をする場合によく使うコマンドです。
トラブルが起きたときは、これから紹介する4つのコマンドで状況を切り分けていくことになります。
7. ログをリアルタイムで表示するtailコマンド¶
ログファイルを確認する場合は tail コマンドを使います。tail コマンドはファイルの末尾を表示するもので、ログをリアルタイムで表示することに適しています。
# tail -f /var/log/syslog
-f オプションを付けると、ファイルに追記された内容が画面に流れ続けます。サーバの動きを監視しながら作業したいときに重宝しますよ。
リアルタイム表示を終了したいときは、Ctrl+Cで中断できます。
8. 動作しているプロセスを確認するpsコマンド¶
現在、だれがどのようなプログラムを動かしているのかを確認するのが ps コマンドです。ps aux の形で実行すると、サーバ上で動いているすべてのプロセスを一覧表示できます。
表示されたプロセスの中に不要なものがあれば、kill コマンドや pkill コマンドで終了させることができます。
実務では、ps aux | grep プロセス名 のように絞り込んで使うのが定番です。
9. ポートの状態を確認するssコマンド¶
どのようなサービスが何番のポートを開けているのかを確認するには、ss コマンドを使います。ss -antup のように実行すると、通信中のポートと対応するプログラムを一覧表示できます。
セキュリティ上不要なポートが開いていないかを、定期的に確認するときによく使うコマンドです。
以前は、同じ用途で netstat -napt というコマンドが広く使われていました。しかし、netstatを含むnet-tools系のコマンドは現在では非推奨となっており、後継であるiproute2系のssコマンドやipコマンドへの移行が推奨されています。
新旧コマンドの対応関係を、表にまとめておきます。
| 旧コマンド(net-tools系) | 新コマンド(iproute2系) | 用途 |
|---|---|---|
| netstat | ss | ポートや通信状態の確認 |
| ifconfig | ip a | IPアドレスの確認 |
| route | ip route | 経路情報の確認 |
| arp | ip neigh | ARPテーブルの確認 |
古いサーバでは今もnetstatが現役で動いているため、読み方は知っておく必要があります。ただ、これから覚えるなら ss を主役にしておくのがおすすめです。
10. CPUやメモリの使用状況を確認するtopコマンド¶
現在のサーバのCPUの状態を確認する場合は top コマンドを使います。実行すると、CPUやメモリの使用率と負荷の高いプロセスが、リアルタイムで表示され続けます。
サーバの動作が重いなどのトラブルが起きた時によく使いますが、普段はあまり使わないかもしれません。表示は q キーで終了できます。
10個の次に覚えたいLinuxコマンド¶
ここまでの10個に慣れてきたら、少しずつ守備範囲を広げていきましょう。次の段階で覚えたいコマンドを表にまとめました。
| コマンド | できること |
|---|---|
| pwd | 現在いるディレクトリの表示 |
| mkdir | ディレクトリの作成 |
| cp | ファイルのコピー |
| mv | ファイルの移動・名前の変更 |
| rm・rmdir | ファイルやディレクトリの削除 |
| touch | 空ファイルの作成・タイムスタンプの更新 |
| tar | ファイルのアーカイブと展開 |
| ping | ネットワークの疎通確認 |
どれも、今回の10個と組み合わせて使う場面が多いコマンドです。たとえばバックアップの取得に使うtarは、tarコマンドでファイルをアーカイブ・展開する方法で詳しく解説しています。
さらに幅広く知りたい方には、Linuxでよく使うコマンドを40個紹介した記事が便利です。
Linuxコマンドの覚え方¶
コマンドの数が多すぎて、覚えられる気がしないと感じていませんか。ここでは、おすすめの覚え方を3つ紹介します。
使うシーンとセットで覚える¶
コマンドは丸暗記するのではなく、使うシーンとセットで覚えるのが一番の近道です。
この記事で、設定・ファイル操作・状態確認という3つのシーンに分けて紹介したのも、この覚え方を意識しているからです。サーバを立てたら ip で設定、ログを見たいなら tail、というように場面と結びつけて覚えていきましょう。
シーンと結びついた知識は、業務で必要になった瞬間に思い出せますよ。
コマンドの意味を英語から理解する¶
コマンドの名前は、ほとんどが英語の略になっています。元の英語を知ると、意味から自然に思い出せるようになります。
| コマンド | 元の英語 | 意味 |
|---|---|---|
| ls | list | 一覧を表示する |
| cd | change directory | ディレクトリを変更する |
| pwd | print working directory | 作業中のディレクトリを表示する |
| ps | process status | プロセスの状態を表示する |
| cp | copy | コピーする |
| rm | remove | 取り除く |
ほかのコマンドの由来も知りたい方は、よく使うLinuxコマンド50個の意味一覧にまとめています。
毎日少しずつ手を動かす¶
最後は、地道ですが一番効果のある方法です。コマンドは、読むだけではなかなか覚えられません。
1日10分でもいいので、実際にターミナルでコマンドを打つ時間を作りましょう。指が操作を覚えると、頭で思い出すより先に手が動くようになります。
LPICなどの資格勉強をしている方も、実機での練習を組み合わせると知識の定着が段違いです。具体的な進め方は、LPICのコマンドを実機で勉強する方法で紹介しています。
Linuxコマンドを練習できる環境の作り方¶
覚え方がわかったところで、実際にコマンドを打てる環境を用意しましょう。
Windowsの方は、WSL(Windows Subsystem for Linux)という機能を使うと、Windowsの中にLinux環境を構築できます。Macの方は、標準のターミナルでUnix系のコマンドをそのまま試せますが、Linuxとは動作が細かく異なるコマンドもある点には注意が必要です。
もっと手軽に始めたい方には、ブラウザだけで練習できる環境がおすすめです。InfraAcademyのLinux入門講座なら、環境構築なしでブラウザ上のシミュレーターにコマンドを打ちながら学べます。
読んだ知識をその場で試せるので、今日紹介した10個のコマンドを効率良く身につけられますよ。
Linuxコマンドでよくある疑問¶
最後に、Linuxコマンドについて初心者の方からよく聞かれる疑問に答えておきます。
コマンドの使い方を忘れたときはどうすればいい?¶
使い方を忘れても、調べるためのコマンドが用意されているので安心してください。man ls のように実行すると、コマンドの詳しいマニュアルが表示されます。
もっと手軽に確認したいときは、ls --help のように --help オプションを付けて実行しましょう。主なオプションの一覧を手早く確認できますよ。
コマンドの入力を速くするコツはありますか?¶
一番のコツは、Tabキーによる補完機能を使うことです。コマンドやファイル名を途中まで入力してTabキーを押すと、残りを自動で補完してくれます。
また、上矢印キーを押すと、過去に実行したコマンドを呼び出せます。この2つを使うだけで、入力の速さが大きく変わりますよ。
初心者が気をつけるべき危険なコマンドはありますか?¶
削除系のコマンドには特に注意が必要です。中でも rm -rf は、指定したディレクトリを中身ごと確認なしで削除するため、対象を間違えるとシステムを壊す恐れがあります。
また、管理者権限での操作は影響範囲が大きくなりがちです。実行前に一度手を止めて、コマンドと対象のパスを見直す習慣をつけましょう。
まとめ¶
今回は、Linux初心者の方向けに、よく使うコマンドを10個紹介しました。
Linuxを使うときに最初に困るのが、「どのコマンドを使えばいいかわからない」ということです。コマンドは使えば慣れて覚えていきますが、一番最初が大変です。
だからこそ、まずは今回の10個を、設定・ファイル操作・状態確認のシーンとセットで覚えてみてください。この10個が使えるだけで、Linuxの操作がぐっと身近になります。
そして、覚えるための一番の近道は、実際に手を動かすことでしたね。InfraAcademyのLinux入門講座なら環境構築なしですぐに練習を始められるので、今日の10個からぜひ試してみてください。