小ネタ: dfとlsblkの結果からloopback deviceを除外する

Ubuntuでsnapを使っていると df(1)lsblk(1) の結果に loop が沢山表示されて見づらいです。 これのコマンドの実行結果からloopback deviceを除外する方法を以下にまとめます。

手順メモ

dfの場合

  • -x オプションでFilesystem Typeを渡すことで、outputをfilterできる
# loop(squshfs)とtmpfsを除外
$ df -x squashfs -x tmpfs
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             5977180        0   5977180   0% /dev
/dev/sda3      474749992 81447660 369116684  19% /
/dev/sda1         967320   178332    722636  20% /boot
/dev/sdb1         262144    50520    211624  20% /boot/efi

.bashrc への追加例

# dfからtmpfsを除外
alias df='df -x squashfs -x tmpfs'

参考:How to clean up snap and loop devices from df output in Ubuntu 18.04 and 20.04

lsblkの場合

  • -e or --exclude オプションにblock device番号を渡すことで、そのBlock Deviceを実行結果から除外することができる
# loopback deviceは7番
$ sudo cat /proc/devices | grep "Block" -A 1
Block devices:
  7 loop

# lsblkの実行結果らかloopを除外
$ lsblk -e 7
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   976M  0 part /boot
├─sda2   8:2    0   3.8G  0 part [SWAP]
└─sda3   8:3    0   461G  0 part /

参考:Exclude loop* snap devices from lsblk output?

/* https://sunrise033.com/entry/hatena-blog-how-to-hierarchicalize-categories */