В моей системе 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
), чем пытаться настроить его параметры. Итак, что бы я сделал, так это определить псевдоним
alias my_df="df -hT|awk -F% '$1!=p&&$1!~/tmpfs/{print $1 FS;p=$1}'"
и используйте его всякий раз, когда хотите уменьшить производительность. С учетом предоставленных вами данных
$ my_df
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%
Пояснение: Выход df
проходит через awk
который, по указанию -F%
, разбивает каждую строку ввода на две части, $1
быть обработанным и $2
быть отброшенным. Тогда, если $1
отличается от p
(см. ниже) и $1
не совпадает tmpfs
, печатаем с финальным %
. Наконец, мы присваиваем значение $1
к p
так что, если следующая строка такая же, как эта, мы не печатаем ее.
Надеюсь, все ясно.