Я получаю другой вывод для одного и того же устройства с df
, если я вызываю его без аргументов или с устройством в качестве аргумента. Запуск Ubuntu 14.04.
Без аргументов:
➜ ~ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4046644 4 4046640 1% /dev
tmpfs 811488 2532 808956 1% /run
/dev/sdb1 299337328 39634680 244474080 14% /
/dev/sda1 2884152536 1309806024 1427816876 48% /media/videos
...
С / dev / sdb1
в качестве аргумента я получаю другой результат для того же устройства:
➜ ~ df /dev/sdb1
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4046644 4 4046640 1% /dev
С / dev / sda1
вроде работает:
➜ ~ df /dev/sda1
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 2884152536 1309806024 1427816876 48% /media/videos
/ dev / sdb1
- это место, где установлена ОС.
Почему вывод отличается для / dev / sdb1
, но работает для / dev / sda1
?
Вывод из ls
➜ ~ ls -l /dev/sda1 /dev/sdb1
brw-rw---- 1 root disk 8, 1 tammi 5 21:13 /dev/sda1
brw-rw---- 1 root disk 8, 17 tammi 5 21:13 /dev/sdb1
Вывод из tune2fs
➜ # tune2fs -l /dev/sda1 | grep 'Last mount'
Last mounted on: /media/videos
Last mount time: Tue Jan 5 21:13:15 2016
➜ # tune2fs -l /dev/sdb1 | grep 'Last mount'
Last mounted on: /
Last mount time: Tue Jan 5 21:13:14 2016
➜ ~ last reboot
reboot system boot 3.13.0-62-generi Tue Jan 5 21:13 - 02:04 (1+04:51)
Дополнительная информация о системе:
➜ ~ uname -svpio
Linux #102-Ubuntu SMP Tue Aug 11 14:29:36 UTC 2015 x86_64 x86_64 GNU/Linux
➜ ~ X=$(df | sed -rn 's,^(/[^ ]*) .*,\1,p') ; echo $X
/dev/sdb1
/dev/sda1
➜ ~ df | grep ^/
/dev/sdb1 299337328 39693968 244414792 14% /
/dev/sda1 2884152536 1309897424 1427725476 48% /media/videos
➜ ~ ls -ld /dev/sdb1 ; ls -ld /dev/sda1
brw-rw---- 1 root disk 8, 17 tammi 5 21:13 /dev/sdb1
brw-rw---- 1 root disk 8, 1 tammi 5 21:13 /dev/sda1
➜ ~ df /dev/sdb1 | tail -1; df /dev/sda1 | tail -1
udev 4046644 4 4046640 1% /dev
/dev/sda1 2884152536 1309897424 1427725476 48% /media/videos
➜ ~ df | sed -rn 's,^(/[^ ]*) .*,<\1>,p'
</dev/sdb1>
</dev/sda1>
Используйте для этого точку монтирования вместо файловой системы.
Итак, следуя тому, что у вас здесь:
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4046644 4 4046640 1% /dev
tmpfs 811488 2532 808956 1% /run
/dev/sdb1 299337328 39634680 244474080 14% /
/dev/sda1 2884152536 1309806024 1427816876 48% /media/videos
Если вы хотите правильно запросить / dev / sda1 , вы должны использовать:
df /media/videos
Если вы хотите правильно запросить / dev / sdb1 вы должны использовать:
df /
Я считаю, что происходит то, что когда вы выполняете df / dev / sdb1, он интерпретирует его как df / dev, который является монтированием для udev. Что касается работы df / dev / sda1 - я собираюсь хранить этот файл в корзине «черт возьми, если я знаю». Похоже на ошибку.
Для дальнейшего тестирования - если вы попробуете следующее, вы заметите, что оба варианта завершатся ошибкой:
df tmpfs
df udev