在我的系统中,df -hT
输出如下内容:
> df -hT
Sist. Arq. Tipo Tam. Usado Disp. Uso% Montado em
devtmpfs devtmpfs 1,9G 8,0K 1,9G 1% /dev
tmpfs tmpfs 1,9G 616K 1,9G 1% /dev/shm
tmpfs tmpfs 1,9G 1,8M 1,9G 1% /run
tmpfs tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup
/dev/sda6 btrfs 80G 22G 58G 27% /
/dev/sda6 btrfs 80G 22G 58G 27% /.snapshots
/dev/sda6 btrfs 80G 22G 58G 27% /var/lib/pgsql
/dev/sda6 btrfs 80G 22G 58G 27% /var/lib/mysql
/dev/sda6 btrfs 80G 22G 58G 27% /var/opt
/dev/sda6 btrfs 80G 22G 58G 27% /var/lib/libvirt/images
/dev/sda6 btrfs 80G 22G 58G 27% /var/lib/mailman
/dev/sda6 btrfs 80G 22G 58G 27% /var/lib/machines
/dev/sda6 btrfs 80G 22G 58G 27% /var/crash
/dev/sda6 btrfs 80G 22G 58G 27% /var/lib/mariadb
/dev/sda6 btrfs 80G 22G 58G 27% /var/lib/named
/dev/sda6 btrfs 80G 22G 58G 27% /boot/grub2/x86_64-efi
/dev/sda6 btrfs 80G 22G 58G 27% /usr/local
/dev/sda6 btrfs 80G 22G 58G 27% /boot/grub2/i386-pc
/dev/sda6 btrfs 80G 22G 58G 27% /var/spool
/dev/sda6 btrfs 80G 22G 58G 27% /opt
/dev/sda6 btrfs 80G 22G 58G 27% /var/cache
/dev/sda6 btrfs 80G 22G 58G 27% /srv
/dev/sda6 btrfs 80G 22G 58G 27% /var/log
/dev/sda6 btrfs 80G 22G 58G 27% /var/tmp
/dev/sda6 btrfs 80G 22G 58G 27% /tmp
/dev/sda8 vfat 340G 313G 27G 93% /mnt/Data
/dev/sda7 xfs 200G 143G 58G 72% /home
tmpfs tmpfs 385M 44K 385M 1% /run/user/1000
/dev/sda3 fuseblk 287G 190G 98G 67% /run/media/jaques/OS
/dev/mmcblk0p1 vfat 7,5G 2,1G 5,4G 28% /run/media/jaques/9843-A435
但我希望每个设备只列出一次,无论它被安装多少次。
我想要一些更简单的东西,比如:
> df -hT
Sist. Arq. Tipo Tam. Usado Disp. Uso%
/dev/sda6 btrfs 80G 22G 58G 27%
/dev/sda8 vfat 340G 313G 27G 93%
/dev/sda7 xfs 200G 143G 58G 72%
/dev/sda3 fuseblk 287G 190G 98G 67%
/dev/mmcblk0p1 vfat 7,5G 2,1G 5,4G 28%
可能吗?如何?
系统信息(如果需要):
OpenSuse Tumbleweed
Kernel 4.10.1
提前致谢。
df
好吧,编辑(例如使用awk
)的输出比尝试调整其选项更容易。所以我要做的是定义一个别名并在您想要减少输出时使用它。使用您提供的输入
解释: 的输出
df
通过管道传输awk
,按照 的指示-F%
,将每个输入行分成两部分,$1
分别处理和$2
丢弃。然后,如果$1
与p
(见下文)不同$1
且不匹配tmpfs
,我们使用 final 打印它%
。最后,我们分配 to 的值,$1
这样p
如果下一行与这一行相同,我们就不会打印它。希望一切都清楚。