Linux初心者必見!ディストリビューション別よく使うコマンド完全ガイド【2025年版】

インフラ・ネットワーク

Linux初心者の方が最初に戸惑うのが「同じLinuxなのになぜコマンドが違うの?」という疑問です。Ubuntu、CentOS、Arch Linuxなど、ディストリビューションによって使用するコマンドが異なることがあり、これが初心者の学習を困難にしています。

私自身、初めてCentOSサーバーを触った時、Ubuntuで慣れ親しんだaptコマンドが使えず、「パッケージをインストールできない!」と焦った経験があります。この記事では、そんな初心者の方が迷わないよう、主要なディストリビューション別のコマンドを実用的な観点から解説します。

なぜディストリビューションでコマンドが違うのか

Linuxディストリビューションは、Linuxカーネルを中心に様々なソフトウェアを組み合わせて作られています。各ディストリビューションが独自の哲学や目的を持っているため、以下のような違いが生まれます:

  • パッケージ管理システム:ソフトウェアのインストール・管理方法
  • システム管理ツール:サービス管理や設定方法
  • デフォルト設定:初期状態での動作や配置

理解しておくべき主要な系統は以下の通りです:

  • Debian系:Ubuntu、Debian、Linux Mint など
  • RHEL系:CentOS、Rocky Linux、Fedora など
  • Arch系:Arch Linux、Manjaro など

パッケージ管理コマンドの違い

ソフトウェアのインストール・アップデートは日常的に行う作業です。ディストリビューション別の基本コマンドを押さえましょう。

Ubuntu/Debian系(APTパッケージ管理)

# パッケージ一覧の更新
sudo apt update

# システムのアップグレード
sudo apt upgrade

# パッケージのインストール
sudo apt install nginx

# パッケージの削除
sudo apt remove nginx

# パッケージの検索
apt search nginx

RHEL/CentOS/Rocky/AlmaLinux系(DNF/YUMパッケージ管理)

# システムの更新(RHEL 8以降、CentOS 8以降、Rocky Linux、AlmaLinux)
sudo dnf update

# パッケージのインストール
sudo dnf install nginx

# パッケージの削除  
sudo dnf remove nginx

# パッケージの検索
dnf search nginx

# インストール済みパッケージの確認
dnf list installed | grep nginx

# パッケージ情報の表示
dnf info nginx

# 【注意】RHEL 7/CentOS 7以前の場合はyumを使用
# sudo yum update
# sudo yum install nginx
じゅんち8

CentOSのサポート終了で多くの人がRocky LinuxやAlmaLinuxに移行しました。私は本番環境ではDebianやUbuntuを使うことが多いですが、RHEL系が必要な場合はRocky Linuxを選択しています。CentOS StreamはRHELの先行開発版という位置づけで、継続的にアップデートされるため、安定性を重視する本番環境にはRed Hatも推奨していません。ただし、最新機能を試したい開発環境には最適です。

Arch系(Pacmanパッケージ管理)

# システムの更新
sudo pacman -Syu

# パッケージのインストール
sudo pacman -S nginx

# パッケージの削除
sudo pacman -R nginx

# パッケージの検索
pacman -Ss nginx
じゅんち8

じゅんち8の実体験

初めてCentOSを触った時、apt installを何度も打ち込んで「コマンドが見つかりません」エラーに遭遇しました。パッケージ管理システムの違いを理解するまで、基本的な作業すら進められず苦労した記憶があります。

システム管理コマンド

Webサーバーやデータベースなどのサービス管理は、サーバー運用において必須のスキルです。

サービス管理(systemctl)

現代のLinuxディストリビューションは多くがsystemdを採用しているため、以下のコマンドは共通して使用できます:

# サービスの開始
sudo systemctl start nginx

# サービスの停止
sudo systemctl stop nginx

# サービスの再起動
sudo systemctl restart nginx

# サービスの状態確認
sudo systemctl status nginx

# サービスの自動起動設定
sudo systemctl enable nginx

# サービスの自動起動無効化
sudo systemctl disable nginx

ログの確認

# システムログの確認(systemd環境)
sudo journalctl

# 特定サービスのログ確認
sudo journalctl -u nginx

# リアルタイムでログを表示
sudo journalctl -f

# 従来のログファイル確認
sudo tail -f /var/log/messages
sudo tail -f /var/log/syslog  # Debian系

