2026-06-30
以前
JS の Math 関数や Object 関数の使用頻度ランキング
/2023-06-10___js-math-rankingutil-linux は Linux システムに標準搭載されるユーティリティ群で、ディスク操作からテキスト処理まで約 80 のコマンドを含む。普段 mount や kill は使うが、全部のコマンドを知っている人は少ないだろう。
調査方法
GitHub のソースコード検索 API を使い、language:Shell と language:Bash の合計ヒット数を集計した。
コード:
https://github.com/elzup/HowUsedCodeList
https://github.com/elzup/HowUsedCodeList注意: ランキングはあくまで GitHub コード検索のヒット数であり、純粋な利用頻度とは異なる。また
ul,script,su,cal,rev,colなど汎用的な英単語や HTML タグと被るコマンドは、util-linux としての利用以外のヒットが大半を占めるため、機械的に除外した(詳細は後述)。
全体ランキング
dumped at 2026/3/26
| code | count | category |
|---|---|---|
| kill | 579,584 | misc |
| mount | 331,776 | disk |
| getopt | 224,000 | text |
| column | 154,112 | text |
| rename | 150,272 | misc |
| logger | 107,136 | misc |
| umount | 79,488 | disk |
| eject | 61,760 | misc |
| mkfs | 39,616 | disk |
| mesg | 30,848 | user |
| chsh | 29,568 | user |
| fdisk | 27,776 | disk |
| swapon | 26,752 | disk |
| lsblk | 25,920 | disk |
| flock | 24,256 | system |
| nologin | 24,128 | user |
| fsck | 23,424 | disk |
| uuidgen | 21,568 | text |
| swapoff | 20,544 | disk |
| dmesg | 19,904 | system |
| lscpu | 18,816 | system |
| hexdump | 18,304 | text |
| mkswap | 17,792 | disk |
| blkid | 16,384 | disk |
| setsid | 15,072 | system |
| losetup | 14,192 | disk |
| blockdev | 11,840 | disk |
| fallocate | 11,360 | misc |
| hwclock | 11,040 | system |
| taskset | 10,112 | system |
| namei | 9,376 | text |
| findmnt | 8,176 | disk |
| renice | 7,168 | system |
| ionice | 6,624 | system |
| unshare | 6,448 | system |
| fstrim | 5,808 | misc |
| sfdisk | 5,584 | disk |
| partx | 5,472 | disk |
| whereis | 5,408 | text |
| nsenter | 4,832 | system |
| wipefs | 4,352 | disk |
| lastb | 4,336 | user |
| chfn | 4,000 | user |
| setarch | 3,840 | system |
| ipcs | 3,584 | system |
| ipcrm | 2,976 | system |
| sulogin | 2,288 | user |
| colrm | 1,952 | text |
| pivot_root | 1,896 | system |
| mcookie | 1,808 | text |
| cfdisk | 1,616 | disk |
| lsns | 1,016 | system |
| lsmem | 804 | system |
| isosize | 518 | misc |
| utmpdump | 456 | user |
| scriptreplay | 416 | text |
| colcrt | 388 | text |
| uuidparse | 366 | text |
| wdctl | 358 | misc |
| lsipc | 262 | system |
| lslogins | 248 | user |
| scriptlive | 140 | text |
カテゴリ別ランキング
Disk (ディスク操作)
ファイルシステムやブロックデバイスの管理コマンド。
| code | count |
|---|---|
| mount | 331,776 |
| umount | 79,488 |
| mkfs | 39,616 |
| fdisk | 27,776 |
| swapon | 26,752 |
| lsblk | 25,920 |
| fsck | 23,424 |
| swapoff | 20,544 |
| mkswap | 17,792 |
| blkid | 16,384 |
| losetup | 14,192 |
| blockdev | 11,840 |
| findmnt | 8,176 |
| sfdisk | 5,584 |
| partx | 5,472 |
| wipefs | 4,352 |
| cfdisk | 1,616 |
mount / umount が圧倒的だ。Docker や CI スクリプトで頻出するためだろう。lsblk は比較的新しいコマンドだが、fdisk -l の代替として着実に浸透して いる。
System (システム管理)
プロセス・ハードウェア・名前空間の管理。
| code | count |
|---|---|
| flock | 24,256 |
| dmesg | 19,904 |
| lscpu | 18,816 |
| setsid | 15,072 |
| hwclock | 11,040 |
| taskset | 10,112 |
| renice | 7,168 |
| ionice | 6,624 |
| unshare | 6,448 |
| nsenter | 4,832 |
| setarch | 3,840 |
| ipcs | 3,584 |
| ipcrm | 2,976 |
| pivot_root | 1,896 |
| lsns | 1,016 |
| lsmem | 804 |
| lsipc | 262 |
flock はシェルスクリプトの排他制御でよく使われる。unshare / nsenter はコンテナ技術の普及とともに存在感を増しているコマンドだ。
Text / Terminal (テキスト処理・端末操作)
| code | count |
|---|---|
| getopt | 224,000 |
| column | 154,112 |
| uuidgen | 21,568 |
| hexdump | 18,304 |
| namei | 9,376 |
| whereis | 5,408 |
| colrm | 1,952 |
| mcookie | 1,808 |
| scriptreplay | 416 |
| colcrt | 388 |
| uuidparse | 366 |
| scriptlive | 140 |
getopt(引数パーサー)と column(表形式整形)が実用的によく使われている。uuidgen も最近は Docker や Terraform 周りで見かける。
User / Login (ユーザー管理)
| code | count |
|---|---|
| mesg | 30,848 |
| chsh | 29,568 |
| nologin | 24,128 |
| lastb | 4,336 |
| chfn | 4,000 |
| sulogin | 2,288 |
| utmpdump | 456 |
| lslogins | 248 |
nologin はサービスアカウント作成時の定番だ。chsh / chfn はユーザー情報の変更に使う。
Misc (その他)
| code | count |
|---|---|
| kill | 579,584 |
| rename | 150,272 |
| logger | 107,136 |
| eject | 61,760 |
| fallocate | 11,360 |
| fstrim | 5,808 |
| isosize | 518 |
| wdctl | 358 |
kill はプロセス管理の基本。logger は syslog への書き込みで、systemd 環境のスクリプトでよく使われる。
除外したコマンドについて
JS の Math.floor や Object.keys と違い、シェルコマンド名は汎用的な英単語と被りやすいという問題がある。これらはコード検索のヒット数が util-linux としての利用をほとんど反映しないため、今回は 機械的に除外した。
除外したコマンドと主なノイズ要因:
| command | 主なノイズ要因 |
|---|---|
| ul | HTML <ul> タグ |
| script | HTML <script> タグ |
| su | 英単語・中国語の拼音 |
| cal | calendar の略語 |
| rev | revision の略語 |
| col | column の略語 |
| last | 英語の一般語 |
| look | 英語の一般語 |
| more | 英語の一般語 |
| write | 英語の一般語 |
| wall | 英語の一般語 |
| login | Web アプリの変数名 |
逆に言えば、util-linux 固有のコマンド名(lsblk, blkid, findmnt, nsenter など)の方が、実際の利用頻度をより正確に反映していると考えられる。
知らなかったコマンド
個人的に今回初めて知ったコマンドをいくつか紹介する。
namei- パスの各要素を順にたどってシンボリックリンクを解決する。デバッグに便利mcookie- 128bit のランダム文字列を生成する。X Window System の認証に使われるcolcrt- nroff の出力をフィルタする。下線をダッシュに変換するscriptlive-scriptで記録したセッションをリアルタイム再生する
まとめ
- ディスク系:
mountが圧倒的。コンテナ時代でも基本は変わらない - システム系:
flockがトップ。排他制御の需要は根強い - テキスト系: 汎用語ノイズを除くと
getoptとcolumnが本当に便利 - ユーザー系:
nologinがサービスアカウントの定番として定着
前回の JS 版と同様、使用頻度の低いコマンドから読んでいくと、知らなかった便利コマンドに出会えておすすめだ。
コード:
https://github.com/elzup/HowUsedCodeList
https://github.com/elzup/HowUsedCodeList