そもそもLinuxコマンドってなに?
Linuxコマンドは覚える必要があるの?
たくさんありすぎてどれを覚えればいいのかわからない…
Linuxコマンドは数が多く、コマンドのオプションも豊富にあるため覚えるまでに時間がかかります。簡単なコマンドを打ってみたものの、なかなか覚えられないと悩んでいる人もいますよね。
しかし、よく使うコマンドに絞ればそこまで数も多くなく、利用シーンに合わせて覚えることで効率的に習得が可能です。
そこで、今回は一覧にまとめつつ、用途別によく使うLinuxコマンドを紹介します。Linuxコマンドの必要性や基本的な使い方、ショートカットキーなども解説するので、ぜひ参考にしてください。
この記事の要約
- Linuxコマンドを覚えることで効率的に開発業務が進められる
- Linuxコマンドは実際に手を動かして覚えるのがおすすめ
- コマンド操作はショートカットキーを覚えると便利
目次
- Linuxコマンドの基礎知識
- 【用途別】Linuxコマンド一覧
- Linuxコマンドの基本的な使い方
- Linuxコマンドの操作に便利なショートカットキー
- Linuxコマンドを覚える3つのコツ
- Linuxコマンドで困ったときの調べ方
- 挫折なくLinuxコマンドの習得を目指すなら
- まとめ
Linuxコマンドの基礎知識
Linuxコマンドは、Linuxに対してテキスト形式で命令を与えるためのものです。Linuxコマンドを使えば、キーボードからテキストを入力するだけで、Linuxにさまざまな処理を命令できます。
そもそもLinuxとはWindowsやmacOSなどと同じ「OS(基本ソフトウェア)」の1つです。OSはコンピューターに組み込まれたハードウェアと各種ソフトウェアの管理や制御を行います。しかし、LinuxはWindowsやmacOS等とは異なり、オープンソースソフトウェアであるため、誰でも無料で利用できる点が特徴といえます。
Linuxはリーナス・トーバルズ氏によって開発され、1991年に最初のバージョンが公開されました。当初はパソコン用に作られたOSでしたが、いまではスーパーコンピュータ、サーバー、組み込みシステム(携帯電話やテレビなど)など、大小さまざまなシステムで使われています。
Linuxコマンドの必要性
Linuxコマンドを覚えていることは、ITエンジニアとして活躍するために必須のスキルです。インフラの構築や運用、アプリケーション開発の一環でLinuxを操作するケースが多いためです。
例えば、次のような作業を行うとき、Linuxコマンドで処理を実行する必要があります。
- アプリケーションのデプロイ作業
- アプリケーションログの確認
- 不具合の調査
また、Linuxコマンドを使えば、Windowsなどのようにマウスなどを利用する「GUI形式」では操作できないシステム設定や、次のような繰り返し行う作業を自動化できます。
- システムやネットワークの状況確認
- ソフトウェアのインストール
- ファイルの検索
わずか数文字を入力するだけで、上記を含むさまざまな作業を迅速かつ正確に行うことが可能です。これにより、大幅な作業効率向上を期待できます。
コマンドオプションとは?
コマンドオプションとは、Linuxコマンドの挙動を細かく設定するために用いるものです。
例えば「ls」は、ディレクトリの内容を表示するコマンドです。この「ls」コマンドに「-l」というオプションを加えると、下記のように詳細情報を一覧表示できます。
- ハードリンク数
- 所有者
- 所有グループ
- サイズ
- 最終変更時刻
- ファイル名
このように、コマンドオプションを利用すれば、Linuxに対してより細かな命令を出せるようになる点が特徴です。
そもそもどうやって学習を始めればいいの?
これを作るにはどんな学習プランになるの?
プログラミング学習を始めるにあたり、こんな悩みありますよね?
そんなあなたにおすすめなのが、「プログラミング学習プラン診断」です。簡単な質問からあなたにピッタリの学習プランを診断します。
完全無料で簡単に診断できるので、ぜひお試しください!
\ たった4問! /
【用途別】Linuxコマンド一覧
下記に、用途別でよくLinux使うコマンドを一覧にまとめました。
- ディレクトリ・ファイル操作
- テキスト操作
- ユーザー管理
- システム管理
- ネットワーク関連の設定
コマンド | 用途 | コマンドオプション |
pwd | 現在のディレクトリを表示する | ・-L:シンボリックリンクの名称を使用してパスを表示する。 ・-P:シンボリックリンクの参照先を表示する。 |
cd | 指定したディレクトリに移動する | ・-L:移動先がシンボリックリンクの場合はシンボリックリンクへ移動する。 ・-P:移動先がシンボリックリンクの場合はシンボリックリンクの参照先へ移動する。 |
is | ディレクトリの中にあるファイルやディレクトリを表示する | ・-l:ファイルの詳細情報を表示する。 ・-m:カンマ区切りで表示する。 ・-R:ファイルまたはディレクトリ名を再帰的に表示する。 |
touch | ファイルがない場合に新規作成する(ファイルがある場合はタイムスタンプを変更する) | ・-a:アクセス時刻のみ変更する。 ・-d:日時を指定してタイムスタンプを更新する。 ・-m:時刻のみ変更する。 |
mkdir | ディレクトリを作成する | ・-m:パーミッション(権限)を指定する。 ・-p:親ディレクトリを作成する。 ・-v:結果をメッセージ表示する。 |
rm | ファイルを削除する | ・-f:確認メッセージを表示せずに削除する。 ・-i:削除実行時に確認メッセージを表示する。 ・-r:ディレクトリ内のファイルをすべて削除する。 |
rmdir | 空のディレクトリを削除する | ・-p:上位ディレクトリを含めて削除する。 ・-v:削除実行時に詳細を表示する。 |
cp | ファイルやディレクトリをコピーする | ・-a:アクセス権限ごとコピーする。 ・-f:ファイルが存在する場合も強制的に上書きする。 ・-r:ディレクトリに存在するファイルをすべてコピーする。 |
find | ファイルを検索する | ・-empty:空ファイルを検索対象に含める。 ・-type f:ファイルを検索対象とする。 ・-type d:ディレクトリを検索対象とする。 ・-size [サイズ]:指定したサイズ以上(または以下)のファイルを検索対象とする。 |
スクロールします
以降では、各用途別にそれぞれのLinuxコマンドを詳しく解説します。
ディレクトリ・ファイル操作
コマンド | 用途 | コマンドオプション |
pwd | 現在のディレクトリを表示する | ・-L:シンボリックリンクの名称を使用してパスを表示する。 ・-P:シンボリックリンクの参照先を表示する。 |
cd | 指定したディレクトリに移動する | ・-L:移動先がシンボリックリンクの場合はシンボリックリンクへ移動する。 ・-P:移動先がシンボリックリンクの場合はシンボリックリンクの参照先へ移動する。 |
is | ディレクトリの中にあるファイルやディレクトリを表示する | ・-l:ファイルの詳細情報を表示する。 ・-m:カンマ区切りで表示する。 ・-R:ファイルまたはディレクトリ名を再帰的に表示する。 |
touch | ファイルがない場合に新規作成する(ファイルがある場合はタイムスタンプを変更する) | ・-a:アクセス時刻のみ変更する。 ・-d:日時を指定してタイムスタンプを更新する。 ・-m:時刻のみ変更する。 |
mkdir | ディレクトリを作成する | ・-m:パーミッション(権限)を指定する。 ・-p:親ディレクトリを作成する。 ・-v:結果をメッセージ表示する。 |
rm | ファイルを削除する | ・-f:確認メッセージを表示せずに削除する。 ・-i:削除実行時に確認メッセージを表示する。 ・-r:ディレクトリ内のファイルをすべて削除する。 |
rmdir | 空のディレクトリを削除する | ・-p:上位ディレクトリを含めて削除する。 ・-v:削除実行時に詳細を表示する。 |
cp | ファイルやディレクトリをコピーする | ・-a:アクセス権限ごとコピーする。 ・-f:ファイルが存在する場合も強制的に上書きする。 ・-r:ディレクトリに存在するファイルをすべてコピーする。 |
find | ファイルを検索する | ・-empty:空ファイルを検索対象に含める。 ・-type f:ファイルを検索対象とする。 ・-type d:ディレクトリを検索対象とする。 ・-size [サイズ]:指定したサイズ以上(または以下)のファイルを検索対象とする。 |
スクロールします
ディレクトリやファイル操作は使用頻度が高いLinuxコマンドです。とくにディレクトリを移動する「cd」やファイル検索の「find」は覚えておきましょう。
また「rm」や「rmdir」などのディレクトリ・ファイル削除はコマンドオプションを誤って実行すると、意図しないファイルを削除してしまうリスクがあります。実行時は十分に注意することをおすすめします。
なお、次の記事ではファイルを検索するfindコマンドを詳しく解説しているので、よければ参考にしてください。
Linuxでファイルを検索するには?findコマンドの基本を解説
更新日:2024年5月6日
テキスト操作
コマンド | 用途 | コマンドオプション |
vi (vim) | テキストエディタ「vi(Vim)」を起動する | ・-b:バイナリモードで開く ・-R:読み取り専用モードで開く |
cat | ファイルの中身を表示する | ・-b:空白行以外に行番号を表示する。 ・-n:空白行を含め行番号を表示する。 ・-s:空白行が連続する場合は1行にまとめる。 |
tail | 指定した行数分、ファイルの中身を表示する | ・-c [バイト数]:ファイルの末尾から指定バイト数分のみ表示する。 ・-f:ファイルの追記をチェックする。 ・-n [行数]:ファイルの末尾から指定行数分のみ表示する。 |
nl | テキストに行番号をつけて表示する | ・-bt:空白行以外に行番号を表示する。 ・-ba:空白行を含め行番号を表示する。 ・-bp [文字列]:指定文字列を含む行のみ行番号を振る |
wc | ファイルの行数や文字数をカウントして表示する | ・-l:行数を表示する。 ・-w:単語数を表示する。 ・-c:バイト数を表示する。 |
grep | 指定したファイルに特定の文字が入っているか確認する | ・-i:大文字小文字を区別しない。 ・-l:検索結果としてファイル名のみを表示する。 ・-r:サブディレクトリを再帰的に検索する。 |
スクロールします
「cat」コマンドはファイルの中身を素早く確認したいときに多用します。
一方で「tail」コマンドは「tail -f -n 10」とコマンドオプションを複数指定すれば、リアルタイムで末尾10行のみを確認できます。アプリケーションのログファイルを確認するときなどに便利な機能です。
ユーザー管理
コマンド | 用途 | コマンドオプション |
useradd /adduser | ユーザーを新規作成する | ・-e [YYYY-MM-DD]:有効期限を年月日で指定する。 ・-m:ホームディレクトリを指定する。 ・-u [ユーザーID]:ユーザーIDを指定する。 |
userdel | ユーザーを削除する | ・-r:ホームディレクトリも削除する。 |
groupadd | グループを新規作成する | ・-f:同名のグループが存在している場合もエラーを無視する。 ・-g [GID(グループ識別番号)]:グループIDにGIDを使用する。 |
groupdel | グループを削除する | – |
chfn | ユーザー情報を変更する | ・-f:実名を設定する。 ・-o:オフィスの部屋番号を設定する。 ・-p:オフィスの電話番号を設定する。 |
スクロールします
Linuxでは、ユーザーの新規作成や削除などもコマンドで行います。
プログラマーなどが実行する機会は少ないものの、一連のコマンドは覚えておきましょう。なお、環境構築を担当するインフラエンジニアなどは、サーバーにログインできるユーザーなどを管理する必要があるため、必ず覚えるべきコマンドです。
意図しない設定はセキュリティの低下を招く恐れがあるため、コマンドオプションを含めしっかりと習得しましょう。
システム管理
コマンド | 用途 | コマンドオプション |
free | 空きメモリや、使用中メモリを表示する | ・-b:メモリ量をバイト単位で表示する。 ・-s [間隔]:指定した間隔ごとにメモリ量を再出力する。 ・-c [回数]:指定した回数までメモリ量を再出力する。 |
last | 最近ログインしたユーザー名を表示する | ・-n [行数]:表示する行数を指定する。 ・-t [YYYYMMDDhhmmss]:指定した年月日時分秒より前のログイン情報を表示する。 ・-d:リモートログインした場合にログイン元のIPアドレスをホスト名に変換して表示する。 |
finger | ユーザー情報を表示する | ・-s:詳細情報を表示する。 ・-p [ユーザー名]:ユーザー情報を.planや.projectなどの情報を除いて表示する。 ・-m [ユーザー名]:一致したユーザー名のみ表示する。 |
スクロールします
システム管理コマンドはサーバーの状態などを確認可能です。とくに「free」コマンドはサーバーの負荷などを調査したいときに利用します。アプリケーションの安定性を保つためには覚えておきたいコマンドといえます。
ネットワーク関連の設定
コマンド | 用途 | コマンドオプション |
route | ルーティングの表示や設定を行う | ・-n:IPアドレスのみ出力する。 ・-v:詳細情報を表示する。 ・-e:netstatコマンドと同様の項目を表示する。 |
ftp | ファイルをFTPで転送する | ・-i:処理結果を表示しない。 ・-v:処理結果を表示する。 |
ssh | 暗号化された通信上でリモート接続する | ・-p [ポート番号]:ポート番号を指定して接続する。 ・-l [ユーザー名]:ユーザー名を指定して接続する。 ・-E [ログファイル名]:エラーを指定したファイルへ書き込む。 |
netstat | ホストやネットワークの状態を確認する | ・-a:すべての接続を表示する。 ・-i:インターフェースごとのパケット統計を表示する。 ・-s:ネットワーク統計を表示する。 |
ping | ネットワークの通信状況(指定した相手とネットワークが疎通しているか)を確認する。 | ・-a:疎通確認時に音を出力する。 ・-R:通信経路を表示する。 ・-w [秒数]:実行時間を指定する。 |
スクロールします
ITエンジニアはサーバーにログインして作業を行うことがありますが、そのようなときは「ssh」コマンドを利用することが多いです。
また「netstat」や「ping」などは、ネットワーク設定やトラブルシューティングに欠かせないLinuxコマンドといえます。トラブルをスムーズに解決するためにも、コマンドの役割やオプションを把握しておきましょう。
なお、次の記事では初心者が練習すべきLinuxコマンドを厳選して紹介しているので、あわせて参考にしてください。
【初心者向け】Linuxで練習すべきコマンド15選!
更新日:2024年2月19日
Linuxコマンドの基本的な使い方
ここからは、下記のOSごとにLinuxコマンドの基本的な使い方を紹介します。
Windowsで使う手順
Windows環境でLinuxコマンドを使用するには、WSL(Windows Subsystem for Linux)の設定が必要です。
まず、Microsoft Storeから適切なLinuxディストリビューションをインストールし、WSLを有効にします。これにより、Windows上で直接Linux環境を実行し、Linuxコマンドを利用することが可能になります。
Macで使う手順
Macの場合、あらかじめ組み込まれているTerminalアプリケーションを使用してLinuxコマンドを実行可能です。実行方法は主に次の2つです。
- アプリケーション → ユーティリティ → ターミナルから起動する
- Launchpad → その他 → ターミナルから起動する
誰でも簡単に使えるため、まずは簡単なLinuxコマンドから実行してみてはいかがでしょうか。