ネットワーク関連コマンド

サーバー運用やトラブルシューティングで頻繁に使用するネットワークコマンドです。

基本的なネットワーク確認

# IPアドレスの確認
ip addr show
# または
ifconfig

# ネットワーク接続の確認
ping google.com

# DNSの確認
nslookup google.com
# または
dig google.com

# ポート接続の確認
telnet example.com 80
# または
nc -zv example.com 80

ファイアウォール設定

# Ubuntu系(ufw)
sudo ufw enable
sudo ufw allow 22
sudo ufw allow 80
sudo ufw status

# CentOS系(firewalld)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

ファイル・ディレクトリ操作

日常的な作業で使用する基本コマンドは、どのディストリビューションでも共通です。

基本操作

# ディレクトリの移動
cd /var/www/html

# ファイル・ディレクトリの一覧表示
ls -la

# ファイルの内容表示
cat /etc/hostname
less /var/log/messages

# ファイルの検索
find / -name "*.conf" 2>/dev/null
grep -r "error" /var/log/

# 権限の変更
sudo chmod 755 /var/www/html
sudo chown www-data:www-data /var/www/html

トラブルシューティングでよく使うコマンド

問題が発生した時に状況を把握するためのコマンドです。

システム状況の確認

# CPU・メモリ使用状況
top
htop  # より見やすい(要インストール)

# ディスク使用量
df -h
du -sh /var/log/*

# プロセスの確認
ps aux | grep nginx
pgrep nginx

# ポートの使用状況
sudo netstat -tulpn
# または
sudo ss -tulpn

ログ分析

# エラーログの確認
sudo grep -i error /var/log/messages
sudo grep -i error /var/log/syslog

# アクセスログの分析
sudo tail -f /var/log/nginx/access.log
sudo grep "404" /var/log/nginx/access.log
じゅんち8

じゅんち8の失敗談

あるとき、WordPressサイトが突然表示されなくなりました。焦ってあれこれ設定を変更する前に、まずsudo systemctl status nginxでサービス状況を確認し、sudo journalctl -u nginxでログを見ることで、設定ファイルの文法エラーが原因だと素早く特定できました。基本的な確認コマンドを知っていることの重要性を実感した瞬間です。

初心者が覚えるべき優先順位

すべてのコマンドを一度に覚える必要はありません。以下の順序で習得することをおすすめします:

優先度:高

  1. パッケージ管理apt/dnf(旧yum)/pacman の基本操作
  2. サービス管理systemctl の start/stop/status
  3. ファイル操作lscdcatchmod
  4. ログ確認journalctltail

優先度:中

  1. ネットワークpingip addrss
  2. システム状況topdfps
  3. 検索・分析grepfind

優先度:低(慣れてから)

  1. 高度なネットワークtcpdumpiptables
  2. システム最適化cronrsync
  3. セキュリティfail2banufw/firewalld

【補足】CentOS Streamとは?

CentOS StreamはRHELの「アップストリーム」として位置づけられており、次期RHELバージョンの新機能が先行投入される開発プラットフォームです。

  • 開発フロー: Fedora → CentOS Stream → RHEL
  • 適した用途: 開発・テスト環境、CI/CDパイプライン、新機能の早期評価
  • 本番環境: Red Hat公式では非推奨(安定性重視ならRHEL/Rocky Linux/AlmaLinux)
  • 例外: Meta(Facebook)のような高度な技術力を持つ組織は採用例あり

まとめ

Linuxディストリビューション別のコマンドの違いは、初心者にとって混乱の元ですが、パッケージ管理システムの違いを理解することで整理できます。最も重要なのは以下の点です:

  • 使用しているディストリビューションを把握する(cat /etc/os-releaseで確認)
  • パッケージ管理コマンドの違いを理解する
  • 基本的なシステム管理コマンドから習得する
  • トラブル時の確認手順を身につける

実際の運用では、一つのディストリビューションに慣れてから他に移行することが多いため、まずは使用頻度の高いコマンドから確実に習得することをおすすめします。コマンドラインに慣れることで、Linuxサーバーの運用がより安全で効率的になります。

今回紹介したコマンドは、実際のサーバー運用で頻繁に使用するものばかりです。少しずつでも実際に試してみて、Linuxの世界をより深く理解していってください。

タイトルとURLをコピーしました