本文へスキップ
Typle
ログイン状態を確認中

プログラミング · Linux

Linux:システムの仕組みのタイピング練習

/・/bin・/sbin などのディレクトリ構成をはじめ、Linux のシステムの仕組みにかかわる言葉140個を打って覚えます。それぞれ何の略か・何のためのものかの説明が付いています。

1リスト・140語

無料・ログインなしで練習できます。押すとこのパックをフォローし、すぐに練習が始まります。

収録している言葉

Linux:システムの仕組み

打つ言葉意味・補足
/Root:ファイルシステムの起点
/binBinaries:基本的な実行ファイル
/sbinSystem Binaries:システム管理用実行ファイル
/usrUnix System Resourcesなどと説明される歴史的名称:アプリ・ライブラリ・共有データ
/usr/binUser Binaries:一般的なコマンド
/usr/sbinSystem Binaries:システム管理用コマンド
/etcEtcetera:システム全体の設定
/varVariable:ログなど変化するデータ
/var/logLog:システムログ
/homeHome:一般ユーザーのホーム
/rootRoot:rootユーザーのホーム
/tmpTemporary:一時ファイル
/runRuntime:起動後の実行時データ
/devDevices:デバイスファイル
/procProcesses:プロセス・カーネル情報
/sysSystem:デバイス・カーネルの属性
/bootBoot:カーネル・起動関連
/libLibraries:共有ライブラリなど
/optOptional:追加アプリケーション
/mntMount:一時的なマウント先
/mediaMedia:リムーバブルメディアのマウント先
ls -la /ルート直下を表示
tree -L 2 /etc/etcの構造を2階層表示
findmntファイルシステムのマウント状況
findmnt /ルートファイルシステムの情報
stat /etc/passwdファイルの詳細情報
realpath /binパスの実体を確認
cat /proc/cpuinfo/proc/cpuinfo:CPU情報
cat /proc/meminfo/proc/meminfo:メモリ情報
cat /proc/version/proc/version:カーネルバージョンなど
cat /proc/uptime/proc/uptime:システム稼働時間
cat /proc/loadavg/proc/loadavg:システム負荷
cat /proc/mounts/proc/mounts:マウント情報
cat /proc/filesystems/proc/filesystems:対応ファイルシステム
ls /proc/sys/proc/sys:カーネル設定項目
cat /proc/1234/status/proc/PID/status:プロセス状態・メモリなど
tr '\0' ' ' < /proc/1234/cmdline/proc/PID/cmdline:起動時の引数
ls -l /proc/1234/fd/proc/PID/fd:開いているファイルディスクリプタ
cat /proc/1234/maps/proc/PID/maps:メモリマッピング
cat /proc/1234/cgroup/proc/PID/cgroup:所属cgroup情報
/sys/class/netネットワークインターフェース
/sys/class/blockブロックデバイス
/sys/class/power_supply電源・バッテリー関連
/sys/devices/system/cpuCPU構成
/sys/devices/system/nodeNUMAノード
/sys/fs/cgroupcgroupsによるリソース管理
/sys/moduleカーネルモジュール
/sys/class/thermal温度管理関連
/dev/nullNull Device:書き込んだデータを破棄
/dev/zeroZero Device:0のバイト列を読み出す
/dev/randomRandom:乱数データを取得
/dev/urandomUnblocking Random:乱数データを取得
/dev/ttyTeletype:現在の制御端末
/dev/stdinStandard Input:標準入力
/dev/stdoutStandard Output:標準出力
/dev/stderrStandard Error:標準エラー出力
/dev/sdaSCSI Diskなどに由来:ブロックデバイスの例
/dev/nvme0n1NVMe:NVMeストレージの例
/dev/loop0Loop Device:ファイルをブロックデバイスとして扱う
/dev/ptsPseudo Terminals:疑似端末関連
stdinFD 0:標準入力
stdoutFD 1:標準出力
stderrFD 2:標準エラー出力
SIGHUP1番(Hang Up):端末切断通知・設定再読み込み
SIGINT2番(Interrupt):Ctrl+Cによる割り込み
SIGQUIT3番(Quit):終了要求・コアダンプ
SIGKILL9番(Kill):強制終了
SIGUSR110番(User Signal 1):アプリ固有の処理
SIGSEGV11番(Segmentation Violation):不正メモリアクセス
SIGUSR212番(User Signal 2):アプリ固有の処理
SIGPIPE13番(Broken Pipe):読み取り側が閉じたパイプへの書き込み
SIGALRM14番(Alarm):タイマー通知
SIGTERM15番(Terminate):正常終了の要求
SIGCONT18番(Continue):停止中プロセスの再開
SIGSTOP19番(Stop):強制停止
SIGTSTP20番(Terminal Stop):Ctrl+Zによる停止
Pipeパイプ:プロセス間でデータを流す
FIFO名前付きパイプ:ファイルシステム上の名前を持つパイプ
Unix Domain SocketUnixドメインソケット:同一ホスト上のプロセス間通信
TCP SocketTCPソケット:ネットワーク通信
Shared Memory共有メモリ:複数プロセスがメモリを共有
Semaphoreセマフォ:同期・排他制御
Message Queueメッセージキュー:メッセージ単位でデータを受け渡す
Signalシグナル:プロセスへの通知
mkfifo /tmp/myfifomkfifo(Make FIFO):名前付きパイプ作成
ipcs -aipcs(IPC Status):System V IPC資源の確認
ipcrm -m 1234ipcrm(IPC Remove):System V IPC資源削除
ss -xlpss -x(Unix Socket):Unixソケット確認
flock -n /tmp/task.lock ./task.shflock(File Lock):ファイルロックによる排他制御
socat - UNIX-CONNECT:/tmp/app.socksocat(Socket CAT):通信経路の接続・中継
ls -i file.txtls -i:inode番号を表示
stat file.txtstat:inode番号・リンク数・時刻などを表示
df -iinode使用率確認
find . -inum 12345find -inum:inode番号で検索
find . -links +1find -links:ハードリンク数で検索
ln original.txt hardlink.txtln:ハードリンク作成
ln -s original.txt symlink.txtln -s:シンボリックリンク作成
readlink symlink.txtreadlink:シンボリックリンクの参照先表示
namei -l /home/user/appnamei:パスの各構成要素を調査
filefrag -v file.txtfilefrag:ファイルの配置情報確認
sysctl vm.swappinesssysctl:カーネルパラメータの表示・変更
ulimit -aulimit:シェルのリソース制限
prlimit --pid 1234prlimit:プロセスのリソース制限を表示・設定
taskset -pc 1234taskset:CPUアフィニティ管理
ionice -p 1234ionice:I/O優先度管理
chrt -p 1234chrt:スケジューリング方針・優先度管理
numactl --hardwarenumactl:NUMAポリシー指定
MountMount Namespace:マウントポイントの隔離
PIDPID Namespace:プロセスID空間の隔離
NetworkNetwork Namespace:ネットワークインターフェース・経路などの隔離
UTSUTS Namespace:ホスト名・ドメイン名の隔離
IPCIPC Namespace:IPC資源の隔離
UserUser Namespace:ユーザー・グループID空間の隔離
CgroupCgroup Namespace:cgroupの表示階層の隔離
TimeTime Namespace:一部のシステム時刻情報の隔離
lsnsNamespace一覧
unshare --user --map-root-user shunshare:新しいNamespaceで実行
sudo nsenter -t 1234 -n ip addrnsenter:既存のNamespaceに参加
systemd-cglscgroupの階層表示
systemd-cgtopcgroupごとのリソース監視
systemd-run --user --scope sleep 10systemd-run:一時的なUnitでコマンド実行
Namespace何を見えるようにするか:プロセス・ネットワーク等の隔離
cgroupsどれだけ資源を使えるか:CPU・メモリなどの管理
Capabilitiesどの特権操作を許可するか:root権限を細分化
Seccompどのシステムコールを許可するか:カーネル操作の制限
topサーバーが重い:CPU使用率・負荷
free -hメモリ不足:メモリ・スワップ使用量
df -hディスク不足:ファイルシステムの空き
du -h --max-depth=1 /var容量を使う場所が不明:ディレクトリ別使用量
journalctl -p err -bプロセスが落ちる:エラー記録
journalctl -k -bOOM Killの疑い:カーネルログ
systemctl status nginxサービスが起動しない:サービス状態
curl -v http://localhost:3000APIに接続できない:HTTP接続・レスポンス
sudo ss -ltnpポートが使えない:待受ポートとプロセス
dig example.comDNS解決が失敗する:DNS応答
namei -l /path/to/fileファイルにアクセスできない:経路上のアクセス権
type -a nodeプログラムの位置が不明:コマンドの解決先
ldd ./program実行ファイルの依存関係調査:共有ライブラリの参照先
sudo lsof +L1削除したログの容量が残る:削除済みファイルを開くプロセス
bash -x script.shシェルスクリプトが動かない:実行経路のトレース

ほかの公式パックを見る