「もっと速くパソコンを使えたら」「突然のトラブルに焦らず対処したい」「セキュリティが心配だけど何をすればいい?」――そんな悩みを持つ方に向けて、本記事では知っているだけで作業効率とセキュリティが劇的に変わるコマンドを厳選して紹介します。
コマンドというと「エンジニアだけのもの」と思われがちですが、実際にはITの専門家でなくても使える便利なものが多数あります。GUIの操作より速く、自動化もできるコマンドをマスターして、パソコンをもっとうまく使いこなしましょう。
目次
【セキュリティ編】不正アクセス・情報漏えいを防ぐコマンド
サイバー攻撃の被害件数は年々増加しており、警察庁の発表によると2023年のランサムウェア被害件数は197件(前年比で約5%増)に上っています。自分のパソコンが知らないうちに不正接続されていないか、怪しいプロセスが動いていないかを確認するコマンドを覚えておくだけで、被害の早期発見につながります。
① netstat — ネットワーク接続の全貌を確認する
netstat(network statistics)は、現在のパソコンのネットワーク接続状況をリアルタイムで表示するコマンドです。不審な外部接続がないかを確認するのに最適です。
Windows / macOS / Linux 共通
netstat -an
上記コマンドで、すべてのTCP/UDP接続とリスニングポートが表示されます。ESTABLISHED(接続中)、LISTENING(待ち受け中)などの状態が確認できます。
Windowsで通信プロセスを特定する場合:
netstat -ano
末尾の数字がPID(プロセスID)です。タスクマネージャーでPIDを照合すれば、どのアプリケーションが通信しているかが一目瞭然です。
💡 FACT: IPA(情報処理推進機構)は「ポート開放状態の定期確認」をセキュリティ対策の基本として推奨しています。netstatはその最もシンプルな手段の一つです。
② whoami / id — 現在のユーザー権限を確認する
自分がどの権限でログインしているかを把握することは、セキュリティの基本です。管理者権限でうっかり作業していると、マルウェア感染時の被害が拡大します。
Windows(コマンドプロンプト):
whoami
whoami /priv
macOS / Linux(ターミナル):
id
whoami
whoami /priv(Windows)では、現在のユーザーに与えられている特権(SeShutdownPrivilege、SeAdminPrivilegeなど)が一覧表示されます。不要な特権が有効になっている場合は、標準ユーザーアカウントへの切り替えを検討しましょう。
③ tasklist / ps — 不審なプロセスを発見する
マルウェアの多くはバックグラウンドプロセスとして動作します。定期的にプロセス一覧を確認する習慣をつけることで、不審な動きに気づけます。
Windows:
tasklist
tasklist /svc
macOS / Linux:
ps aux
ps aux | grep -i suspicious_name
tasklist /svcでは各プロセスに紐づくWindowsサービスも表示されます。見慣れない名前のプロセスはVirusTotalなどのオンラインスキャンサービスで調べることをお勧めします。
④ auditpol / last — ログイン履歴で不正アクセスを検知
Windows(管理者権限のPowerShell):
auditpol /get /category:*
監査ポリシーの設定状況が確認できます。ログオン監査が無効になっている場合は攻撃者に侵入を気づかれにくい状態です。
macOS / Linux:
last
last -n 20
lastコマンドは直近のログイン履歴を表示します。見覚えのないIPアドレスやユーザー名が表示された場合は、アカウントが不正利用されている可能性があります。
⑤ sfc /scannow — Windowsシステムファイルの整合性を検証
マルウェアによってシステムファイルが改ざんされていないかをチェックします。
Windows(管理者権限のコマンドプロンプト):
sfc /scannow
スキャン完了後、問題が検出されれば自動的に修復されます。「Windows リソース保護は、整合性違反を検出しましたが、それらの一部を修復できませんでした」と表示された場合は、さらに詳細な対処が必要です。
💡 FACT: Microsoftの公式ドキュメントによると、sfcは破損したシステムファイルをWindowsキャッシュから自動復元します。定期的な実行が推奨されています。
【効率化編】作業スピードを10倍にするコマンド
McKinseyの調査によると、ナレッジワーカーは1週間の約28%を電子メールに、19%を情報の検索や収集に費やしているといいます。コマンドを使いこなすことで、ファイル操作や検索にかかる時間を大幅に削減できます。
① find / dir — ファイルを瞬時に検索する
エクスプローラーやFinderでファイルを探すより、コマンドのほうが圧倒的に速く・精密に検索できます。
Windows(コマンドプロンプト):
dir /s /b *.pdf
dir /s /b *report* 2025*
/sでサブフォルダも再帰的に検索、/bでパスのみを表示します。ワイルドカード(*)を活用すれば複雑な検索も一発です。
macOS / Linux:
find /Users -name "*.pdf" -mtime -7
find . -name "*.log" -size +10M
-mtime -7で「7日以内に更新されたファイル」、-size +10Mで「10MB以上のファイル」を絞り込めます。ディスクの肥大化した不要ファイルの発見にも役立ちます。
② grep — テキストファイルを高速検索する
大量のログファイルや設定ファイルの中から特定の文字列を探すとき、テキストエディタで開いてCtrl+Fを繰り返すのは非効率です。grepなら複数ファイルを一括検索できます。
macOS / Linux:
grep -r "error" /var/log/
grep -rn "login failed" /var/log/ --include="*.log"
Windows(PowerShell):
Select-String -Path "C:\Logs\*.log" -Pattern "error"
-rは再帰検索、-nで行番号を表示、-iで大文字・小文字を区別しない検索になります。
③ robocopy / rsync — 確実なバックアップを自動化する
単純なコピーより高機能なバックアップコマンドです。差分のみをコピーするため、2回目以降の実行が高速になります。
Windows(robocopy):
robocopy C:\Users\YourName\Documents D:\Backup\Documents /MIR /LOG:backup.log
/MIRはミラーリング(コピー元と完全に同期)、/LOGでログファイルを保存します。
macOS / Linux(rsync):
rsync -avh --progress ~/Documents /Volumes/Backup/Documents
rsync -avh --delete ~/Documents user@remoteserver:/backup/
-aはアーカイブモード(タイムスタンプや権限を保持)、--deleteでコピー元にないファイルをコピー先から削除します。
💡 FACT: Windowsのxcopyは旧式のため、Microsoft自身がrobocopyへの移行を推奨しています。robocopyはWindows Vista以降に標準搭載されており、マルチスレッドコピー(/MTオプション)にも対応しています。
④ alias(macOS/Linux)/ doskey(Windows)— コマンドを短縮登録する
毎回入力する長いコマンドを短いエイリアスに登録することで、入力ミスを減らし作業を高速化できます。
macOS / Linux(.bashrcや.zshrcに追記):
alias ll='ls -la'
alias gs='git status'
alias update='sudo apt update && sudo apt upgrade -y'
Windows(PowerShellプロファイルに追記):
Set-Alias -Name ll -Value Get-ChildItem
function gs { git status }
⑤ tree — フォルダ構造を一覧表示する
プロジェクトのディレクトリ構造を把握したいとき、エクスプローラーで一つひとつ開くのは手間がかかります。
Windows:
tree /F C:\Projects\MyProject
tree /F /A > structure.txt
macOS / Linux:
tree -L 2
tree -L 3 --dirsfirst > project_structure.txt
/F(Windows)や通常のtree(Linux)でファイルも含めた構造が表示されます。> ファイル名でテキストファイルに出力し、ドキュメントとして共有することもできます。
⑥ clip(Windows)/ pbcopy(macOS)— 出力結果をクリップボードにコピー
コマンドの実行結果をそのままクリップボードにコピーして、他のアプリケーションに貼り付けられます。
Windows:
ipconfig | clip
dir /b *.txt | clip
macOS:
ifconfig | pbcopy
ls *.txt | pbcopy
IPアドレスや長いファイルパスをメールに貼り付けるときなどに重宝します。
【トラブルシューティング編】問題が起きたときに使えるコマンド
パソコンのトラブルは突然やってきます。「インターネットにつながらない」「動作が急に重くなった」「ディスクの空き容量がない」――そんなとき、原因を素早く特定するためのコマンドを知っておけば、サポートに電話する前に自分で解決できることも多くあります。
① ping — ネットワーク疎通を確認する
ネットワークトラブルの第一歩はpingです。特定のホストまでパケットが届くかを確認します。
Windows / macOS / Linux 共通:
ping google.com
ping 8.8.8.8
ping -t google.com # Windows:止まるまで送信し続ける
ping -c 4 google.com # macOS/Linux:4回送信
まずping 8.8.8.8(GoogleのDNSサーバー)で外部接続を確認。次にping google.comでDNS名前解決を確認。後者だけ失敗する場合はDNSの問題が疑われます。
② tracert / traceroute — 通信経路を可視化する
pingで問題を発見した後、どこで通信が止まっているかを特定するのがtracert(traceroute)です。
Windows:
tracert google.com
macOS / Linux:
traceroute google.com
traceroute -I google.com # ICMPパケットを使用
経路上の各ルーターのIPアドレスと応答時間が表示されます。特定のホップで「* * *」と表示されたり、応答時間が急に跳ね上がる箇所が問題の原因箇所である可能性が高いです。
③ ipconfig / ifconfig — ネットワーク設定を確認・リセットする
IPアドレスの確認だけでなく、DNSキャッシュのクリアやIPアドレスの再取得もできます。
Windows:
ipconfig /all
ipconfig /release # IPアドレスを解放
ipconfig /renew # IPアドレスを再取得
ipconfig /flushdns # DNSキャッシュをクリア
macOS:
ifconfig
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder # DNSキャッシュクリア
「インターネットにつながらない」トラブルの多くはipconfig /flushdnsと/release → /renewの組み合わせで解決できます。
💡 FACT: Windowsのipconfig /flushdnsは、古いDNSレコードがキャッシュに残ることで発生する「特定のサイトにだけアクセスできない」問題に特に有効です。Microsoftのサポートドキュメントでもトラブルシューティングの基本手順として記載されています。
④ chkdsk — ハードディスクのエラーを検出・修復する
パソコンが突然重くなったり、ファイルが壊れたりする原因がディスクエラーであることは少なくありません。
Windows(管理者権限のコマンドプロンプト):
chkdsk C: /f /r
/fはエラーを修復、/rは不良セクタを検出して読み取り可能なデータを復元します。システムドライブ(C:)の場合は再起動後に実行されます。
macOS(ディスクユーティリティのコマンドライン版):
diskutil verifyDisk /dev/disk0
diskutil repairDisk /dev/disk0
⑤ df / du — ディスク使用量を調べる
「ストレージがいっぱいで動作が重い」というトラブルの原因を特定するコマンドです。
macOS / Linux:
df -h
du -sh /*
du -sh ~/* | sort -rh | head -20
df -hで各ドライブの使用率を確認し、duでどのフォルダが容量を食っているかを特定します。sort -rhで大きい順に並べ替え、head -20で上位20件を表示します。
Windows(PowerShell):
Get-PSDrive -PSProvider FileSystem
Get-ChildItem C:\ -Recurse | Sort-Object Length -Descending | Select-Object -First 20 FullName, Length
⑥ top / Get-Process — CPU・メモリ使用率を確認する
パソコンが突然重くなったとき、どのプロセスがリソースを大量消費しているかを特定します。
macOS / Linux:
top
htop # htopがインストールされている場合(より見やすい)
Windows(PowerShell):
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10 Name, WorkingSet
CPU使用率の高いプロセスや、メモリを大量消費しているプロセスを確認し、不要なものはStop-Process(Windows)またはkill(macOS/Linux)で停止できます。
⑦ eventvwr / journalctl — システムログでエラーの根本原因を探る
繰り返す謎のクラッシュや動作不良の真因を探るには、システムログの確認が欠かせません。
Windows(コマンドプロンプト):
eventvwr
GUIのイベントビューアが起動します。「Windowsログ」→「システム」や「アプリケーション」でエラー・警告を確認しましょう。
PowerShellでフィルタリング:
Get-EventLog -LogName System -EntryType Error -Newest 20
Linux(systemd環境):
journalctl -xe
journalctl -u nginx --since "1 hour ago"
💡 FACT: Windowsのブルースクリーン(BSOD)の原因は、イベントビューアの「システム」ログに記録されたCritical/Errorイベントを確認することで特定できるケースが多いです。Microsoftのサポートチームもイベントログの確認を診断の標準手順としています。
コマンド活用のポイント
管理者権限(sudo / 管理者として実行)について
多くのシステム系コマンドは管理者権限が必要です。
- Windows:コマンドプロンプトやPowerShellを「管理者として実行」で起動する
- macOS / Linux:コマンドの前に
sudoを付ける(パスワードを求められます)
⚠️ 管理者権限でのコマンド実行は、誤操作がシステム全体に影響します。コマンドの意味を理解してから実行しましょう。
コマンドのヘルプを確認する方法
コマンドの使い方がわからないときは、まずヘルプを確認しましょう。
# Windows
コマンド名 /?
# 例:chkdsk /?
# macOS / Linux
man コマンド名
# 例:man find
コマンドの実行前に確認すること
- コマンドの意味を理解する:ネット上でコピーしたコマンドをそのまま実行しない
- 対象パスを確認する:削除・上書き系コマンドは特に注意
- バックアップを取ってから実行する:システム系の操作は必ず事前にバックアップ
まとめ
本記事で紹介したコマンドをまとめます。
| カテゴリ | コマンド | 用途 |
|---|---|---|
| セキュリティ | netstat -an | 不審なネットワーク接続の確認 |
| セキュリティ | whoami / id | ユーザー権限の確認 |
| セキュリティ | tasklist / ps aux | 不審なプロセスの確認 |
| セキュリティ | last / auditpol | ログイン履歴の確認 |
| セキュリティ | sfc /scannow | システムファイルの検証・修復 |
| 効率化 | find / dir | ファイルの高速検索 |
| 効率化 | grep / Select-String | テキストファイルの内容検索 |
| 効率化 | robocopy / rsync | 高機能バックアップ・同期 |
| 効率化 | alias / doskey | コマンドの短縮登録 |
| 効率化 | tree | フォルダ構造の可視化 |
| 効率化 | clip / pbcopy | 出力結果をクリップボードへ |
| トラブル対応 | ping | ネットワーク疎通確認 |
| トラブル対応 | tracert / traceroute | 通信経路の確認 |
| トラブル対応 | ipconfig /flushdns | DNSキャッシュのクリア |
| トラブル対応 | chkdsk / diskutil | ディスクエラーの検出・修復 |
| トラブル対応 | df / du | ディスク使用量の確認 |
| トラブル対応 | top / Get-Process | CPU・メモリ使用プロセスの確認 |
| トラブル対応 | eventvwr / journalctl | システムログの確認 |
コマンドは最初こそ慣れが必要ですが、一度覚えてしまえばマウス操作では難しい精密な操作・自動化・高速処理が可能になります。まずはnetstatやpingなど、入力が簡単で安全なコマンドから試してみてください。
セキュリティの自己チェック、日常作業の効率化、トラブル発生時の初動対応――コマンドという「武器」を持つことで、あなたのパソコンライフは確実に変わります。
※ 本記事に記載のコマンドはWindows 10/11・macOS Ventura以降・Ubuntu 22.04 LTSで動作確認しています。OSのバージョンによって一部オプションが異なる場合があります。システム系コマンドの実行は自己責任でお願いします。


コメント