Linuxのコマンドを覚えたいけれど、何から始めればいいかわからない。そんなエンジニア初心者の方は多いのではないでしょうか。
この記事では、Linux初心者が最初に覚えるべき基礎コマンド30選を目的別に整理して解説します。実務で使う頻度の高いコマンドを厳選しているので、この記事の内容をマスターすれば日常的なサーバー操作に困ることはなくなります。
なぜLinuxコマンドを学ぶべきなのか
Web開発やインフラ運用の現場では、Linuxサーバーの操作が必須スキルです。クラウドサービスのサーバーはほぼすべてLinuxで動いており、AWS、GCP、Azureいずれを使う場合でもLinuxの基礎知識が求められます。
GUIではなくコマンドライン(CLI)で操作する理由は、処理の自動化が容易であること、リモートサーバーへのSSH接続ではCLIが基本であること、そしてGUIより圧倒的に高速に作業できることです。
エンジニアとしてのキャリアを築くなら、Linuxコマンドは避けて通れません。プログラミング独学ロードマップでも、基礎スキルの一つとして位置づけられています。
ファイル・ディレクトリ操作の基本コマンド
まずはファイルとディレクトリの操作コマンドを覚えましょう。日常業務で最も使用頻度が高いカテゴリです。
ls — ファイル一覧を表示
lsはディレクトリ内のファイルやフォルダの一覧を表示するコマンドです。最も基本的なコマンドの一つで、毎日何十回も使います。「ls -la」で隠しファイルも含めた詳細情報を表示できます。「ls -lh」でファイルサイズを人間が読みやすい形式(KB、MB)で表示します。
cd — ディレクトリを移動
cdはディレクトリ間を移動するコマンドです。「cd /var/log」で指定パスに移動、「cd ..」で一つ上の階層に戻れます。「cd ~」でホームディレクトリに一発で戻れるのも覚えておきましょう。「cd -」で直前のディレクトリに戻る機能も便利です。
pwd — 現在のディレクトリを表示
pwdは現在いるディレクトリのフルパスを表示します。「自分が今どこにいるか」を確認するために使います。深い階層で作業しているときに迷子にならないための必須コマンドです。
mkdir — ディレクトリを作成
mkdirは新しいディレクトリを作成します。「mkdir -p parent/child/grandchild」で階層的なディレクトリを一気に作成できます。プロジェクトの初期セットアップで頻繁に使います。
cp / mv / rm — コピー・移動・削除
cpはファイルのコピー、mvはファイルの移動(リネーム)、rmはファイルの削除を行います。「cp -r」でディレクトリごとコピー、「rm -rf」でディレクトリごと強制削除できますが、rm -rfは取り消しがきかないので慎重に使いましょう。本番サーバーでの誤操作は致命的です。
ファイル閲覧・検索コマンド
ログファイルの確認や設定ファイルの内容チェックで頻繁に使うコマンド群です。
cat / less / head / tail — ファイルの中身を見る
catはファイルの内容を全て表示します。短いファイルの確認に便利です。lessはページ単位でスクロールしながら閲覧でき、長いファイルに適しています。headはファイルの先頭、tailはファイルの末尾を表示します。「tail -f /var/log/syslog」でリアルタイムにログを監視できるのは実務で非常に重宝します。
grep — テキスト検索
grepは指定したパターンに一致する行を検索するコマンドです。ログからエラーを探すときに「grep ERROR /var/log/app.log」のように使います。「grep -r」で再帰的にディレクトリ内を検索、「grep -i」で大文字小文字を区別しない検索も可能です。パイプと組み合わせて「ps aux | grep nginx」のように他のコマンドの出力をフィルタリングする使い方も頻出です。
find — ファイルを探す
findはファイル名やサイズ、更新日時などの条件でファイルを検索します。「find / -name “*.log” -mtime -7」で過去7日以内に更新されたlogファイルを検索できます。ディスク容量が逼迫したときに大きなファイルを探す場面でも活躍します。
権限・ユーザー管理コマンド
Linuxはマルチユーザーシステムなので、ファイルの権限管理は非常に重要です。セキュリティの基礎にもなります。Webセキュリティの基礎知識と合わせて理解しておきましょう。
chmod — 権限を変更
chmodはファイルやディレクトリの権限を変更します。「chmod 755 script.sh」でスクリプトに実行権限を付与できます。数字の意味は、4が読み取り、2が書き込み、1が実行です。これらを足し合わせて権限を指定します。Webサーバーのデプロイ時に頻繁に使います。
chown — 所有者を変更
chownはファイルの所有者とグループを変更します。「chown www-data:www-data /var/www/html」のようにWebサーバーの公開ディレクトリの所有者を設定する場面で使います。権限エラーのトラブルシューティングでも重要なコマンドです。
sudo — 管理者権限で実行
sudoはroot(管理者)権限でコマンドを実行します。システム設定の変更やパッケージのインストールなど、管理者権限が必要な操作で使います。「sudo apt update」でパッケージ一覧を更新するのが代表的な使い方です。
プロセス管理コマンド
サーバー上で動いているプロセスの確認や管理は、トラブルシューティングの基本です。
ps — プロセス一覧を表示
psは実行中のプロセスを表示します。「ps aux」で全ユーザーの全プロセスを表示できます。CPU使用率やメモリ使用量も確認できるので、サーバーの負荷調査で必ず使います。
top / htop — リアルタイムでプロセスを監視
topはリアルタイムでシステムの状態を監視するコマンドです。CPU使用率、メモリ使用量、プロセス一覧をリアルタイムで確認できます。htopはtopの高機能版で、より直感的なインターフェースで操作できます。サーバーの負荷が高いときの原因調査に欠かせません。
kill — プロセスを終了
killはプロセスを終了させるコマンドです。「kill PID」で指定したプロセスを停止できます。応答しなくなったプロセスには「kill -9 PID」で強制終了を行います。暴走したプロセスの対処に必須です。
ネットワーク関連コマンド
Webエンジニアにとってネットワークの基礎知識は必須です。サーバーの接続トラブルの原因特定に使うコマンドを押さえましょう。
curl — HTTPリクエストを送信
curlはコマンドラインからHTTPリクエストを送信するツールです。REST APIの動作確認やWebサイトの応答チェックに使います。「curl -I https://example.com」でレスポンスヘッダーだけを確認できます。API開発では毎日のように使うコマンドです。
ssh — リモートサーバーに接続
sshはリモートサーバーに安全に接続するためのコマンドです。「ssh user@server-ip」で接続し、リモートサーバー上で直接コマンドを実行できます。クラウドサーバーの管理には必須のコマンドです。公開鍵認証の設定をしておくとパスワード入力なしで接続できます。
ping / netstat — ネットワーク診断
pingはサーバーへの接続確認に使います。「ping google.com」でインターネット接続を確認できます。netstatはネットワーク接続やポートの使用状況を表示します。「netstat -tlnp」でリッスンしているポートを確認でき、ポート競合のトラブルシューティングに役立ちます。
テキスト処理コマンド
ログ解析やデータ処理で威力を発揮するテキスト処理コマンドです。Python自動化スクリプトと組み合わせると、さらに強力なデータ処理が可能になります。
sed / awk — テキスト変換・処理
sedはストリームエディタで、テキストの置換や削除を行います。「sed ‘s/old/new/g’ file.txt」で文字列を一括置換できます。awkはテキストの列処理が得意で、「awk ‘{print $1, $3}’ file.txt」で特定の列だけを抽出できます。ログの集計やCSVデータの加工で活躍します。
sort / uniq / wc — データ集計
sortはテキストをソート、uniqは重複行を除去、wcは行数・単語数・バイト数を数えます。これらをパイプでつなげて「cat access.log | awk ‘{print $1}’ | sort | uniq -c | sort -rn | head -10」のようにアクセスログからIPアドレスのアクセス数ランキングを作成できます。
パッケージ管理コマンド
ソフトウェアのインストールやアップデートに使うパッケージ管理コマンドです。ディストリビューションによって使うコマンドが異なります。
Ubuntu/Debian系では「apt update」でパッケージ一覧を更新し、「apt install パッケージ名」でインストールします。CentOS/RHEL系では「yum install パッケージ名」または「dnf install パッケージ名」を使います。セキュリティアップデートは定期的に「apt upgrade」で適用しましょう。
効率的にLinuxコマンドを覚える方法
30個のコマンドを一度に暗記しようとしても定着しません。効率的な学習方法を紹介します。
まずは実際に手を動かすことが最重要です。VirtualBoxやWSL2(Windows Subsystem for Linux)を使えば、自分のPCにLinux環境を構築できます。Docker入門ガイドを参考にDockerコンテナを使うのも手軽な方法です。
次に、manコマンドでヘルプを読む習慣をつけましょう。「man ls」でlsコマンドの全オプションが確認できます。最初は読みにくいですが、慣れると公式ドキュメントを素早く参照できるようになります。
最後に、エイリアス設定で頻出コマンドを短縮しましょう。「alias ll=’ls -la’」のように設定すれば、毎回長いオプションを入力する手間が省けます。.bashrcに記述しておけば永続化できます。
まとめ:Linuxコマンドはエンジニアの必須スキル
この記事ではLinux初心者が最初に覚えるべき基礎コマンド30選を解説しました。ファイル操作、テキスト検索、権限管理、プロセス管理、ネットワーク診断、テキスト処理と、実務で頻出するコマンドを網羅しています。
大切なのは一度に全てを覚えようとしないことです。まずはls、cd、cat、grepの4つを使いこなせるようになりましょう。その後、実務で必要になったコマンドを一つずつ覚えていけば、自然とコマンドラインに慣れていきます。
Linuxの基礎を固めたら、Git/GitHubの使い方やCI/CDの導入にも挑戦してみてください。コマンドライン操作に慣れていれば、これらの技術の習得もスムーズに進みます。


コメント