「linux コマンド」を調べているということは、ターミナル操作の第一歩を踏み出そうとしているはずです。
本記事では、初心者が最初に覚えるべきコマンドを用途別に整理し、それぞれの使い方を簡潔に解説します。
各コマンドの詳細解説ページへのリンクも用意しているので、気になるコマンドを深掘りする際にも活用してください。
linux コマンドとは
Linux コマンドとは、ターミナル(コマンドライン)に入力してシステムを操作するための命令文です。
GUI(グラフィカルインターフェース)では操作できない細かい設定・自動化・サーバー管理が、コマンドひとつで実現できます。
| なぜコマンドを覚えるのか | 具体的なメリット |
|---|---|
| 自動化 | 繰り返し作業をスクリプトで自動化できる |
| リモート操作 | SSH でサーバーを遠隔管理できる |
| 処理速度 | GUI より高速に大量ファイルを操作できる |
| 再現性 | コマンドを共有するだけで環境を再現できる |
1. ファイル・ディレクトリ操作コマンド
日常的に最も多く使うコマンド群です。まずここから覚えましょう。
ls ― ファイル一覧を表示
ls # カレントディレクトリのファイル一覧
ls -l # 詳細表示(権限・サイズ・更新日時)
ls -la # 隠しファイルも含めて詳細表示
ls -lh # サイズを KB/MB で人が読みやすい形式に
cd ― ディレクトリ移動
cd /var/log # 絶対パスで移動
cd ../ # 親ディレクトリへ
cd ~ # ホームディレクトリへ
cd - # 直前のディレクトリへ戻る
詳細: cd コマンドの使い方
pwd ― 現在のディレクトリを表示
pwd # /home/user/projects のように絶対パスで表示
詳細: pwd コマンドの使い方
mkdir ― ディレクトリ作成
mkdir mydir # ディレクトリ作成
mkdir -p parent/child # 親ディレクトリが存在しなくても一括作成
cp ― ファイル・ディレクトリのコピー(linux コマンド cp)
cp src.txt dest.txt # ファイルをコピー
cp -r srcdir/ destdir/ # ディレクトリをまるごとコピー
cp -i src.txt dest.txt # 上書き前に確認プロンプト
cp -p src.txt dest.txt # タイムスタンプ・パーミッションを保持
cp -u src.txt dest.txt # 新しい場合だけコピー(差分コピー)
よく使うオプション組み合わせ
cp -rp srcdir/ backup/でディレクトリをパーミッション保持したままバックアップできます。
詳細: cp コマンドの基本 ― 大量ファイルのコピー / cp -i で安全にバックアップ
mv ― ファイルの移動・リネーム
mv old.txt new.txt # ファイル名を変更
mv file.txt /tmp/ # /tmp へ移動
mv -i src.txt dest.txt # 上書き前に確認
rm ― ファイル・ディレクトリの削除
rm file.txt # ファイルを削除
rm -r mydir/ # ディレクトリをまるごと削除
rm -i file.txt # 削除前に確認プロンプト
注意:
rmで削除したファイルはゴミ箱に行かず即時削除されます。-rオプションは特に慎重に使いましょう。
find ― ファイルを検索
find . -name "*.log" # カレント配下の .log ファイルを検索
find /var -type f -mtime -7 # /var 配下で7日以内に更新されたファイル
find . -name "*.txt" -exec rm {} ; # 検索して一括削除
man ― コマンドのマニュアルを表示
man cp # cp コマンドのマニュアルを表示
man ls # ls コマンドのマニュアルを表示
詳細: man コマンドの使い方
2. テキスト処理コマンド
ファイルの中身を確認・検索・加工する際に使うコマンドです。
cat / less / head / tail ― ファイル内容の表示
cat file.txt # ファイルの全内容を表示
less file.txt # ページャーで表示(q で終了)
head -n 20 file.txt # 先頭20行を表示
tail -n 20 file.txt # 末尾20行を表示
tail -f /var/log/syslog # リアルタイムでログを監視
grep ― テキスト検索
grep "error" app.log # error を含む行を検索
grep -i "Error" app.log # 大文字小文字を区別しない
grep -r "TODO" ./src/ # ディレクトリ内を再帰的に検索
grep -v "DEBUG" app.log # DEBUG を含まない行を抽出
grep -n "error" app.log # 行番号を表示
sed ― テキストの置換・編集
sed 's/old/new/g' file.txt # old を new に全置換
sed -n '10,20p' file.txt # 10〜20行目だけ表示
sed '/^#/d' config.txt # コメント行を削除
awk ― テキストの列処理
awk '{print $1}' file.txt # 1列目だけ表示
awk -F: '{print $1}' /etc/passwd # : 区切りで1列目を表示
awk '/error/ {print $0}' app.log # error を含む行を出力
sort / uniq ― 並べ替え・重複削除
sort file.txt # アルファベット順に並べ替え
sort -n numbers.txt # 数値順に並べ替え
sort -r file.txt # 逆順
sort file.txt | uniq # 重複行を削除
sort file.txt | uniq -c # 出現回数を表示
wc ― 行数・文字数のカウント
wc -l file.txt # 行数
wc -w file.txt # 単語数
wc -c file.txt # バイト数
tee ― 標準出力とファイルへ同時出力
command | tee output.txt # 画面表示しながらファイルにも保存
command | tee -a output.txt # ファイルに追記
詳細: tee コマンドの使い方
3. プロセス管理コマンド
実行中のプロセスを確認・制御するコマンドです。
ps ― プロセス一覧を表示
ps aux # 全プロセスを詳細表示
ps aux | grep nginx # nginx のプロセスを検索
ps -ef # 別形式で全プロセスを表示
詳細: ps コマンドの実用例まとめ
kill / killall / pgrep ― プロセスの終了
kill 12345 # PID 指定でプロセスを終了
kill -9 12345 # 強制終了
killall nginx # 名前でまとめて終了
pgrep nginx # プロセス名で PID を検索
詳細: kill コマンドとプロセス管理 / killall / pgrep
top ― リアルタイムのリソース監視
top # CPU・メモリ使用率をリアルタイム表示
htop # より見やすい top の代替(要インストール)
詳細: top コマンド入門
lsof ― 開いているファイルとソケットを確認
lsof -i :8080 # ポート 8080 を使用しているプロセスを表示
lsof -p 1234 # PID 1234 が開いているファイルを表示
詳細: lsof コマンドの使い方
jobs / fg / bg ― バックグラウンドジョブの管理
command & # コマンドをバックグラウンドで実行
jobs # バックグラウンドジョブ一覧を表示
fg %1 # ジョブ番号1をフォアグラウンドに戻す
bg %1 # 停止中のジョブをバックグラウンドで再開
4. システム情報コマンド
サーバーやシステムの状態を確認するコマンドです。
uname ― OS・カーネル情報を表示
uname -a # OS・カーネルバージョン・アーキテクチャを一覧表示
uname -r # カーネルバージョンのみ表示
df / du ― ディスク使用量の確認
df -h # マウントポイントごとの空き容量を表示
du -sh * # カレントディレクトリ直下のサイズを一括確認
du -sh /var/log # 指定ディレクトリのサイズを確認
free ― メモリ使用量の確認
free -h # メモリ・スワップの使用状況を人が読みやすい形式で表示
vmstat / iostat ― CPU・I/O 統計
vmstat 1 # 1秒ごとにCPU・メモリ・I/Oの統計を表示
iostat # ディスクI/Oの統計を表示
uptime ― 稼働時間と負荷を確認
uptime # システム稼働時間と負荷平均を表示
5. ネットワークコマンド
ネットワーク状態の確認・通信テスト・リモート接続に使うコマンドです。
ping ― ホストへの疎通確認
ping google.com # 疎通確認(Ctrl+C で停止)
ping -c 4 google.com # 4回だけ送信して終了
ssh ― リモートサーバーへの接続
ssh user@192.168.1.1 # SSH 接続
ssh -i ~/.ssh/id_rsa user@host # 鍵認証で接続
ssh -p 2222 user@host # ポート指定
詳細: SSH 公開鍵認証の設定 / ssh-keygen
curl / wget ― ファイルのダウンロード・HTTP リクエスト
curl -O https://example.com/file.tar.gz # ファイルをダウンロード
curl -I https://example.com # HTTP ヘッダーだけ取得
wget https://example.com/file.tar.gz # ファイルをダウンロード
wget -r https://example.com/ # サイト全体を再帰的にダウンロード
ip / ifconfig ― ネットワークインターフェースの確認
ip addr # IPアドレスを表示(推奨)
ifconfig # IPアドレスを表示(旧コマンド)
ip route # ルーティングテーブルを表示
ss / netstat ― ポートと接続状態の確認
ss -tlnp # TCP リスニングポートを表示(推奨)
netstat -tlnp # 同上(旧コマンド)
ss -an # 全ソケット接続を表示
詳細: ss コマンド
dig / nslookup ― DNS の問い合わせ
dig example.com # DNS レコードを取得
nslookup example.com # DNS 問い合わせ(シンプル)
dig MX example.com # MX レコードを確認
traceroute ― 通信経路の確認
traceroute google.com # google.com までの経路とレイテンシを表示
詳細: traceroute コマンド
tcpdump ― パケットキャプチャ
tcpdump -i eth0 # eth0 のパケットをキャプチャ
tcpdump -i any port 80 # ポート80のパケットを監視
詳細: tcpdump コマンド
6. 権限管理コマンド
ファイルの権限や所有者を管理するコマンドです。
chmod ― パーミッションの変更
chmod 755 script.sh # 所有者 rwx、グループ r-x、その他 r-x
chmod u+x script.sh # 所有者に実行権限を追加
chmod -R 644 dir/ # ディレクトリ以下を一括変更
chown ― 所有者・グループの変更
chown user:group file.txt # 所有者とグループを変更
chown -R www-data /var/www/ # ディレクトリ以下を一括変更
sudo / su ― 管理者権限での実行
sudo apt update # root 権限でコマンドを実行
sudo -i # root シェルを起動
su - username # 別ユーザーに切り替え
7. パッケージ管理コマンド
OS のディストリビューションに合わせたパッケージ管理コマンドを使います。
| ディストリビューション | コマンド例 | 詳細 |
|---|---|---|
| Ubuntu / Debian 系 | sudo apt update && sudo apt install パッケージ名 |
apt |
| RHEL / CentOS 系 | sudo yum install パッケージ名 |
yum |
| macOS (Homebrew) | brew install パッケージ名 |
brew |
8. 圧縮・アーカイブコマンド
tar ― アーカイブの作成と展開
tar -czvf archive.tar.gz dir/ # ディレクトリを tar.gz に圧縮
tar -xzvf archive.tar.gz # tar.gz を展開
tar -tzvf archive.tar.gz # 中身を確認(展開しない)
gzip / gunzip ― ファイルの圧縮・解凍
gzip file.txt # file.txt.gz に圧縮
gunzip file.txt.gz # 解凍
zip / unzip ― ZIP 形式
zip -r archive.zip dir/ # ディレクトリを zip に圧縮
unzip archive.zip # 解凍
split ― 大容量ファイルの分割
split -b 100M largefile.tar.gz chunk_ # 100MB ずつ分割
cat chunk_* > restored.tar.gz # 結合して復元
詳細: split コマンド
9. シェル環境・ユーティリティコマンド
history ― コマンド履歴の確認
history # コマンド履歴を表示
history 20 # 直近20件を表示
!123 # 履歴番号123のコマンドを実行
詳細: history コマンド
alias ― コマンドのショートカット設定
alias ll='ls -lah' # ll で ls -lah を実行
alias gs='git status' # gs で git status を実行
alias ..='cd ..' # .. で親ディレクトリへ移動
詳細: alias コマンド
export ― 環境変数の設定
export PATH="$HOME/.local/bin:$PATH" # PATH に追加
export NODE_ENV=production # 環境変数を設定
printenv PATH # 環境変数を確認
詳細: export コマンド / printenv / env コマンド
source ― ファイルを現在のシェルで実行
source ~/.bashrc # .bashrc を再読み込み
source ./setup.sh # セットアップスクリプトを実行
詳細: source コマンド
systemctl ― サービスの管理
systemctl start nginx # サービスを起動
systemctl stop nginx # サービスを停止
systemctl restart nginx # サービスを再起動
systemctl status nginx # サービスの状態を確認
systemctl enable nginx # 自動起動を有効化
詳細: systemctl コマンド / journalctl でログを確認
10. 用途別クイックリファレンス
よくあるシーンで使うコマンドをひとまとめにしました。
ファイルを探したい
find . -name "*.conf" # 拡張子で検索
find /var -type f -size +100M # 100MB 以上のファイルを検索
grep -r "キーワード" ./ # 内容で検索
ログを調査したい
tail -f /var/log/nginx/error.log # リアルタイムでエラーログを確認
grep "error" /var/log/syslog | tail -50 # エラー行を抽出
journalctl -u nginx --since "1 hour ago" # systemd サービスのログ
ディスクが逼迫したとき
df -h # 空き容量を確認
du -sh /var/log/* # ログディレクトリのサイズを確認
find / -type f -size +500M # 大きなファイルを探す
プロセスが応答しないとき
ps aux | grep process_name # プロセスを確認
kill -9 $(pgrep process_name) # 強制終了
ネットワークトラブルのとき
ping 8.8.8.8 # インターネット疎通確認
ss -tlnp # 開いているポートを確認
dig example.com # DNS 解決を確認
初心者が最初に覚えるべき linux コマンド 20 選
| # | コマンド | 用途 |
|---|---|---|
| 1 | ls -la |
ファイル一覧(隠しファイル含む) |
| 2 | cd |
ディレクトリ移動 |
| 3 | pwd |
現在のディレクトリを確認 |
| 4 | cp -r |
ファイル・ディレクトリのコピー |
| 5 | mv |
ファイルの移動・リネーム |
| 6 | rm -r |
ファイル・ディレクトリの削除 |
| 7 | mkdir -p |
ディレクトリ作成 |
| 8 | cat / less |
ファイル内容の表示 |
| 9 | grep |
テキスト検索 |
| 10 | find |
ファイル検索 |
| 11 | chmod / chown |
権限・所有者の変更 |
| 12 | ps aux |
プロセス一覧 |
| 13 | kill |
プロセス終了 |
| 14 | top / htop |
リソース監視 |
| 15 | df -h |
ディスク使用量確認 |
| 16 | free -h |
メモリ使用量確認 |
| 17 | ssh |
リモートサーバーへ接続 |
| 18 | tar -czvf / -xzvf |
圧縮・解凍 |
| 19 | sudo |
管理者権限での実行 |
| 20 | man |
コマンドのマニュアルを表示 |
よくある質問(FAQ)
- Q. linux コマンドはどこで練習できますか?
- ローカルに Linux 環境がなくても WSL(Windows Subsystem for Linux)で Windows 上に Linux 環境を作れます。また、Docker を使ってコンテナ内で練習する方法もおすすめです。
- Q. コマンドが間違っていたらどうなりますか?
- 多くの場合はエラーメッセージが表示されるだけです。ただし
rm -rfのような削除コマンドは元に戻せないため、実行前に必ず確認しましょう。-iオプションを付けると確認プロンプトが表示されます。 - Q. コマンドのヘルプを確認したい
man コマンド名またはコマンド名 --helpでオプション一覧を確認できます。例:man cp、cp --help- Q. Permission denied が出るときは?
- 権限が不足しています。
sudoを先頭に付けて管理者権限で実行するか、chmodでファイルのパーミッションを確認・変更してください。詳細: 権限エラーが出たら
まとめ
本記事では linux コマンドを以下の用途別に整理しました。
- ファイル操作: ls / cd / pwd / cp / mv / rm / find / mkdir
- テキスト処理: cat / grep / sed / awk / sort / wc
- プロセス管理: ps / kill / top / lsof / jobs
- システム情報: df / du / free / uname / vmstat
- ネットワーク: ping / ssh / curl / ip / ss / dig
- 権限管理: chmod / chown / sudo
- パッケージ管理: apt / yum / brew
最初から全部覚える必要はありません。ls・cd・cp・grep・ps・ssh の 6 つをまず使いこなせるようになると、日常的な Linux 操作のほとんどはカバーできます。
各コマンドの詳細な使い方は、各リンク先の解説記事で深掘りしてください。
→ Linuxコマンド完全ガイド:初心者が最初に覚えるべきコマンド一覧と使い方も合わせてご覧ください。

コメント