Linux よく使うコマンド
· 約7分
日常業務でこれらの Linux コマンドを何度も繰り返し使っているので、毎回検索するくらいなら、クイックリファレンスのノートとして整理してしまうことにしました。CPU、メモリ、ファイル、システムのいくつかの観点で分類し、最後によく使うコマンドの一覧を付けています。
CPU 関連コマンド
# CPU の物理個数を確認
grep 'physical id' /proc/cpuinfo | sort -u | wc -l
# CPU のコア数を確認
grep 'core id' /proc/cpuinfo | sort -u | wc -l
# CPU のスレッド数を確認
grep 'processor' /proc/cpuinfo | sort -u | wc -l
# CPU の型番を確認
dmidecode -s processor-version
# CPU の詳細情報を確認
cat /proc/cpuinfo
メモリ関連コマンド
# 現在のメモリ使用状況を確認
free -h
# メモリ使用率が高い上位 10 プロセスを確認
ps aux | head -1;ps aux |grep -v PID |sort -rn -k +4| head -10
ファイルコマンド
ls # ファイルまたはディレクトリを表示
ls -l # ファイルの詳細情報を一覧表示(list)
ls -a # カレントディレクトリの全ファイル・ディレクトリを表示、隠しファイルも含む(all)
mkdir # ディレクトリを作成
mkdir -p # ディレクトリを作成、親ディレクトリがなければまとめて作成(parent)
cd # ディレクトリを移動
touch # 空ファイルを作成
echo # 内容付きのファイルを作成
cat # ファイルの内容を表示
cp # コピー
mv # 移動またはリネーム
rm # ファイルを削除
rm -r # 再帰的に削除、サブディレクトリとファイルも削除可能
rm -f # 強制削除
find # ファイルシステム内でファイルを検索
wc # テキストの行数・単語数・文字数をカウント
grep # テキストファイル内で文字列を検索
rmdir # 空ディレクトリを削除
tree # ディレクトリをツリー構造で表示、tree パッケージのインストールが必要
pwd # カレントディレクトリを表示
システム関連コマンド
# システム情報を確認
lsb_release -a
# カーネルバージョンを確認
uname -r
よく使うコマンド一覧
- cd:カレントワーキングディレクトリを変更する
- ls:カレントワーキングディレクトリのファイルとサブディレクトリを一覧表示する
- mkdir:新しいディレクトリを作成する
- rm:ファイルまたはディレクトリを削除する
- cp:ファイルまたはディレクトリをコピーする
- mv:ファイルまたはディレクトリを移動する
- touch:新しいファイルを作成する、または既存ファイルのアクセス・更新時刻を変更する
- cat:ファイルの内容を表示する
- grep:ファイル内で特定の文字列を検索する
- find:ファイルシステム内でファイルを探す
- chmod:ファイルまたはディレクトリの権限を変更する
- chown:ファイルまたはディレクトリの所有者を変更する
- top:システムで現在実行中のプロセスを表示する
- ps:現在実行中のプロセスを一覧表示する
- ssh:セキュアシェルでリモートホストに接続する
- scp:セキュアシェルであるホストから別のホストへファイルをコピーする
- tar:tar アーカイブを作成または展開する
- gzip:ファイルを圧縮する
- unzip:ファイルを解凍する
- ping:別のホストとのネットワーク接続をテストする
- ifconfig:ネットワークインターフェースを表示・管理する
- route:ネットワークルーティングテーブルを表示・管理する
- netstat:ネットワークの状態情報を表示する
- iptables:ファイアウォールのルールを管理する
- systemctl:システムサービスを管理する
- service:システムサービスを管理する
- du:ディレクトリとファイルのディスク使用状況を表示する
- df:ファイルシステムのディスク使用状況を表示する
- uname:システム情報を表示する
- date:システムの日付と時刻を表示または変更する
- history:過去に実行したコマンドの履歴を表示する
- man:コマンドのマニュアルページを表示する
- which:指定したコマンドのパスを探す
- whereis:指定したコマンドのパスとマニュアルページを探す
- whoami:現在のユーザーのユーザー名を表示する
- su:他のユーザーまたはスーパーユーザーに切り替える
- sudo:スーパーユーザー権限でコマンドを実行する
- ssh-keygen:SSH 鍵ペアを生成する
- ssh-copy-id:SSH 公開鍵をリモートホストにコピーする
- scp:SSH 経由で安全にファイルをコピーする
- curl:サーバーへリクエストを送信しレスポンスを取得する
- wget:Web からファイルをダウンロードする
- vim:強力なテキストエディタ
- nano:使いやすいテキストエディタ
- tar:tar アーカイブを作成または展開する
- gzip:ファイルを圧縮する
- bzip2:ファイルを圧縮する
- unzip:ファイルを解凍する
- zip:zip アーカイブを作成または展開する
- sshfs:SSH 経由でリモートファイルシステムをマウントする
- rsync:リモートのファイルとディレクトリを同期する
- awk:テキストの処理と分析に使う
- sed:テキストの処理と変換に使う
- sort:テキストの行をソートする
- uniq:テキスト内の重複行を取り除く
- cut:テキストから列を抽出する
- paste:テキストの列を 1 つのファイルに結合する
- tee:標準出力をファイルとターミナルの両方に複製する
- diff:2 つのファイル間の差分を比較する
- patch:diff ファイルからパッチを適用する
- head:ファイルの先頭数行を表示する
- tail:ファイルの末尾数行を表示する
- tar:tar アーカイブを作成または展開する
- gzip:ファイルを圧縮する
- bzip2:ファイルを圧縮する
- unzip:ファイルを解凍する
- zip:zip アーカイブを作成または展開する
- rpm:RPM パッケージのインストール・削除・照会を行う
- dpkg:Debian パッケージのインストール・削除・照会を行う
- ps:実行中のプロセスを一覧表示する
- kill:実行中のプロセスを停止する
- top:システムで現在実行中のプロセスを表示する
- uptime:システムの稼働時間と負荷を表示する
- free:システムのメモリ使用状況を表示する
- df:ファイルシステムのディスク使用状況を表示する
- du:ディレクトリとファイルのディスク使用状況を表示する
- mount:ファイルシステムをマウントする
- umount:ファイルシステムをアンマウントする
- chroot:ルートディレクトリを変更する
- ln:リンクまたはハードリンクを作成する
- echo:テキストや変数を出力する
- export:環境変数を設定する
- source:スクリプトを実行して現在のシェルに取り込む
- alias:エイリアスを作成する
- unalias:エイリアスを削除する
- jobs:現在実行中のジョブを一覧表示する
- bg:ジョブをバックグラウンドで実行する
- fg:ジョブをフォアグラウンドに戻して実行する
- nohup:バックグラウンドでジョブを実行し、ターミナルを閉じても停止しない
- crontab:定期実行タスクを設定する
- at:指定時刻にコマンドを実行する
- screen:複数のターミナルセッションを作成する
- tmux:複数のターミナルセッションを作成する
- curlftpfs:FTP 経由でリモートファイルシステムをマウントする
- dig:DNS サーバーに問い合わせる
- nslookup:DNS サーバーに問い合わせる
- ping:別のホストとのネットワーク接続をテストする
- traceroute:パケットがネットワーク内を通る経路を表示する
- tcpdump:ネットワークパケットをキャプチャする
- iftop:ネットワークトラフィック情報を表示する
まとめ
コマンドを全部覚えきれないのは普通のことで、大事なのはどこで調べればいいかを知っていることです。このノートでは CPU、メモリ、ファイル、システムの分類で日常最もよく使うコマンドを整理しました。man マニュアルと組み合わせれば、ほとんどのトラブルシューティングのシーンをカバーできるはずです。今後、記録する価値のある新しいコマンドに出会ったら、引き続き追記していきます。
COMMENTS