【保存版】Debianでよく使うターミナルコマンド一覧と使い方ガイド

Linux

「Debianを始めたいけど、ターミナルが難しそう…」
「コマンドって覚えることが多すぎる…」

そんな不安を感じている方も多いのではないでしょうか。

確かに、Debianはコマンドライン操作が中心のLinuxディストリビューションです。

でも実は、日常的に使うコマンドは意外と少ないんです。

この記事では、Debian初心者でも安心して使えるよう、本当によく使うコマンドを厳選し、実際の使用例とともにわかりやすく解説します。

スポンサーリンク

Debianとは?なぜターミナルが重要?

Debianの特徴

安定性重視のLinuxディストリビューション

  • 長期サポート:安定版は約3年間サポート
  • 豊富なパッケージ:59,000以上のソフトウェア
  • セキュリティ:迅速なセキュリティアップデート
  • 無料:完全にフリーソフトウェア

Debianが使われる場面

  • サーバー:Webサーバー、データベースサーバー
  • 組み込みシステム:IoTデバイス、ルーター
  • 開発環境:プログラミング学習、アプリ開発
  • 研究・教育:大学、研究機関

なぜターミナル操作なのか

効率性

  • マウス操作より高速
  • 複数の操作を一度に実行可能
  • 自動化(スクリプト)が容易

正確性

  • GUI環境がなくても操作可能
  • リモート操作に適している
  • エラーメッセージが詳細

学習価値

  • Linuxの基本概念を理解できる
  • サーバー管理スキルが身につく
  • プログラミングスキルの向上

ターミナルの基本的な使い方

ターミナルの起動方法

デスクトップ環境がある場合

  • ショートカットCtrl + Alt + T
  • メニューから:アプリケーション → ターミナル
  • 右クリック:デスクトップで右クリック → 「ターミナルで開く」

コマンドプロンプトの見方

