Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 3

Как получить список смонтированных систем?

01.06.2014, 22:59. Показов 5076. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Требуется получить информацию об одной из смонтированных файловых системах.
Как получить для начала хотя бы список смонтированных систем? Как узнать их свойства, такие как "к какому каталогу она подмонтирована"?

Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.06.2014, 22:59
Ответы с готовыми решениями:

Поиск файла на внешних устройствах или как получить список всех смонтированных носителей
В общем есть задача найти файл test.txt в директории testdir на любом устройстве SD карта или USB устройство. На разных Android...

Получить список смонтированных дисков
Как получить список дисков в системе (то есть d:, c:, k: и т.д.) через коммандную строку? Нужно узнать какая буква принадлежит только что...

Как получить список директорий и список файлов в директории?
Очень нужно организовать поиск на диске. Как искать в нутри файла я знаю, а вот как искать вовсех файлах на диске и в поддиректориях незная

10
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
02.06.2014, 07:13
Bash
1
2
3
4
5
$ mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
0
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 3
02.06.2014, 23:49  [ТС]
Спасибо, забыл как то про консольные команды.

Добавлено через 15 часов 9 минут
На случай, если вдруг кому пригодится.
Решение "в тупую", может и можно было по-элегантней сделать, но работает.
Выводит информацию по первой файловой системе в списке вывода команды df (по сути выводит результат этой команды).

Текст задания:
Напечатать информацию об одной из смонтированных файловых систем:
• К какому каталогу она подмонтирована
• Обьем в блоках и байтах
• Число свободных и занятых блоков
• % заполнения тома

Как решил:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    char cur;
    char buf[1024] = "";
    FILE *pp;
 
    int i = 0;
 
    if ( !(pp = popen("df", "r")) )
    {
        return 1;
    }
 
    for (i; i < 2; i++)
    {
        while ((cur = getc(pp)) != '\n')
        {
            sprintf(buf, "%s%c", buf, cur);
        }
        sprintf(buf, "%s\n", buf);
    }
 
    i = 0;
 
    printf("%s\n", buf);
 
    pclose(pp);
 
    if ( !(pp = popen("df -h", "r")) )
    {
        return 1;
    }
 
    buf[0] = 0;
 
    for (i; i < 2; i++)
    {
        while ((cur = getc(pp)) != '\n')
        {
            sprintf(buf, "%s%c", buf, cur);
        }
        sprintf(buf, "%s\n", buf);
    }
 
    printf("%s", buf);
 
    pclose(pp);
 
    return 0;
}
0
deleted
177 / 50 / 5
Регистрация: 29.03.2013
Сообщений: 365
18.08.2014, 10:55
Гениальное "решение" однако
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
18.08.2014, 11:48
Цитата Сообщение от Arioh002 Посмотреть сообщение
C
1
char buf[1024] = "";
Для "лабы" пойдёт, но как бы небыло переполнения
0
deleted
177 / 50 / 5
Регистрация: 29.03.2013
Сообщений: 365
24.08.2014, 18:46
Я просто оставлю это здесь http://linux.die.net/man/3/getmntent
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
01.09.2014, 18:46
Если файл /etc/fstab присутствует и поддерживается (не какой-нибудь MacOS на букву Х), то всё просто:
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <fstab.h>
 
int main(void) {
    struct fstab * line;
    
    while ( line = getfsent() )
        printf("%s\t%s\t%s\n", line->fs_spec, line->fs_file, line->fs_vfstype);
    
    return 0;
}
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
01.09.2014, 18:51
/etc/mtab
0
deleted
177 / 50 / 5
Регистрация: 29.03.2013
Сообщений: 365
01.09.2014, 22:56
В fstab вообще нет информации о смонтированых фс
В мтаб она может быть только при условии что сий файл есть симлинк на /proc/mounts, в противном случае надеется на актуальность его содержимого нельзя. Системные вызовы mount mount2 и umount его не обновляют, так что любая программа может спокойно примонтировать что-то и забить на мтаб + /etc может оказаться на r/o разделе, тогда и mount(8) его не обновит, есть даже опция для этого --no-mtab
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
01.09.2014, 23:02
Цитата Сообщение от _1_ Посмотреть сообщение
сий файл есть симлинк на /proc/mounts
и не всегда именно на него.
Цитата Сообщение от _1_ Посмотреть сообщение
надеется на актуальность его содержимого нельзя.
В современном мире надеяться вообще ни на что нельзя
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
02.09.2014, 01:08
Цитата Сообщение от easybudda Посмотреть сообщение
Если файл /etc/fstab присутствует
Цитата Сообщение от Vourhey Посмотреть сообщение
/etc/mtab
Ну да, это я "увлёкся"... Но в прочем в МакОси на букву Хэ и его нет...
Цитата Сообщение от _1_ Посмотреть сообщение
симлинк на /proc/mounts
а этой штуки тоже может и не быть...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.09.2014, 01:08
Помогаю со студенческими работами здесь

Как узнать список target систем которые поддерживает компилятор gcc в Linux?
Как узнать список target систем которые поддерживает компилятор gcc в Linux? Что такое target системы? Как компилировать проект с...

Как получить доступ к файлам через сетевую папку (создать файлы в сетевой или просто получить список)?
Как получить доступ к файлам через сетевую папку (создать файлы в сетевой или просто получить список) C++ Через FindFileData пробовал - не...

Просмотр смонтированных разделов в системе
Вопрос конечно новичка, но всё же.... Просмотреть смонтированные разделы можно с помощью команды mount. Но тут камень преткновения в том,...

Список файловых систем
Всем привет, нужна помощь: получить список файловых систем смонтированных на компьютере в данный момент и их параметры. Идей вообще 0.

Как получить список всех запущенных приложений как в диспетчере задач?
Как получить список всех запущенных приложений как в диспетчере задач вкладка Приложения (Не Процессы) Сенкс


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru