ファイルとディレクトリ操作
ファイルシステムの基本的なナビゲーションと操作。
コマンド | 説明 | 主なオプション / 使用例 |
---|---|---|
pwd | 現在の作業ディレクトリ (Print Working Directory) を表示します。 |
|
ls | ディレクトリの内容を一覧表示します (List)。 |
|
cd | ディレクトリを変更します (Change Directory)。 |
|
mkdir | 新しいディレクトリを作成します (Make Directory)。 |
|
rmdir | 空のディレクトリを削除します (Remove Directory)。 |
|
touch | ファイルのタイムスタンプ (最終アクセス日時、最終更新日時) を更新します。ファイルが存在しない場合は空のファイルを作成します。 |
|
cp | ファイルやディレクトリをコピーします (Copy)。 |
|
mv | ファイルやディレクトリを移動、または名前を変更します (Move)。 |
|
rm | ファイルやディレクトリを削除します (Remove)。注意して使用してください。 |
|
ln | ファイルへのリンクを作成します (Link)。 |
|
find | 指定した場所から条件に一致するファイルを検索します。 |
|
du | ファイルやディレクトリのディスク使用量を表示します (Disk Usage)。 |
|
df | ファイルシステムのディスク空き容量を表示します (Disk Free)。 |
|
stat | ファイルやファイルシステムの詳細な状態を表示します。 |
|
テキスト処理
ファイルの内容表示、検索、編集、加工。
コマンド | 説明 | 主なオプション / 使用例 |
---|---|---|
cat | ファイルの内容を連結して標準出力に表示します (Concatenate)。 |
|
less | ファイルの内容をページ単位で表示します。more より高機能 (推奨)。 | 表示中に使えるキー:
|
head | ファイルの先頭部分を表示します。 |
|
tail | ファイルの末尾部分を表示します。ログ監視に便利。 |
|
grep | テキストデータから正規表現に一致する行を検索して表示します (Global Regular Expression Print)。 |
|
wc | ファイル内の行数、単語数、バイト数/文字数をカウントします (Word Count)。 |
|
sort | テキストファイルの行をソートします。 |
|
uniq | ソート済みのファイルから重複した隣接行を削除または表示します (Unique)。sort と組み合わせて使うことが多い。 |
|
cut | ファイルの各行から指定した部分 (フィールドや文字) を切り出します。 |
|
paste | 複数のファイルを横方向 (行単位) で連結します。 |
|
tr | 文字の置換や削除を行います (Translate)。 |
|
sed | ストリームエディタ。テキストの置換、削除、挿入などを非対話的に行います (Stream Editor)。 |
|
awk | 高機能なテキスト処理言語。列指向のデータ処理が得意。 |
|
diff | 2つのファイルの差分を表示します。 |
|
comm | ソート済みの2つのファイルを比較し、共通行、ファイル1のみの行、ファイル2のみの行を表示します。 |
|
プロセス管理
実行中のプログラム (プロセス) の監視と制御。
コマンド | 説明 | 主なオプション / 使用例 |
---|---|---|
ps | 現在実行中のプロセスを表示します (Process Status)。 |
|
top | 実行中のプロセスをリアルタイムで対話的に表示・監視します。CPUやメモリ使用率が高い順に表示されます。 | 表示中に使えるキー:
|
htop | top の改良版。カラー表示で見やすく、マウス操作も可能 (要インストール)。 | (top と同様の機能に加え、より直感的な操作が可能) |
kill | プロセスID (PID) を指定してプロセスにシグナルを送信します。デフォルトはTERMシグナル (正常終了)。 |
|
pkill / killall | プロセス名を指定してシグナルを送信します。killall は完全に名前が一致するプロセスのみ、pkill は部分一致も可能。 |
|
pgrep | プロセス名を指定してプロセスID (PID) を検索します。 |
|
jobs | 現在のシェルで実行中のバックグラウンドジョブの一覧を表示します。 |
|
bg | 停止中のジョブをバックグラウンドで再開します (Background)。 |
|
fg | バックグラウンドジョブをフォアグラウンドに戻します (Foreground)。 |
|
& | コマンドの末尾につけると、そのコマンドをバックグラウンドで実行します。 |
|
nohup | ログアウト後もプロセスを実行し続けます (No Hang Up)。出力は通常 nohup.out にリダイレクトされます。& と組み合わせて使うことが多い。 |
|
nice | プロセスの優先度 (niceness値) を指定してコマンドを実行します。値が大きいほど優先度が低い (-20から19)。 |
|
renice | 実行中のプロセスの優先度を変更します。 |
|
システム情報
OS、ハードウェア、稼働状況などの情報を表示。
コマンド | 説明 | 主なオプション / 使用例 |
---|---|---|
uname | システム情報 (カーネル名、ホスト名、カーネルバージョンなど) を表示します。 |
|
hostname | システムのホスト名を表示または設定します。 |
|
date | 現在の日時を表示または設定します。 |
|
uptime | システムの稼働時間、ログインユーザー数、ロードアベレージを表示します。 |
|
who | 現在ログインしているユーザーの情報を表示します。 |
|
w | ログインしているユーザーの情報と、そのユーザーが実行しているプロセスを表示します。who より詳細。 |
|
last | 最近のログイン履歴を表示します (/var/log/wtmp ファイルを参照)。 |
|
free | システムのメモリ使用状況 (物理メモリ、スワップ) を表示します。 |
|
vmstat | 仮想メモリ、プロセス、CPUアクティビティなどの統計情報を表示します (Virtual Memory Statistics)。 |
|
iostat | CPU使用率とデバイスのI/O統計情報を表示します (Input/Output Statistics)。(sysstatパッケージが必要な場合あり) |
|
lscpu | CPUアーキテクチャに関する情報を表示します (List CPU)。 |
|
lspci | システムに接続されているすべてのPCIバスとデバイスの情報を表示します (List PCI)。 |
|
lsusb | システムに接続されているUSBバスとデバイスの情報を表示します (List USB)。 |
|
dmesg | カーネルリングバッファ (起動時のメッセージやハードウェア関連のメッセージ) を表示します。 |
|
timedatectl | システムの日時やタイムゾーンを管理します。 |
|
ネットワーク
ネットワーク設定の確認、通信テスト、リモート接続など。
コマンド | 説明 | 主なオプション / 使用例 |
---|---|---|
ip addr (または ifconfig ) | ネットワークインターフェースとIPアドレス情報を表示・設定します。ip コマンドが推奨されています。ifconfig は非推奨となりつつあります。 |
|
ip route (または route ) | カーネルのIPルーティングテーブルを表示・操作します。ip コマンドが推奨されています。 |
|
ping | 指定したホストにICMP ECHO_REQUESTパケットを送信し、ネットワークの疎通を確認します。 |
|
traceroute (または tracepath ) | 指定したホストまでのネットワーク経路を表示します。 |
|
ss (または netstat ) | ネットワーク接続、リスニングソケット、ルーティングテーブルなどの情報を表示します。ss は netstat の後継で、より高速で多くの情報を提供します。 |
|
dig (または nslookup ) | DNS (Domain Name System) サーバーに問い合わせて、ドメイン名に関する情報を取得します。dig の方が高機能。 |
|
wget | URLを指定してインターネットからファイルをダウンロードします。 |
|
curl | URLを指定してデータを転送するための多機能ツール。HTTP, HTTPS, FTPなど多くのプロトコルに対応。APIテストなどにも利用されます。 |
|
ssh | リモートのLinux/Unixマシンに安全にログインしたり、コマンドを実行したりします (Secure Shell)。 |
|
scp | SSHプロトコルを使用して、ローカルとリモートホスト間でファイルを安全にコピーします (Secure Copy)。 |
|
rsync | ローカルまたはリモート間でファイルやディレクトリを効率的に同期・コピーします。scp より高機能で、差分転送が可能。 |
|
nmap | ネットワーク探索とセキュリティ監査のための強力なツール。ポートスキャンなど (要インストール)。 |
|
ユーザーと権限
ユーザーアカウント、グループ、ファイルパーミッションの管理。
コマンド | 説明 | 主なオプション / 使用例 |
---|---|---|
whoami | 現在ログインしているユーザー名を表示します。 |
|
id | 指定したユーザー (デフォルトは自分自身) のユーザーID (UID)、グループID (GID)、所属グループを表示します。 |
|
su | ユーザーを切り替えます (Switch User)。引数なしだとrootユーザーに切り替えようとします (rootパスワードが必要)。 |
|
sudo | 設定ファイル (/etc/sudoers ) で許可されたユーザーが、一時的に他のユーザー (通常はroot) の権限でコマンドを実行します (Superuser Do)。自分のパスワードを使用します。 |
|
passwd | ユーザーのパスワードを変更します。引数なしだと自分のパスワード、ユーザー名を指定するとそのユーザーのパスワードを変更 (root権限が必要)。 |
|
useradd (または adduser ) | 新しいユーザーアカウントを作成します。adduser は useradd のフロントエンドで、対話的にホームディレクトリ作成なども行ってくれることが多い (ディストリビューションによる)。 |
|
userdel (または deluser ) | ユーザーアカウントを削除します。deluser は関連グループからも削除するなど、より丁寧な処理を行うことが多い。 |
|
groupadd (または addgroup ) | 新しいグループを作成します。 |
|
groupdel (または delgroup ) | グループを削除します。 |
|
usermod | 既存のユーザーアカウントの情報を変更します。 |
|
chown | ファイルやディレクトリの所有者を変更します (Change Owner)。 |
|
chgrp | ファイルやディレクトリの所有グループを変更します (Change Group)。chown :group file と同等。 |
|
chmod | ファイルやディレクトリのアクセス権限 (パーミッション) を変更します (Change Mode)。数値モード (8進数) と記号モードがあります。 | 数値モード: (所有者)(グループ)(その他)
記号モード: (対象)(操作)(権限)
|
umask | 新規作成されるファイルやディレクトリのデフォルトパーミッションを設定します。表示される値は「差し引かれる」権限を示します (例: 022 は、ファイルなら 666-022=644 、ディレクトリなら 777-022=755 )。 |
|
パッケージ管理
ソフトウェア (パッケージ) のインストール、更新、削除。ディストリビューションによりコマンドが異なります。
Debian / Ubuntu (apt)
コマンド | 説明 |
---|---|
sudo apt update | 利用可能なパッケージのリストを更新します。インストールやアップグレードの前に実行します。 |
sudo apt upgrade | インストール済みの全パッケージを最新バージョンに更新します。 |
sudo apt full-upgrade | パッケージを更新し、必要に応じて依存関係の解決のために古いパッケージを削除したり新しいパッケージをインストールしたりします。 |
sudo apt install <package_name> | 指定したパッケージをインストールします。 |
sudo apt remove <package_name> | 指定したパッケージを削除します (設定ファイルは残る場合があります)。 |
sudo apt purge <package_name> | 指定したパッケージを完全に削除します (設定ファイルも含む)。 |
sudo apt autoremove | 依存関係で自動インストールされたが、現在は不要になったパッケージを削除します。 |
apt search <keyword> | キーワードに一致するパッケージを検索します。 |
apt show <package_name> | 指定したパッケージの詳細情報を表示します。 |
apt list --installed | インストール済みのパッケージ一覧を表示します。 |
apt list --upgradable | アップグレード可能なパッケージ一覧を表示します。 |
RHEL / CentOS / Fedora (dnf / yum)
※ 最近のバージョンでは dnf
が推奨されています。古いシステムでは yum
を使用します。
コマンド (dnf / yum) | 説明 |
---|---|
sudo dnf check-update sudo yum check-update | 利用可能なパッケージの更新を確認します。 |
sudo dnf update sudo yum update | インストール済みの全パッケージを最新バージョンに更新します。 |
sudo dnf install <package_name> sudo yum install <package_name> | 指定したパッケージをインストールします。 |
sudo dnf remove <package_name> sudo yum remove <package_name> | 指定したパッケージを削除します。 |
sudo dnf autoremove sudo yum autoremove | 依存関係でインストールされたが、現在は不要になったパッケージを削除します。 |
dnf search <keyword> yum search <keyword> | キーワードに一致するパッケージを検索します。 |
dnf info <package_name> yum info <package_name> | 指定したパッケージの詳細情報を表示します。 |
dnf list installed yum list installed | インストール済みのパッケージ一覧を表示します。 |
dnf provides <filename> yum provides <filename> | 指定したファイルを提供するパッケージを検索します。 |
圧縮とアーカイブ
ファイルのアーカイブ化と圧縮・展開。
コマンド | 説明 | 主なオプション / 使用例 |
---|---|---|
tar | 複数のファイルやディレクトリを1つのアーカイブファイル (.tar) にまとめたり、展開したりします (Tape Archive)。多くの場合、圧縮も同時に行います。 | 基本操作:
圧縮形式 (上記と組み合わせて使用):
使用例:
|
gzip / gunzip | ファイルをgzip形式 (.gz) で圧縮/展開します。通常、元のファイルは削除されます。 |
|
bzip2 / bunzip2 | ファイルをbzip2形式 (.bz2) で圧縮/展開します。gzipより圧縮率が高いことが多いですが、時間がかかります。 |
|
xz / unxz | ファイルをxz形式 (.xz) で圧縮/展開します。bzip2よりもさらに圧縮率が高いことが多いですが、時間もかかります。 |
|
zip / unzip | ファイルをzip形式 (.zip) で圧縮/展開します。Windows環境との互換性が高い。 |
|
検索
ファイルやコマンド、テキストの検索。
コマンド | 説明 | 主なオプション / 使用例 |
---|---|---|
find | ファイルシステム内を様々な条件 (名前、種類、サイズ、更新日時、パーミッションなど) でファイルを検索します。非常に強力。 | (「ファイルとディレクトリ操作」セクションも参照)
|
locate | 事前に作成されたデータベースを使って高速にファイル名で検索します。データベースの更新が必要な場合があります (sudo updatedb )。 |
|
grep | ファイルの内容から指定したパターン (文字列や正規表現) を検索します。 | (「テキスト処理」セクションを参照)
|
which | 実行可能なコマンドのフルパスを検索して表示します。PATH環境変数で設定されたディレクトリ内を検索します。 |
|
whereis | コマンドの実行ファイル、ソースファイル、マニュアルページの場所を検索します。 |
|
シェル操作とその他
コマンドラインの効率化、制御、便利なユーティリティ。
機能/コマンド | 説明 | 主なオプション / 使用例 |
---|---|---|
リダイレクション | コマンドの標準入力、標準出力、標準エラー出力をファイルや他のコマンドに切り替えます。 |
|
パイプ | | あるコマンドの標準出力を、別のコマンドの標準入力に繋ぎます。コマンドを連携させる基本的な方法。 |
|
コマンド置換 | コマンドの実行結果を、別のコマンドの引数や文字列の一部として埋め込みます。 |
|
コマンド連結 | 複数のコマンドを1行で実行する方法を制御します。 |
|
alias / unalias | 長いコマンドやよく使うオプション付きコマンドに短い別名を付けます (エイリアス)。unalias で解除します。 |
(通常 |
環境変数 | シェルの動作やプログラムの挙動に影響を与える変数。export で子プロセスに引き継がれます。 |
|
履歴 history | 過去に実行したコマンドの履歴を表示・再実行します。 |
|
ワイルドカード | ファイル名を指定する際に、複数のファイルをまとめて扱うための特殊文字。 |
|
ブレース展開 {} | カンマ区切りや連番のリストを展開して複数の文字列を生成します。ファイル操作などで便利。 |
|
read | 標準入力から1行読み込み、シェル変数に代入します。スクリプトで対話的な入力を受け付ける際に使用。 |
|
echo | 引数として与えられた文字列や変数の値を標準出力に表示します。 |
|
printf | 書式を指定して文字列や数値を標準出力に表示します。echo より高機能。 |
|
xargs | 標準入力から受け取ったリストを、後続のコマンドの引数として渡して実行します。find と組み合わせて使われることが多い。 |
|
tee | 標準入力から読み込んだデータを、標準出力と指定したファイルの両方に出力します。ログを取りながら画面でも確認したい場合に便利。 |
|
script | ターミナルセッションの全内容(入力と出力)をファイルに記録します。 |
|
clear | ターミナルの画面をクリアします。 | (ショートカット: Ctrl+L ) |