user@debian:~$ 
  • user:現在のユーザー名
  • debian:コンピューター名(ホスト名)
  • ~:現在いる場所(~はホームディレクトリ)
  • $:一般ユーザーの印(#は管理者)

コマンドの基本構造

コマンド名 [オプション] [引数]

ls -l /home
│  │  └─ 引数(対象のディレクトリ)
│  └─ オプション(詳細表示)
└─ コマンド名(ファイル一覧表示)

ファイル・ディレクトリ操作の基本コマンド

現在地確認と移動

コマンド説明使用例結果
pwd現在のディレクトリを表示pwd/home/user
lsファイル・ディレクトリ一覧lsDocuments Downloads
ls -l詳細情報付きで一覧表示ls -l権限、サイズ、日付も表示
ls -a隠しファイルも含めて表示ls -a.bashrc .profile も表示
cdディレクトリを移動cd DocumentsDocumentsフォルダに移動

実践的な使用例

# 現在地を確認
$ pwd
/home/user

# ファイル一覧を確認
$ ls
Documents  Downloads  Pictures  Videos

# Documentsフォルダに移動
$ cd Documents

# 移動先を確認
$ pwd
/home/user/Documents

# 一つ上のディレクトリに戻る
$ cd ..

# ホームディレクトリに戻る
$ cd ~
# または単に
$ cd

ファイル・ディレクトリの作成と削除

コマンド説明使用例注意点
mkdirディレクトリを作成mkdir myproject同名のディレクトリがあるとエラー
mkdir -p親ディレクトリも同時作成mkdir -p work/project/src途中のディレクトリも自動作成
touch空のファイルを作成touch readme.txtファイルが存在する場合は更新日時を変更
rmファイルを削除rm oldfile.txt削除したファイルは復元不可
rm -rディレクトリを削除rm -r olddir中身ごと削除(危険)
rm -i削除前に確認rm -i *.txt安全な削除方法

安全な削除の実践例

# ファイルを安全に削除(確認付き)
$ rm -i unwanted.txt
rm: remove regular file 'unwanted.txt'? y

# ディレクトリを安全に削除
$ rm -ri old_project
rm: descend into directory 'old_project'? y
rm: remove regular file 'old_project/file1.txt'? y
rm: remove directory 'old_project'? y

ファイル・ディレクトリのコピーと移動

コマンド説明使用例補足
cpファイルをコピーcp file1.txt file2.txtfile1.txtをfile2.txtとしてコピー
cp -rディレクトリをコピーcp -r dir1 dir2dir1をdir2としてコピー
mvファイル・ディレクトリを移動mv file.txt Documents/Documentsフォルダに移動
mvファイル・ディレクトリ名を変更mv oldname.txt newname.txtリネーム

実践的なコピー・移動例

# 重要なファイルをバックアップ
$ cp important.txt important_backup.txt

# 設定ファイルをバックアップ(日付付き)
$ cp config.conf config.conf.$(date +%Y%m%d)

# プロジェクトディレクトリを丸ごとコピー
$ cp -r myproject myproject_backup

# ファイルを整理(移動)
$ mv *.txt Documents/
$ mv *.jpg Pictures/

システム情報確認コマンド

リアルタイム監視

コマンド説明使用例終了方法
topシステム負荷をリアルタイム表示topqキーで終了
htoptopの強化版(要インストール)htopqキーで終了
ps実行中のプロセス一覧ps aux

topコマンドの見方

$ top
top - 14:30:25 up  2:15,  1 user,  load average: 0.08, 0.12, 0.09
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.1 us,  0.8 sy,  0.0 ni, 97.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1024.0 total,    512.5 free,    256.2 used,    255.3 buff/cache
MiB Swap:   1024.0 total,   1024.0 free,      0.0 used.    640.1 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1234 user      20   0  123456   7890   2345 S   1.5   0.8   0:12.34 firefox

重要な情報の読み方

  • load average:システムの負荷(1.0以下が理想)
  • %CPU:CPU使用率
  • %MEM:メモリ使用率
  • RES:実際に使用中のメモリ

ディスクとメモリの確認

コマンド説明使用例出力例
df -hディスク使用量(人間が読みやすい形式)df -h50G 25G 23G 53% /
du -hディレクトリ使用量du -h Documents1.2G Documents
free -hメモリ使用状況free -htotal: 2.0G used: 1.2G

実践的なディスク管理

# ディスク容量がひっ迫していないか確認
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G   15G  4.2G  79% /
/dev/sda2       100G   45G   50G  48% /home

# どのディレクトリが容量を使っているか調査
$ du -h --max-depth=1 /home/user | sort -hr
5.2G    /home/user/Videos
2.1G    /home/user/Documents
1.8G    /home/user/Downloads

システム情報

コマンド説明使用例取得できる情報
uname -aシステム詳細情報uname -aOS、カーネル、アーキテクチャ
hostnamectlホスト情報hostnamectlホスト名、OS、カーネル
uptime稼働時間と負荷uptime起動時間、ユーザー数、負荷
whoami現在のユーザー名whoamiログイン中のユーザー名

パッケージ管理(APT)の完全ガイド

基本的なAPT操作

コマンド説明使用例実行タイミング
sudo apt updateパッケージリストを更新sudo apt update他の操作の前に必ず実行
sudo apt upgradeインストール済みパッケージを更新sudo apt upgrade週1回程度
sudo apt installパッケージをインストールsudo apt install vim新しいソフトが必要な時
sudo apt removeパッケージを削除sudo apt remove vim不要になった時
sudo apt autoremove不要な依存パッケージを削除sudo apt autoremoveremove後の清掃

典型的なメンテナンス手順

# 1. パッケージリストを最新に更新
$ sudo apt update
Hit:1 http://deb.debian.org/debian bullseye InRelease
Get:2 http://security.debian.org/debian-security bullseye-security InRelease

# 2. 更新可能なパッケージを確認
$ apt list --upgradable
firefox/stable 91.0-1 amd64 [upgradable from: 90.0-1]
vim/stable 8.2.2434-3 amd64 [upgradable from: 8.2.2434-2]

# 3. パッケージを更新
$ sudo apt upgrade

# 4. 不要なパッケージを削除
$ sudo apt autoremove

パッケージ検索とインストール

コマンド説明使用例用途
apt searchパッケージを検索apt search text-editorインストール前の検索
apt showパッケージ詳細情報apt show vim詳細確認
apt list --installedインストール済み一覧apt list --installed | grep vim現状確認

よくインストールするパッケージ例

# 開発環境
sudo apt install git vim curl wget build-essential

# システム管理ツール
sudo apt install htop tree ncdu

# ネットワークツール
sudo apt install net-tools openssh-server

# Python開発環境
sudo apt install python3 python3-pip python3-venv

# Node.js開発環境
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs

ユーザー・権限管理

ユーザー管理

コマンド説明使用例注意点
sudo adduserユーザーを追加sudo adduser newuser対話形式で設定
sudo deluserユーザーを削除sudo deluser olduserホームディレクトリは残る
su他のユーザーに切り替えsu - otheruserパスワードが必要
sudo管理者権限で実行sudo nano /etc/hosts一時的な権限昇格

ファイル権限の理解

権限の見方

$ ls -l
drwxr-xr-x 2 user user 4096 Dec  1 10:30 Documents
-rw-r--r-- 1 user user  123 Dec  1 10:25 readme.txt

権限の意味

drwxr-xr-x
│└┬┘└┬┘└┬┘
│ │  │  └─ その他のユーザーの権限
│ │  └─ グループの権限  
│ └─ 所有者の権限
└─ ファイルタイプ(d=ディレクトリ、-=ファイル)

r = 読み取り (4)
w = 書き込み (2)  
x = 実行     (1)

権限変更の実践

コマンド説明使用例結果
chmodファイル権限変更chmod 755 script.sh所有者:全権限、他:読み込み・実行
chmod +x実行権限を追加chmod +x script.shスクリプトを実行可能に
chown所有者変更sudo chown user:user file.txt所有者とグループを変更

よく使う権限設定

# スクリプトファイルを実行可能にする
chmod +x myscript.sh

# Webサイトのファイル権限(セキュア)
chmod 644 *.html    # ファイル:読み書き(所有者)、読み込み(その他)
chmod 755 cgi-bin/  # ディレクトリ:全権限(所有者)、読み込み・実行(その他)

# 設定ファイルの権限(セキュア)
chmod 600 ~/.ssh/id_rsa      # 秘密鍵:所有者のみ読み書き
chmod 644 ~/.ssh/id_rsa.pub  # 公開鍵:所有者読み書き、その他読み込み

テキスト処理・検索コマンド

ファイル内容の表示

コマンド説明使用例適用場面
catファイル全体を表示cat file.txt短いファイルの確認
lessページ単位で表示less logfile.txt長いファイルの閲覧
headファイルの先頭を表示head -20 file.txtファイルの冒頭確認
tailファイルの末尾を表示tail -f logfileログの監視

ログ監視の実践例

# リアルタイムでログを監視
$ tail -f /var/log/syslog

# 最新の100行を表示
$ tail -100 /var/log/apache2/access.log

# エラーログから特定のエラーを検索
$ grep "ERROR" /var/log/application.log | tail -20

検索・フィルタリング

コマンド説明使用例活用場面
grep文字列検索grep "error" logfile.txtログ解析
findファイル・ディレクトリ検索find /home -name "*.txt"ファイル探索
locateファイル名で高速検索locate filename事前にupdatedbが必要

実践的な検索例

# 設定ファイル内の特定の設定を検索
$ grep -n "ServerName" /etc/apache2/apache2.conf

# 大文字小文字を区別しない検索
$ grep -i "error" /var/log/syslog

# 特定の拡張子のファイルをすべて検索
$ find . -name "*.py" -type f

# 24時間以内に変更されたファイルを検索
$ find /home/user -mtime -1

# 大きなファイルを検索(100MB以上)
$ find / -size +100M -type f 2>/dev/null

プロセス管理コマンド

プロセスの確認と制御

コマンド説明使用例用途
ps aux全プロセス表示ps aux | grep firefox特定プロセス確認
pgrepプロセス名でPID検索pgrep firefoxPID特定
killプロセス終了kill 1234正常終了
killallプロセス名で一括終了killall firefox同名プロセス全終了

プロセス管理の実践

# 重いプロセスを特定
$ ps aux --sort=-%cpu | head -10

# メモリを多く使用しているプロセスを特定
$ ps aux --sort=-%mem | head -10

# 応答しないプロセスを強制終了
$ kill -9 1234

# 特定のユーザーのプロセスをすべて確認
$ ps -u username

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

ネットワーク状態確認

コマンド説明使用例確認内容
ip addrIPアドレス確認ip addr showネットワーク設定
ping接続テストping google.comネットワーク疎通
wgetファイルダウンロードwget https://example.com/file.zipファイル取得
curlHTTP通信テストcurl -I https://example.comWebサーバー応答確認

ネットワークトラブルシューティング

# ネットワーク設定確認
$ ip addr show
$ ip route show

# DNS解決確認
$ nslookup google.com
$ dig google.com

# ポート開放確認
$ netstat -tlnp
$ ss -tlnp

# 特定ポートの接続テスト
$ telnet example.com 80
$ nc -zv example.com 80

圧縮・アーカイブ操作

tar コマンドの完全攻略

操作コマンド説明使用例
圧縮tar -czfgzip圧縮でアーカイブ作成tar -czf backup.tar.gz Documents/
展開tar -xzfgzip圧縮アーカイブを展開tar -xzf backup.tar.gz
一覧tar -tzfアーカイブ内容を確認tar -tzf backup.tar.gz

実践的なバックアップ例

# 日付付きバックアップの作成
$ tar -czf backup_$(date +%Y%m%d).tar.gz /home/user/Documents

# 特定のファイルを除外してバックアップ
$ tar --exclude='*.tmp' --exclude='node_modules' -czf project_backup.tar.gz myproject/

# アーカイブの内容確認(展開せずに)
$ tar -tzf backup.tar.gz | head -20

# 特定のファイルのみ展開
$ tar -xzf backup.tar.gz specific_file.txt

システム管理の実践コマンド

サービス管理(systemd)

コマンド説明使用例用途
systemctl statusサービス状態確認systemctl status apache2動作確認
systemctl startサービス開始sudo systemctl start apache2サービス起動
systemctl stopサービス停止sudo systemctl stop apache2サービス停止
systemctl enable自動起動有効sudo systemctl enable apache2起動時の自動開始

ログ確認(journalctl)

# システム全体のログを確認
$ journalctl

# 特定サービスのログを確認
$ journalctl -u apache2

# リアルタイムでログを監視
$ journalctl -f

# 起動時からのログを確認
$ journalctl -b

# エラーレベル以上のログのみ表示
$ journalctl -p err

効率的なコマンド使用のコツ

ショートカットと履歴

機能操作方法説明
コマンド履歴 過去のコマンドを呼び出し
履歴検索Ctrl + R文字列でコマンド検索
タブ補完Tabファイル名やコマンドの自動補完
行の先頭Ctrl + Aカーソルを行の先頭に移動
行の末尾Ctrl + Eカーソルを行の末尾に移動
画面クリアCtrl + L画面をクリア

パイプとリダイレクト

# パイプでコマンドを連結
$ ps aux | grep apache | head -5

# 出力をファイルに保存
$ ls -l > filelist.txt

# 出力をファイルに追記
$ echo "新しい行" >> logfile.txt

# エラー出力を破棄
$ command 2>/dev/null

# 標準出力とエラー出力を両方ファイルに保存
$ command > output.txt 2>&1

よくあるトラブルと解決法

権限エラー

症状: Permission denied

# 解決方法1: sudoを使用
$ sudo command

# 解決方法2: 権限を変更
$ chmod +x script.sh

# 解決方法3: 所有者を変更
$ sudo chown $USER:$USER filename

ディスク容量不足

症状: No space left on device

# 容量確認
$ df -h

# 大きなファイルを検索
$ du -h / | sort -hr | head -20

# 不要なパッケージキャッシュを削除
$ sudo apt clean
$ sudo apt autoremove

# ログファイルの整理
$ sudo journalctl --vacuum-time=7d

プロセスが応答しない

# プロセスIDを特定
$ ps aux | grep processname

# 正常終了を試行
$ kill PID

# 強制終了
$ kill -9 PID

# 複数のプロセスを一括終了
$ killall processname

まとめ

Debianのターミナル操作は、基本的なコマンドを段階的に覚えることで確実にマスターできます。

学習のステップ

  1. 基本操作(1週目):ls, cd, mkdir, rm, cp, mv
  2. システム管理(2週目):top, df, ps, systemctl
  3. パッケージ管理(3週目):apt update, install, remove
  4. 応用操作(4週目以降):grep, find, tar, pipe

安全な練習方法

  • 重要なデータは事前にバックアップ
  • テスト用のディレクトリで練習
  • 本番環境では慎重に操作

コメント

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