Linux コマンド一覧(195)
よく使う Linux コマンドをカテゴリ別にまとめました。各コマンドのページで書式・使用例・関連トピックを確認できます。
GPIO
gpiodetectシステム上のGPIOチップ(gpiochip)を一覧する(libgpiod)。
gpioinfo各ライン(ピン)の名前・方向・予約状況を表示する。
gpioget指定ラインの入力値(0/1)を読み取る。
gpioset指定ラインに出力値(0/1)を設定する。
pinctrl新しめのRaspberry Pi環境でピンの機能・状態を確認/設定するツール。
raspi-gpioGPIOピンの現在の状態(入出力の向きやレベル)を確認・設定する。
pinoutGPIOヘッダのピン配置を図として表示する。配線前の確認に使う。
I2C
LVM
pvcreateディスクやパーティションをLVMの物理ボリューム(PV)として初期化します。LVM構成の最初のステップで、ここで作った…
vgcreate1つ以上の物理ボリューム(PV)をまとめてボリュームグループ(VG)を作成します。VGは容量プールとなり、ここから論理…
lvcreateボリュームグループ(VG)のプールから論理ボリューム(LV)を切り出します。作成したLVは通常のパーティションと同様に…
SELinux
getenforceSELinux の現在のモードを表示するコマンド。Enforcing(強制)・Permissive(警告のみ)・Dis…
setenforceSELinux のモードを一時的に切り替えるコマンド。0 で Permissive、1 で Enforcing になる…
SSH
ssh-keygenSSH の公開鍵認証で使う、秘密鍵と公開鍵のペアを生成するコマンド。生成した秘密鍵は手元で厳重に保管し、公開鍵だけをサ…
ssh-copy-id手元の公開鍵をリモートサーバの authorized_keys に登録するコマンド。以降はパスワードなしで鍵認証による…
U-Boot/ストレージ
ext4loadext4ファイルシステム上のファイルをメモリへ読み込む。MMCやUSBなどのストレージからカーネルやDTBをロードする…
fatloadFAT(VFAT)パーティション上のファイルをメモリへ読み込む。多くのボードでブート用の先頭FATパーティションからカ…
mmcMMC/SDデバイスを操作・確認する。接続デバイスの一覧やパーティション情報を表示し、ロード元の指定に役立てる。
U-Boot/デバイスツリー
U-Boot/ネットワーク
tftpbootTFTPサーバ上のファイルを指定したメモリアドレスへ転送する。事前に ipaddr と serverip を設定してお…
dhcpDHCPでIPアドレスを自動取得する。ファイル名を渡すと取得後にそのままTFTP転送まで行う。固定IPを設定しない開発…
U-Boot/メモリ
md指定アドレスのメモリ内容をダンプ表示する。.b/.w/.l でバイト/ワード/ロング単位を選ぶ。ロード結果やレジスタ値…
mw指定アドレスのメモリへ値を書き込む。検証用にロード先を既知の値で埋めてから上書き確認するなどに使う。
U-Boot/環境変数
printenvU-Bootの環境変数を表示する。引数なしで全変数を一覧し、変数名を渡すとその値だけを表示する。現在の起動設定を確認す…
setenv環境変数を作成・変更する。値を省略するとその変数を削除する。変更はRAM上のみで、電源を切ると失われるため savee…
saveenvRAM上の環境変数を不揮発領域(環境ストレージ)へ書き戻して永続化する。setenv での変更を次回起動以降も有効にす…
U-Boot/起動
boot環境変数 bootcmd に設定されたコマンド列を実行して起動を進める。自動起動と同じ処理を手動で開始するコマンド。
bootmメモリ上のU-Bootヘッダ付きイメージ(uImage)からカーネルを起動する。第3引数にDTBのアドレスを渡してカー…
bootiARM64の生カーネルイメージ(Image)をメモリから起動する。bootm と異なりU-Bootヘッダを必要としない…
bootz圧縮済みカーネル zImage(ARM)をメモリから起動する。uImageヘッダを必要とせず、DTBアドレスを第3引数…
Webサーバ
アカウント
passwdユーザのパスワードを変更するコマンド。引数なしで自分のパスワードを変更でき、管理者がユーザ名を指定すると他ユーザのパス…
chageパスワードの有効期限や変更間隔などのエイジング情報を確認・設定するコマンド。古いパスワードが使われ続けるのを防ぎ、定期…
usermod既存ユーザの設定を変更するコマンド。所属グループの追加やアカウントのロックなどに使う。管理操作のため通常は sudo …
イメージ
docker imagesローカルに保存されているイメージの一覧を表示する。
docker pullレジストリからイメージを取得する。タグ省略時は latest。
docker buildDockerfile からイメージをビルドする。-t で名前とタグを付け、最後にビルドコンテキストを渡す。
docker rmiローカルのイメージを削除する。
カーネルモジュール
lsmod現在カーネルに組み込まれているモジュールの一覧を表示する。/proc/modules を整形して見せる。
modinfoモジュールの詳細情報(パス・ライセンス・作者・依存・パラメータ等)を表示する。
insmod.ko ファイルを直接指定してモジュールを組み込む。依存関係は解決しないため学習・検証向け。
rmmod組み込まれているモジュールを取り外す。使用中(Used by が0以外)のものは外せない。
modprobe依存関係を自動解決してモジュールを組み込む/外す。/lib/modules 配下から名前で探す。実務の基本。
depmodモジュール間の依存関係一覧(modules.dep)を作成・更新する。modprobe はこの情報を使う。
カーネルログ
クロスビルド
arm-linux-gnueabihf-gccArm(32bit hard-float)向けのクロスコンパイラ。オプションはネイティブgccと同じ。
./configureAutotoolsの構成スクリプト。--hostにターゲットのトリプレットを渡すとクロス用にMakefileを生成する。
コンテナ
docker runイメージからコンテナを起動する。-d でバックグラウンド、-p でポート公開、-v でボリューム、-it で対話実行。
docker ps稼働中のコンテナを一覧する。-a を付けると停止済みも表示する。
docker exec稼働中のコンテナ内でコマンドを実行する。-it でシェルを対話的に開ける。
docker logsコンテナが標準出力に書いたログを表示する。-f で追記を追従する。
docker stop稼働中のコンテナを停止する(正常終了を試みる)。
docker rm停止済みのコンテナを削除する。-f で稼働中でも強制削除する。
podmanDocker互換のコンテナ管理ツール。デーモン不要で rootless 実行に向く。サブコマンドは docker とほ…
サーバ設定
サービス管理
シェル
bashGNU Bash シェル。対話的に使うほか、スクリプトファイルを実行できる。
shPOSIX標準シェル。多くの環境で bash や dash への別名になっている。
echo引数の文字列や変数の値を標準出力へ表示する。
read標準入力から1行読み取り、変数に代入する。対話入力やループでの行処理に使う。
test / [条件式を評価し、真なら終了ステータス0、偽なら1を返す。if 文と組み合わせて使う。
export変数を環境変数にし、そのシェルから起動する子プロセスへ引き継げるようにする。
source / .別ファイルを現在のシェルの中で読み込み実行する。設定の再読み込みや関数・変数の取り込みに使う。
exitシェルやスクリプトを終了し、終了ステータス N(省略時は直前の値)を返す。
printf書式を指定して文字列を出力する。echo より整形の自由度が高く、移植性も高い。
true / falseそれぞれ常に成功(0)・失敗(1)の終了ステータスを返すだけのコマンド。無限ループや初期値に使う。
setシェルの動作オプションを変更する。スクリプト先頭で堅牢化のために使うことが多い。
shift位置パラメータを N 個(既定1)前へずらす。引数を順番に処理するループで使う。
システム
システム情報
ストレージ
docker volume永続化に使うボリュームを作成・一覧・削除する。
dfマウントされている各ファイルシステムの容量・使用量・空き・使用率を一覧します。容量不足の調査でまず確認するコマンドです。
du指定したディレクトリやファイルが消費している容量を集計します。どこが容量を食っているかを掘り下げて調べるのに使います。
mountファイルシステムをディレクトリツリーに接続します。引数なしで実行すると現在のマウント状況を一覧します。fstab と組…
umountマウント済みのファイルシステムを切り離します。書き込みバッファを確実に反映するため、デバイスを取り外す前に実行します。…
mkfsパーティションにファイルシステムを作成(フォーマット)します。mkfs.ext4 のように種別ごとのコマンドがあります…
fdiskパーティションテーブルを表示・編集する対話型ツールです。-l を付ければ情報表示だけで済みます。編集操作はディスク構成…
partedパーティションを操作するツールで、2TiBを超える大容量ディスク向けのGPTにも対応します。print で構成確認、m…
blkidブロックデバイスのUUIDやファイルシステム種別を表示します。fstab を UUID で記述する際の値を調べるのに使…
テキスト加工
sed1行ずつ読み込んで置換や削除を行うストリームエディタ。
awk行を列に分けて処理する。列抽出・条件抽出・集計が得意。
tr文字単位で置換・削除・圧縮を行う。標準入力から読む。
cut各行から指定した列や文字位置を切り出す。
sort行を並べ替える。既定は辞書順、数値順や逆順も指定できる。
uniq隣り合う重複行をまとめる。先に sort するのが定番。
wc行数・単語数・バイト数を数える。
テキスト検索
デバイスファイル
デバイス確認
デバッグ
ドキュメント
man 2 openセクション2(システムコール)のマニュアルを表示する。概要・引数・戻り値・errno 一覧を確認できる。
man 3 printfセクション3(ライブラリ関数)のマニュアルを表示する。libc の関数仕様を調べる。
man manマニュアルを表示する。セクション番号を付けると目的のページを正確に開ける。man man で番号の意味を確認できる。
aproposマニュアルの見出しをキーワードで横断検索する。目的のシステムコール名が分からないときに使う。
perror (C関数)直近の errno に対応するエラーメッセージを標準エラー出力へ表示するC関数。man 3 perror で詳細を確認…
errnoerrno の仕組みとエラー番号の一覧(ENOENT, EACCES など)を説明するマニュアル。失敗原因を調べる起点…
ナビゲーション
ネットワーク
ip addrネットワークインターフェースとIPアドレスの割り当てを表示する。
ip routeルーティングテーブル(経路情報)を表示・操作する。
ping指定ホストへパケットを送り、到達性と応答時間を確認する。
ssソケットの状態(待ち受け・接続中のポート)を表示する。netstat の後継。
traceroute宛先までに経由するルータを順番に表示し、経路を調べる。
digDNSへ問い合わせ、名前解決の結果を詳しく表示する。
nslookupドメイン名からIPアドレスを手軽に引く名前解決ツール。
curlURLへアクセスし、Webサーバの応答を取得・確認する。
hostname自機のホスト名を表示する。-I で割り当てIPアドレスを表示。
nmcliNetworkManager をコマンドで操作し、接続や状態を確認・設定する。
ハードウェア確認
パッケージ
aptDebian/Ubuntu系のパッケージ管理。
dnfRHEL/MiracleLinux系のパッケージ管理。
apt updateインストール可能なパッケージの一覧(台帳)を最新化する。実際の更新はまだ行わない。
apt full-upgradeインストール済みパッケージを更新する。依存関係の都合で必要なら不要パッケージの入れ替えも行う。ラズパイで推奨。
ビルド
gccGNU Cコンパイラ。Cソースを実行ファイルに変換する。
./a.outgccで出力名を指定しなかった場合の既定の実行ファイル名。カレントのパスを付けて実行する。
makeMakefileに書かれた手順に従い、更新があった部分だけを再ビルドする。
ar複数のオブジェクトファイルをまとめて静的ライブラリ(.a)を作る。
ビルド設定
make menuconfigKconfigベースのテキストUIで設定を編集するMakeターゲット。BuildrootやLinuxカーネルのソースル…
make (Buildroot)Buildrootのソースルートで引数なしに実行すると、現在の .config に従ってクロスツールチェーンの構築から…
make <board>_defconfigBuildrootで、configs/ に用意されたボード向け既定設定を読み込んで .config を生成するMake…
bitbakeYoctoのビルドエンジン。指定したターゲットのレシピを解析し、依存関係を解いてタスクを実行する。ターゲットには co…
source oe-init-build-envYoctoのビルドに必要な環境変数を現在のシェルに設定し、buildディレクトリへ移動する初期化スクリプト。pokyの…
ファイアウォール
firewall-cmdfirewalld を操作するコマンド。サービスやポートの許可・拒否、設定の確認・反映を行う。--permanent …
ufwUncomplicated Firewall の略で、Ubuntu系で使われる簡易ファイアウォール管理ツール。fire…
ファイル操作
mkdir新しいディレクトリを作成する。
touch空ファイルを作成する(既存なら更新日時を変更)。
cpファイルやディレクトリを複製する。
mv移動、または名前を変更する。
rmファイルやディレクトリを削除する。確認なしで消える点に注意。
ブランチ
git branchブランチの一覧表示や新規作成を行う。
git switch作業対象のブランチを切り替える(新しめの書き方)。
git checkoutブランチ切り替えなどに使う従来からのコマンド。switch / restore に役割が分かれた。
git merge指定したブランチの変更を、いまのブランチに統合する。
ブート設定
プロセス
リポジトリ
リモート
git remoteリモートリポジトリの一覧表示や登録を行う。
git push手元のコミットをリモートへ送り出す。
git pullリモートの変更を取得し、いまのブランチに取り込む。
ssh別のPCからラズパイへ暗号化された文字ベースの遠隔接続を行う。
ログ閲覧
単発予約
at指定した時刻にコマンドを一度だけ実行するよう予約します。実行すると専用プロンプトが開き、入力したコマンドが予約されます…
atqat で予約済みのジョブの一覧を表示します。各行に予約番号・実行予定時刻・キューが並びます。取り消したい場合は、ここで…
取り消し
定期実行
crontabユーザごとの cron 予定表を編集・表示・削除します。-e で編集、-l で一覧表示、-r で全削除です。1行が1つ…
systemctl list-timerssystemd の timer ユニットの一覧と、それぞれの次回起動予定・前回起動時刻を表示します。--all を付け…
systemd-runコマンドを一時的なユニットとして即座に、または指定した遅延後に実行します。--on-active=30min で30分…
実行
構成管理
ansibleAnsible の ad-hoc コマンドで、1回限りの操作を対象ホスト群へ SSH 経由で実行します。-m でモジュ…
ansible-playbookYAML で書いた playbook を読み込み、記述した手順を対象ホストへ順に適用します。各タスクは冪等に設計されて…
権限
chmodファイルのパーミッションを変更する。
chownファイルの所有者・グループを変更する。
sudo許可された一般ユーザが、コマンドを管理者(root)などの権限で実行するためのコマンド。root に直接ログインせず、…
visudo/etc/sudoers を安全に編集するための専用コマンド。保存時に文法チェックを行い、誤りがあれば警告して破損を防…
状態確認
疑似FS閲覧
cat /proc/*cat で /proc 以下の疑似ファイルを読み、カーネルが保持するシステム情報を観察する。専用ツールがなくてもCPU…
cat /sys/*cat で /sys 以下の属性ファイルを読み、カーネルが認識しているデバイスやドライバの状態を確認する。ハードウェア…
監視
uptime稼働時間とロードアベレージ(1/5/15分)を1行で表示する。
htoptopの高機能版。色付きでCPU/メモリを可視化し、並べ替えや操作がしやすい。
freeメモリとスワップの使用量・空き容量を表示する。
vmstatCPU待ち・I/O待ち・スワップなどを時系列で表示する。
iostatデバイスごとのディスクI/O負荷を表示する(sysstat)。
確認
ls (生成物確認)ビルド成果物の出力先を一覧して、生成されたイメージやアーカイブのサイズを確かめる。Buildrootは output/…
tar (rootfs確認)ルートファイルシステムのtarアーカイブを展開せずに中身だけ一覧して、目的のコマンドやライブラリが含まれているかを確認…
fileファイルの種別を内容から判定して表示する。生成したカーネルイメージやrootfsイメージが、想定どおりの形式・アーキテ…
git status変更・ステージの状況や現在のブランチを表示する。作業中に最もよく使う。
git logコミット履歴を新しい順に表示する。
補助
date現在の日付と時刻を表示します。cron 式を組むときの曜日番号や時刻の確認、スクリプト内でログにタイムスタンプを付ける…
chmod +xファイルに実行権を付与します。シェルスクリプトを cron や timer から直接呼び出すには、まず実行権が必要です…
観察
straceコマンドが呼び出すシステムコールと、その引数・戻り値・errno を順に表示する。低レイヤの挙動調査や障害解析に使う。
ltraceプログラムが呼ぶライブラリ関数(libc の printf など)を表示する。strace と対にして層の違いを確認で…
解析
ldd実行ファイルが依存する共有ライブラリと解決先を一覧する。
nmオブジェクトファイルや実行ファイルのシンボル(関数・変数)を一覧する。
readelfELFファイルのヘッダやセクション情報を表示する。アーキ確認に使う。
objdumpオブジェクト/実行ファイルを逆アセンブルしたり、ヘッダ情報を表示する。