Как определить размер данных, перемещаемых на/с USB или удаляемых с него с помощью libudev или другой библиотеки Linux?

Кажется, вы создали обычную символическую ссылку и запустили file $DATAPATHбез одинарных кавычек в папке, а не в символической ссылке, что дало бы вам что-то вроде

$ file '$DATAPATH'
$DATAPATH: symbolic link to /path/to/xyz

Вы можете удалить символическую ссылку с помощью

rm -i '$DATAPATH'

, что вам нужно будет подтвердить, нажавyВведите .

1
06.11.2020, 11:43
1 ответ

Я не думаю, что это возможно с UDev. UDev отслеживает только изменения в области суперблока и заголовка устройства, поэтому для изменений файловой системы он может отслеживать только такие события, как изменение метки или некоторые другие изменения атрибутов файловой системы, но не изменения, которые не влияют на заголовок, такие как изменения в файлах.

Вы можете относительно быстро получить информацию о свободном пространстве, используя statfs(вот как работает df)и вы можете соединить это с inotify или fanotify для следите за всеми изменениями в файловой системе. Но я не знаю ни одной библиотеки или системного демона, которые бы уже предоставляли такого рода информацию в одном месте.

1
18.03.2021, 22:51

Теги

Похожие вопросы