あのぞんブログ

util-linux コマンドの使用頻度ランキングを GitHub で調べてみた

2026-06-30

以前

を出したが、今回は util-linux のコマンドで同じことをやってみた。

util-linux は Linux システムに標準搭載されるユーティリティ群で、ディスク操作からテキスト処理まで約 80 のコマンドを含む。普段 mountkill は使うが、全部のコマンドを知っている人は少ないだろう。

調査方法

GitHub のソースコード検索 API を使い、language:Shelllanguage:Bash の合計ヒット数を集計した。

コード:

注意: ランキングはあくまで GitHub コード検索のヒット数であり、純粋な利用頻度とは異なる。また ul, script, su, cal, rev, col など汎用的な英単語や HTML タグと被るコマンドは、util-linux としての利用以外のヒットが大半を占めるため、機械的に除外した(詳細は後述)。

全体ランキング

dumped at 2026/3/26

codecountcategory
kill579,584misc
mount331,776disk
getopt224,000text
column154,112text
rename150,272misc
logger107,136misc
umount79,488disk
eject61,760misc
mkfs39,616disk
mesg30,848user
chsh29,568user
fdisk27,776disk
swapon26,752disk
lsblk25,920disk
flock24,256system
nologin24,128user
fsck23,424disk
uuidgen21,568text
swapoff20,544disk
dmesg19,904system
lscpu18,816system
hexdump18,304text
mkswap17,792disk
blkid16,384disk
setsid15,072system
losetup14,192disk
blockdev11,840disk
fallocate11,360misc
hwclock11,040system
taskset10,112system
namei9,376text
findmnt8,176disk
renice7,168system
ionice6,624system
unshare6,448system
fstrim5,808misc
sfdisk5,584disk
partx5,472disk
whereis5,408text
nsenter4,832system
wipefs4,352disk
lastb4,336user
chfn4,000user
setarch3,840system
ipcs3,584system
ipcrm2,976system
sulogin2,288user
colrm1,952text
pivot_root1,896system
mcookie1,808text
cfdisk1,616disk
lsns1,016system
lsmem804system
isosize518misc
utmpdump456user
scriptreplay416text
colcrt388text
uuidparse366text
wdctl358misc
lsipc262system
lslogins248user
scriptlive140text

カテゴリ別ランキング

Disk (ディスク操作)

ファイルシステムやブロックデバイスの管理コマンド。

codecount
mount331,776
umount79,488
mkfs39,616
fdisk27,776
swapon26,752
lsblk25,920
fsck23,424
swapoff20,544
mkswap17,792
blkid16,384
losetup14,192
blockdev11,840
findmnt8,176
sfdisk5,584
partx5,472
wipefs4,352
cfdisk1,616

mount / umount が圧倒的だ。Docker や CI スクリプトで頻出するためだろう。lsblk は比較的新しいコマンドだが、fdisk -l の代替として着実に浸透している。

System (システム管理)

プロセス・ハードウェア・名前空間の管理。

codecount
flock24,256
dmesg19,904
lscpu18,816
setsid15,072
hwclock11,040
taskset10,112
renice7,168
ionice6,624
unshare6,448
nsenter4,832
setarch3,840
ipcs3,584
ipcrm2,976
pivot_root1,896
lsns1,016
lsmem804
lsipc262

flock はシェルスクリプトの排他制御でよく使われる。unshare / nsenter はコンテナ技術の普及とともに存在感を増しているコマンドだ。

Text / Terminal (テキスト処理・端末操作)

codecount
getopt224,000
column154,112
uuidgen21,568
hexdump18,304
namei9,376
whereis5,408
colrm1,952
mcookie1,808
scriptreplay416
colcrt388
uuidparse366
scriptlive140

getopt(引数パーサー)と column(表形式整形)が実用的によく使われている。uuidgen も最近は Docker や Terraform 周りで見かける。

User / Login (ユーザー管理)

codecount
mesg30,848
chsh29,568
nologin24,128
lastb4,336
chfn4,000
sulogin2,288
utmpdump456
lslogins248

nologin はサービスアカウント作成時の定番だ。chsh / chfn はユーザー情報の変更に使う。

Misc (その他)

codecount
kill579,584
rename150,272
logger107,136
eject61,760
fallocate11,360
fstrim5,808
isosize518
wdctl358

kill はプロセス管理の基本。logger は syslog への書き込みで、systemd 環境のスクリプトでよく使われる。

除外したコマンドについて

JS の Math.floorObject.keys と違い、シェルコマンド名は汎用的な英単語と被りやすいという問題がある。これらはコード検索のヒット数が util-linux としての利用をほとんど反映しないため、今回は機械的に除外した。

除外したコマンドと主なノイズ要因:

command主なノイズ要因
ulHTML <ul> タグ
scriptHTML <script> タグ
su英単語・中国語の拼音
calcalendar の略語
revrevision の略語
colcolumn の略語
last英語の一般語
look英語の一般語
more英語の一般語
write英語の一般語
wall英語の一般語
loginWeb アプリの変数名

逆に言えば、util-linux 固有のコマンド名lsblk, blkid, findmnt, nsenter など)の方が、実際の利用頻度をより正確に反映していると考えられる。

知らなかったコマンド

個人的に今回初めて知ったコマンドをいくつか紹介する。

  • namei - パスの各要素を順にたどってシンボリックリンクを解決する。デバッグに便利
  • mcookie - 128bit のランダム文字列を生成する。X Window System の認証に使われる
  • colcrt - nroff の出力をフィルタする。下線をダッシュに変換する
  • scriptlive - script で記録したセッションをリアルタイム再生する

まとめ

  • ディスク系: mount が圧倒的。コンテナ時代でも基本は変わらない
  • システム系: flock がトップ。排他制御の需要は根強い
  • テキスト系: 汎用語ノイズを除くと getoptcolumn が本当に便利
  • ユーザー系: nologin がサービスアカウントの定番として定着

前回の JS 版と同様、使用頻度の低いコマンドから読んでいくと、知らなかった便利コマンドに出会えておすすめだ。

コード:


© 2026 あのぞんびより