Linux 講座 / 主要コマンド
Linuxでよく使うコマンドを、ファイル管理、テキスト処理、ユーザーと権限、プロセス、システム、ディスク、ネットワークやパッケージ管理のように実際の作業基準で整理しました。コマンドの基本用途をすばやく確認でき、リンクのあるコマンドは名前をクリックすると詳細な使い方や例を確認できます。
同じコマンドでも、ディストリビューションやインストールされているパッケージによってサポートされるオプションが異なる場合があります。実際のシステムでは、man コマンド または コマンド --help で現在の環境の説明も合わせて確認するのが良いでしょう。
Linuxコマンドを探す方法
コマンドの正確な文法や実行場所がわからないときは、次のコマンドから活用してみてください。
man ls
ls --help
type cd
command -v python
ヘルプとシェル環境のコマンド
| コマンド | 概要 |
|---|---|
man |
コマンド、設定ファイル、システムコールのマニュアルページを確認します。 |
info |
GNUプログラムの詳細なInfoドキュメントを読みます。 |
help |
cd、read のような Bash 組み込みコマンドのヘルプを表示します。 |
apropos |
マニュアルの説明でキーワードを検索し、関連するコマンドを見つけます。 |
whatis |
コマンドがどのような機能を持つか、マニュアルの短い説明を表示します。 |
type |
名前がエイリアス、関数、シェル組み込みコマンド、または実行ファイルのどれであるかを確認します。 |
command |
シェル関数のような名前の衝突を避けるためにコマンドを実行するか、-v で実行場所を確認します。 |
history |
現在のシェルで以前に実行したコマンド履歴を確認したり、再実行する際に使用します。 |
alias |
よく使う長いコマンドに短いエイリアスを指定します。 |
unalias |
現在のシェルに設定されたコマンドエイリアスを削除します。 |
clear |
ターミナル画面を整理します。 |
watch |
指定したコマンドを一定間隔で繰り返し実行して結果の変化を確認します。 |
time |
コマンドの実際の実行時間とCPU使用時間を測定します。 |
env |
環境変数を表示したり、一時的な環境変数を指定してコマンドを実行します。 |
printenv |
全体の環境変数または指定した環境変数の値を出力します。 |
パス移動とファイル情報のコマンド
| コマンド | 概要 |
|---|---|
pwd |
現在作業中のディレクトリの絶対パスを出力します。 |
ls |
ファイルとディレクトリの一覧、権限、所有者やサイズなどを確認します。 |
cd |
現在の作業ディレクトリを別のパスに変更します。 |
tree |
ディレクトリとファイル構造をツリー形式で表示します。別途インストールが必要な場合があります。 |
file |
拡張子ではなくファイルの内容を検査してファイル形式を推定します。 |
stat |
ファイルサイズ、権限、inodeおよびアクセス・変更時間を詳しく表示します。 |
basename |
フルパスから最後のファイル名またはディレクトリ名だけを抽出します。 |
dirname |
フルパスから最後の構成要素を除いたディレクトリパスを抽出します。 |
realpath |
相対パスとシンボリックリンクを解釈した絶対パスを出力します。 |
readlink |
シンボリックリンクに保存された参照先を表示します。通常のreadlinkと、絶対パスへ解決するrealpathは使い分けます。 |
ファイルとディレクトリ管理コマンド
| コマンド | 概要 |
|---|---|
touch |
空のファイルを作成するか、既存のファイルのアクセス・変更時間を変更します。 |
mkdir |
新しいディレクトリを作成します。 |
rmdir |
空のディレクトリを削除します。 |
cp |
ファイルやディレクトリを別の場所にコピーします。 |
mv |
ファイルとディレクトリを移動するか、名前を変更します。 |
rm |
ファイルやディレクトリを削除します。削除結果はゴミ箱に移動されないため、対象を注意して確認する必要があります。 |
ln |
ファイルのハードリンクまたはシンボリックリンクを作成します。 |
install |
ファイルをコピーするときに、所有者、権限、および対象ディレクトリを一緒に設定します。 |
shred |
ファイルの内容を複数回上書きしてから削除することができますが、記憶装置の種類やファイルシステムによって効果が制限されることがあります。 |
mktemp |
名前の衝突を避けた一時ファイルや一時ディレクトリを安全に作成します。 |
truncate |
ファイルを指定したサイズに縮小または拡張します。 |
dd |
ブロック単位でデータをコピーまたは変換します。対象の装置を誤って指定するとデータが失われることがあります。 |
ファイル内容の確認と検索コマンド
| コマンド | 概要 |
|---|---|
cat |
ファイルの内容を出力したり、複数のファイルを連結します。 |
tac |
ファイルの最後の行から逆順に出力します。 |
less |
長いファイルを上下に移動しながら、ページ単位で読みます。 |
more |
ファイルの内容を一画面ずつ順番に確認します。 |
head |
ファイルやコマンド出力の前部分を確認します。 |
tail |
ファイルの最後の部分を出力し、-fオプションでログの変化を継続的に確認できます。 |
grep |
ファイルやコマンド出力で文字列または正規表現に一致する行を探します。 |
find |
指定したパスで名前、形式、サイズ、権限、修正時間などの条件でファイルを検索します。 |
locate |
あらかじめ作成したファイルデータベースを検索してパスを素早く見つけます。 |
which |
PATHで実行されるプログラムのパスを探します。エイリアスやシェル関数の確認にはtypeの方が適しています。 |
whereis |
コマンドの実行ファイル、ソースとマニュアルページの場所を検索します。 |
diff |
2つのファイルまたはディレクトリの違いを行単位で比較します。 |
cmp |
2つのファイルをバイト単位で比較し、最初に異なる位置を見つけます。 |
テキスト処理コマンド
| コマンド | 概要 |
|---|---|
wc |
ファイルや入力の行、単語、文字、バイト数を計算します。 |
sort |
テキスト行を文字、数字または指定した列に基づいて並べ替えます。 |
uniq |
隣接する重複行を削除するか、重複回数を計算します。 |
cut |
各行から指定した文字範囲や区切り文字で分けたフィールドを抽出します。 |
paste |
複数のファイルの対応する行を横方向に結合します。 |
join |
共通のフィールドを基準に整列された2つのテキストファイルの行を結合します。 |
comm |
整列された2つのファイルを比較し、共通の行と各ファイルにのみある行を区別します。 |
tr |
入力の文字を別の文字に置換したり、繰り返し文字や特定の文字を削除します。 |
tee |
入力を画面に出力しながら、同時にファイルにも保存します。 |
xargs |
標準入力で受け取った項目を他のコマンドの引数に変換して実行します。 |
sed |
テキストストリームで検索、置換、削除や行選択の操作を行います。 |
awk |
テキストをフィールド単位で分析し、条件に応じて計算したり出力します。 |
column |
区切られたテキストを読みやすい列の形に整列します。 |
split |
大きなファイルをサイズや行数に基づいて複数のファイルに分割します。 |
csplit |
行番号やパターンの出現位置に基づいてファイルを分割します。 |
fmt |
通常のテキスト段落の行の長さを読みやすく再調整します。 |
fold |
長い入力行を指定した幅に合わせて複数行に分けます。 |
printf |
指定した形式に従って文字列と数字を出力します。 |
ユーザーと権限コマンド
| コマンド | 概要 |
|---|---|
whoami |
現在の実効ユーザーの名前を表示します。 |
id |
ユーザーID、基本グループと追加グループ情報を確認します。 |
who |
現在システムにログインしているユーザーとログイン端末を表示します。 |
w |
ログインしているユーザー、実行中の作業とシステム負荷を一緒に表示します。 |
last |
ログインとログアウトの記録を確認します。 |
groups |
現在のユーザーまたは指定したユーザーが属するグループを出力します。 |
passwd |
ユーザーパスワードを変更または管理します。 |
sudo |
許可されたユーザーが他のユーザー、通常はroot権限でコマンドを実行できるようにします。 |
su |
別のユーザーとしてシェルやコマンドを実行します。終了すると元のシェルへ戻ります。 |
chmod |
ファイルとディレクトリの読み取り、書き込み、実行権限を変更します。 |
chown |
ファイルとディレクトリの所有者または所有グループを変更します。 |
chgrp |
ファイルとディレクトリの所有グループを変更します。 |
umask |
新しいファイルとディレクトリに適用されるデフォルトの権限制限値を確認または設定します。 |
getent |
ユーザー、グループ、ホストなど Name Service Switch データベースの項目を照会します。 |
プロセスとターミナルセッションのコマンド
| コマンド | 概要 |
|---|---|
ps |
現在実行中のプロセスのID、ユーザー、状態、および実行コマンドを確認します。 |
top |
プロセスごとのCPUとメモリ使用量をリアルタイムで確認します。 |
htop |
プロセスを対話型画面で確認して管理します。別途インストールが必要な場合があります。 |
pgrep |
プロセス名と条件でプロセスIDを検索します。 |
pkill |
名前や条件に一致するプロセスにシグナルを送ります。 |
kill |
プロセスIDを指定して終了要求などのシグナルを送ります。 |
killall |
指定した名前に一致するプロセスにシグナルを送ります。 |
jobs |
現在のシェルで実行したバックグラウンドおよび停止状態のジョブを確認します。 |
bg |
停止したシェルジョブをバックグラウンドで継続実行します。 |
fg |
バックグラウンドまたは停止したシェルジョブをフォアグラウンドに持ってきます。 |
nohup |
ハングアップシグナル(SIGHUP)を無視してコマンドを実行します。バックグラウンド化や終了後の再起動まで行うものではありません。 |
nice |
新しいプロセスのCPUスケジューリング優先度を調整して実行します。 |
renice |
実行中のプロセスのCPUスケジューリング優先度を変更します。 |
screen |
1つのターミナルで複数の仮想セッションを作成し、分離・再接続します。 |
tmux |
複数のシェルウィンドウとパネルを管理し、セッションを分離・再接続するターミナルマルチプレクサです。 |
システム情報とサービスコマンド
| コマンド | 概要 |
|---|---|
uptime |
システム稼働時間、ログイン中のユーザー数、および平均負荷を確認します。 |
free |
物理メモリとスワップ領域の全容量と使用状況を確認します。 |
uname |
現在実行中のカーネルリリースやハードウェアアーキテクチャなどの情報を出力します。 |
hostnamectl |
systemd 環境でホスト名、ディストリビューション、カーネルとアーキテクチャ情報を確認したり、ホスト名を設定します。 |
date |
現在の日付と時刻を表示したり、形式を指定して出力します。 |
timedatectl |
systemd 環境で時間、タイムゾーンおよびネットワーク時間同期の状態を管理します。 |
lscpu |
CPU のアーキテクチャ、コア、スレッドおよび仮想化情報を表示します。 |
lsmod |
現在カーネルにロードされているモジュールの一覧と使用状況を確認します。 |
modinfo |
カーネルモジュールのファイル位置、説明、バージョンおよびパラメータを確認します。 |
dmesg |
カーネルリングバッファの起動、ハードウェアおよびドライバメッセージを確認します。 |
systemctl |
systemdサービスやその他のユニットの状態を確認し、起動・停止・有効化します。 |
journalctl |
systemdジャーナルに保存されたシステムとサービスのログを参照します。 |
reboot |
システムを安全に再起動します。実行中の作業や他のユーザーを事前に確認する必要があります。 |
shutdown |
システムのシャットダウンや再起動を即時または指定した時間に予約します。 |
ディスクとファイルシステムのコマンド
| コマンド | 概要 |
|---|---|
df |
マウントされたファイルシステムごとの総容量と使用可能な空き容量を確認します。 |
du |
ファイルやディレクトリが使用しているディスク容量を計算します。 |
lsblk |
ディスク、パーティション、論理ボリュームの階層構造とマウントポイントを確認します。 |
blkid |
ブロックデバイスのUUID、ファイルシステム形式とラベルを照会します。 |
mount |
指定したディレクトリにファイルシステムをマウントするか、現在のマウント状態を確認します。 |
umount |
マウントされたファイルシステムを安全に取り外します。 |
fdisk |
主にMBRおよびGPTディスクのパーティションテーブルを確認または編集します。変更前に対象ディスクを確認する必要があります。 |
parted |
さまざまなパーティションテーブルのパーティションを作成し、サイズや位置を管理します。 |
mkfs |
パーティションまたはデバイスに新しいファイルシステムを作成します。既存のデータが失われる可能性があります。 |
fsck |
ファイルシステムのエラーをチェックし、必要に応じて修復します。対象ファイルシステムの状態をまず確認する必要があります。 |
sync |
メモリに残っているファイルシステム書き込みデータを保存装置に反映するよう要求します。 |
ネットワークコマンド
| コマンド | 概要 |
|---|---|
ip |
ネットワークインターフェース、IPアドレス、ルーティングおよびネイバーテーブルを確認または設定します。 |
ss |
TCP・UDPソケット、受信ポートと接続状態を確認します。 |
ping |
ICMPパケットを送信し、対象ホストの応答の有無と往復時間を確認します。 |
tracepath |
目的地までのネットワーク経路と経路の最大転送単位を調査します。 |
traceroute |
目的地までパケットが通過するルータ経路を追跡します。 |
dig |
DNSサーバーにレコードを問い合わせ、応答を詳しく確認します。 |
host |
ドメイン名とIPアドレスのDNS情報を簡単に照会します。 |
nslookup |
DNSサーバーにドメインまたはIPアドレス情報を照会します。 |
curl |
URLを通じてHTTPなどのさまざまなプロトコルでデータをリクエストまたは送信します。 |
wget |
ウェブやFTPアドレスからファイルをダウンロードし、再帰的なダウンロードを行います。 |
nc |
NetcatでTCP・UDP接続、ポートチェックおよび簡単なデータ送信を行います。 |
nmap |
許可された対象のホストと開いているポート、サービス情報を調査します。 |
ethtool |
イーサネットインターフェースのリンク速度、ドライバーおよび機能設定を確認します。 |
resolvectl |
systemd-resolved環境でDNS設定と照会状況を確認します。 |
リモート接続とファイル転送のコマンド
| コマンド | 概要 |
|---|---|
ssh |
暗号化されたSSH接続でリモートシステムにログインしたり、リモートコマンドを実行します。 |
scp |
SSH接続を利用してローカルとリモートシステム間でファイルをコピーします。 |
sftp |
SSHベースの対話型ファイル転送セッションを使用します。 |
rsync |
変更されたファイルを中心に、ローカルまたはリモートディレクトリを効率的に同期します。 |
ssh-keygen |
SSHの公開鍵と秘密鍵ペアを作成し、鍵のフィンガープリントを管理します。 |
ssh-copy-id |
公開鍵をリモートアカウントの認証鍵リストに追加します。 |
圧縮とアーカイブのコマンド
| コマンド | 概要 |
|---|---|
tar |
複数のファイルやディレクトリを一つのアーカイブにまとめたり、展開したりし、圧縮ツールと併用します。 |
gzip |
ファイルをgzip形式で圧縮します。 |
gunzip |
gzipで圧縮されたファイルを解凍します。 |
bzip2 |
ファイルをbzip2形式で圧縮します。 |
bunzip2 |
bzip2で圧縮されたファイルを解凍します。 |
xz |
ファイルをxz形式で圧縮します。 |
unxz |
xzで圧縮されたファイルを解凍します。 |
zip |
ファイルとディレクトリをZIP形式で圧縮します。 |
unzip |
ZIPアーカイブの一覧を確認したり、解凍したりします。 |
パッケージ管理コマンド
パッケージ管理コマンドはディストリビューションによって異なります。現在のディストリビューションはcat /etc/os-releaseで確認した後、適切なツールを使用する必要があります。
| コマンド | 概要 |
|---|---|
apt |
Debian・Ubuntu 系でパッケージの検索、インストール、削除、アップグレードに使用するユーザー向けコマンドです。 |
apt-get |
Debian・Ubuntu 系でスクリプトや詳細なパッケージ操作に広く使用されるAPTコマンドです。 |
dpkg |
Debian 系でローカルDEBパッケージのインストールやパッケージデータベースの照会を行います。 |
dnf |
Fedora・RHEL・Rocky Linux・AlmaLinux 系でパッケージとリポジトリを管理します。 |
rpm |
RPMパッケージファイルやインストールされたパッケージデータベースを照会または管理します。 |
zypper |
openSUSEおよびSUSE Linux Enterpriseでパッケージとリポジトリを管理します。 |
pacman |
Arch Linux 系の環境でパッケージをインストール・削除し、システムを更新します。 |
apk |
Alpine Linux でパッケージを検索・インストール・削除し、リポジトリ情報を更新します。 |
コマンドを使用する時に確認すべき点
rm、dd、mkfs、fdiskのようにデータを変更または削除するコマンドは、対象のパスとデバイスを先に確認します。sudoは必要なコマンドのみに使用し、理解していないコマンドを管理者権限でそのまま実行しません。- インターネットで見つけたオプションが現在のシステムにも存在するか、
manと--helpで確認します。 - ディストリビューション、プログラムのバージョン、インストールされているパッケージによっては、コマンドやオプションが存在しない場合があります。
公式文書を参照
この一覧はコマンドをすばやく探すための出発点です。実際の作業では、各コマンドの基本構文、よく使うオプション、実行例と注意点を確認したうえで使用するのが安全です。




