Russian Qt Forum

Qt => Общие вопросы => Тема начата: semantic от Январь 12, 2012, 12:41



Название: список примонтированных дисков
Отправлено: semantic от Январь 12, 2012, 12:41
Каким образом моно получить список примонтированных дисков в linux? начиная от корневой файловой системы до usb накопителей.


Название: Re: список примонтированных дисков
Отправлено: Пантер от Январь 12, 2012, 12:44
man mount


Название: Re: список примонтированных дисков
Отправлено: semantic от Январь 12, 2012, 12:47
man mount
это знаем!!! а qt предоставляет ли какие нибудь методы?мне программно нужно получить!
p.s форум же о qt, а не о linux!


Название: Re: список примонтированных дисков
Отправлено: Bepec от Январь 12, 2012, 12:48
QProcess не подойдёт? И в нём выполнить man mount.

PS чистая теория. Линукса ненаю =(


Название: Re: список примонтированных дисков
Отправлено: kambala от Январь 12, 2012, 12:59
а если просто считать содержимое /Volumes ? или это только в мак ос так можно?


Название: Re: список примонтированных дисков
Отправлено: semantic от Январь 12, 2012, 13:02
QProcess не подойдёт? И в нём выполнить man mount.

PS чистая теория. Линукса ненаю =(

выполнить то могу, но как получу список дисков от этой команды.


Название: Re: список примонтированных дисков
Отправлено: semantic от Январь 12, 2012, 13:04
а если просто считать содержимое /Volumes ? или это только в мак ос так можно?
про такое и не слышал


Название: Re: список примонтированных дисков
Отправлено: mutineer от Январь 12, 2012, 13:07
выполнить то могу, но как получу список дисков от этой команды.

Как получить список дисков почитаешь в мане по команде. Потом от QProcess получишь ее вывод и распарсишь. Например так


Название: Re: список примонтированных дисков
Отправлено: semantic от Январь 12, 2012, 13:10
Как получить список дисков почитаешь в мане по команде. Потом от QProcess получишь ее вывод и распарсишь. Например так

это вариант, работает, но вот да, придется парсить, а это довольно не интересно
вот вывод

Цитировать
Unlock Output:
 "devtmpfs on /dev type devtmpfs (rw,relatime,size=1020056k,nr_inodes=255014,mode=755)
tmpfs on /dev/shm type tmpfs (rw,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
/dev/sda7 on / type ext4 (rw,relatime,user_xattr,acl,barrier=1,data=ordered)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sda2 on /windows/C type fuseblk (rw,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)
/dev/sda5 on /windows/D type fuseblk (rw,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)
tmpfs on /var/lock type tmpfs (rw,nosuid,nodev,relatime,mode=755)
tmpfs on /var/run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
tmpfs on /media type tmpfs (rw,nosuid,nodev,relatime,mode=755)
gvfs-fuse-daemon on /home/cepheus/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,relatime,user_id=1000,group_id=100)

из которых мне нужно такого вида
/windows/D
/windows/C
и т.д.

стандартной реализации так понимаю нет


Название: Re: список примонтированных дисков
Отправлено: kambala от Январь 12, 2012, 13:14
mount -blah -blah -blah | grep /windows/*


Название: Re: список примонтированных дисков
Отправлено: semantic от Январь 12, 2012, 13:15
man mount | grep /windows/*

так они могут то быть и не в windows смонтированны



Название: Re: список примонтированных дисков
Отправлено: GreatSnake от Январь 12, 2012, 13:17
Посмотри df. Там вывод по-проще и только о дисках.


Название: Re: список примонтированных дисков
Отправлено: Пантер от Январь 12, 2012, 13:17
1. Получаешь вывод mount
2. Находишь строки вида /dev/?d*
3. Парсишь эти строки.


Название: Re: список примонтированных дисков
Отправлено: semantic от Январь 12, 2012, 13:19
буду таким вариантом пользоваться, надеялся, что есть что-то стандартное, ведь может оказаться, что этой команды может и не быть у пользователя


Название: Re: список примонтированных дисков
Отправлено: GreatSnake от Январь 12, 2012, 13:23
буду таким вариантом пользоваться, надеялся, что есть что-то стандартное, ведь может оказаться, что этой команды может и не быть у пользователя
А я бы на твоём месте mount-ом не пользовался, т.к. он может хорошенько подвиснуть в случае недоступности сетевых дисков.
Имхо, df для тебя самое то. Только не забудь запустить его в C локали.


Название: Re: список примонтированных дисков
Отправлено: semantic от Январь 12, 2012, 13:28
GreatSnake я им и буду пользоваться.тока вот df на всех версиях ли linux присутствует, а то тоже нарваться можно на неприятность


Название: Re: список примонтированных дисков
Отправлено: Пантер от Январь 12, 2012, 13:29
ведь может оказаться, что этой команды может и не быть у пользователя
Не может.

Авварон (http://www.prog.org.ru/index.php?action=profile;u=6585) делал у себя такую вешь - спроси у него в личке.


Название: Re: список примонтированных дисков
Отправлено: semantic от Январь 12, 2012, 13:34
ок, спасибо за помощь.


Название: Re: список примонтированных дисков
Отправлено: GreatSnake от Январь 12, 2012, 13:54
GreatSnake я им и буду пользоваться.тока вот df на всех версиях ли linux присутствует, а то тоже нарваться можно на неприятность
df обязан быть на всех POSIX-совместимых ОС.


Название: Re: список примонтированных дисков
Отправлено: andrew.k от Январь 12, 2012, 18:25
Читай файл /proc/self/mounts
Получишь тот же вывод, что и при вызове mount, только быстрее.
Еще /proc/partitions может пригодиться.


Название: Re: список примонтированных дисков
Отправлено: Авварон от Январь 12, 2012, 20:45
https://gitorious.org/qdrive