プログラミング · Linux
Linux:システムの仕組みのタイピング練習
/・/bin・/sbin などのディレクトリ構成をはじめ、Linux のシステムの仕組みにかかわる言葉140個を打って覚えます。それぞれ何の略か・何のためのものかの説明が付いています。
1リスト・140語
無料・ログインなしで練習できます。押すとこのパックをフォローし、すぐに練習が始まります。
収録している言葉
Linux:システムの仕組み
| 打つ言葉 | 意味・補足 |
|---|---|
| / | Root:ファイルシステムの起点 |
| /bin | Binaries:基本的な実行ファイル |
| /sbin | System Binaries:システム管理用実行ファイル |
| /usr | Unix System Resourcesなどと説明される歴史的名称:アプリ・ライブラリ・共有データ |
| /usr/bin | User Binaries:一般的なコマンド |
| /usr/sbin | System Binaries:システム管理用コマンド |
| /etc | Etcetera:システム全体の設定 |
| /var | Variable:ログなど変化するデータ |
| /var/log | Log:システムログ |
| /home | Home:一般ユーザーのホーム |
| /root | Root:rootユーザーのホーム |
| /tmp | Temporary:一時ファイル |
| /run | Runtime:起動後の実行時データ |
| /dev | Devices:デバイスファイル |
| /proc | Processes:プロセス・カーネル情報 |
| /sys | System:デバイス・カーネルの属性 |
| /boot | Boot:カーネル・起動関連 |
| /lib | Libraries:共有ライブラリなど |
| /opt | Optional:追加アプリケーション |
| /mnt | Mount:一時的なマウント先 |
| /media | Media:リムーバブルメディアのマウント先 |
| 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/cpu | CPU構成 |
| /sys/devices/system/node | NUMAノード |
| /sys/fs/cgroup | cgroupsによるリソース管理 |
| /sys/module | カーネルモジュール |
| /sys/class/thermal | 温度管理関連 |
| /dev/null | Null Device:書き込んだデータを破棄 |
| /dev/zero | Zero Device:0のバイト列を読み出す |
| /dev/random | Random:乱数データを取得 |
| /dev/urandom | Unblocking Random:乱数データを取得 |
| /dev/tty | Teletype:現在の制御端末 |
| /dev/stdin | Standard Input:標準入力 |
| /dev/stdout | Standard Output:標準出力 |
| /dev/stderr | Standard Error:標準エラー出力 |
| /dev/sda | SCSI Diskなどに由来:ブロックデバイスの例 |
| /dev/nvme0n1 | NVMe:NVMeストレージの例 |
| /dev/loop0 | Loop Device:ファイルをブロックデバイスとして扱う |
| /dev/pts | Pseudo Terminals:疑似端末関連 |
| stdin | FD 0:標準入力 |
| stdout | FD 1:標準出力 |
| stderr | FD 2:標準エラー出力 |
| SIGHUP | 1番(Hang Up):端末切断通知・設定再読み込み |
| SIGINT | 2番(Interrupt):Ctrl+Cによる割り込み |
| SIGQUIT | 3番(Quit):終了要求・コアダンプ |
| SIGKILL | 9番(Kill):強制終了 |
| SIGUSR1 | 10番(User Signal 1):アプリ固有の処理 |
| SIGSEGV | 11番(Segmentation Violation):不正メモリアクセス |
| SIGUSR2 | 12番(User Signal 2):アプリ固有の処理 |
| SIGPIPE | 13番(Broken Pipe):読み取り側が閉じたパイプへの書き込み |
| SIGALRM | 14番(Alarm):タイマー通知 |
| SIGTERM | 15番(Terminate):正常終了の要求 |
| SIGCONT | 18番(Continue):停止中プロセスの再開 |
| SIGSTOP | 19番(Stop):強制停止 |
| SIGTSTP | 20番(Terminal Stop):Ctrl+Zによる停止 |
| Pipe | パイプ:プロセス間でデータを流す |
| FIFO | 名前付きパイプ:ファイルシステム上の名前を持つパイプ |
| Unix Domain Socket | Unixドメインソケット:同一ホスト上のプロセス間通信 |
| TCP Socket | TCPソケット:ネットワーク通信 |
| Shared Memory | 共有メモリ:複数プロセスがメモリを共有 |
| Semaphore | セマフォ:同期・排他制御 |
| Message Queue | メッセージキュー:メッセージ単位でデータを受け渡す |
| Signal | シグナル:プロセスへの通知 |
| mkfifo /tmp/myfifo | mkfifo(Make FIFO):名前付きパイプ作成 |
| ipcs -a | ipcs(IPC Status):System V IPC資源の確認 |
| ipcrm -m 1234 | ipcrm(IPC Remove):System V IPC資源削除 |
| ss -xlp | ss -x(Unix Socket):Unixソケット確認 |
| flock -n /tmp/task.lock ./task.sh | flock(File Lock):ファイルロックによる排他制御 |
| socat - UNIX-CONNECT:/tmp/app.sock | socat(Socket CAT):通信経路の接続・中継 |
| ls -i file.txt | ls -i:inode番号を表示 |
| stat file.txt | stat:inode番号・リンク数・時刻などを表示 |
| df -i | inode使用率確認 |
| find . -inum 12345 | find -inum:inode番号で検索 |
| find . -links +1 | find -links:ハードリンク数で検索 |
| ln original.txt hardlink.txt | ln:ハードリンク作成 |
| ln -s original.txt symlink.txt | ln -s:シンボリックリンク作成 |
| readlink symlink.txt | readlink:シンボリックリンクの参照先表示 |
| namei -l /home/user/app | namei:パスの各構成要素を調査 |
| filefrag -v file.txt | filefrag:ファイルの配置情報確認 |
| sysctl vm.swappiness | sysctl:カーネルパラメータの表示・変更 |
| ulimit -a | ulimit:シェルのリソース制限 |
| prlimit --pid 1234 | prlimit:プロセスのリソース制限を表示・設定 |
| taskset -pc 1234 | taskset:CPUアフィニティ管理 |
| ionice -p 1234 | ionice:I/O優先度管理 |
| chrt -p 1234 | chrt:スケジューリング方針・優先度管理 |
| numactl --hardware | numactl:NUMAポリシー指定 |
| Mount | Mount Namespace:マウントポイントの隔離 |
| PID | PID Namespace:プロセスID空間の隔離 |
| Network | Network Namespace:ネットワークインターフェース・経路などの隔離 |
| UTS | UTS Namespace:ホスト名・ドメイン名の隔離 |
| IPC | IPC Namespace:IPC資源の隔離 |
| User | User Namespace:ユーザー・グループID空間の隔離 |
| Cgroup | Cgroup Namespace:cgroupの表示階層の隔離 |
| Time | Time Namespace:一部のシステム時刻情報の隔離 |
| lsns | Namespace一覧 |
| unshare --user --map-root-user sh | unshare:新しいNamespaceで実行 |
| sudo nsenter -t 1234 -n ip addr | nsenter:既存のNamespaceに参加 |
| systemd-cgls | cgroupの階層表示 |
| systemd-cgtop | cgroupごとのリソース監視 |
| systemd-run --user --scope sleep 10 | systemd-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 -b | OOM Killの疑い:カーネルログ |
| systemctl status nginx | サービスが起動しない:サービス状態 |
| curl -v http://localhost:3000 | APIに接続できない:HTTP接続・レスポンス |
| sudo ss -ltnp | ポートが使えない:待受ポートとプロセス |
| dig example.com | DNS解決が失敗する:DNS応答 |
| namei -l /path/to/file | ファイルにアクセスできない:経路上のアクセス権 |
| type -a node | プログラムの位置が不明:コマンドの解決先 |
| ldd ./program | 実行ファイルの依存関係調査:共有ライブラリの参照先 |
| sudo lsof +L1 | 削除したログの容量が残る:削除済みファイルを開くプロセス |
| bash -x script.sh | シェルスクリプトが動かない:実行経路のトレース |