Как подсчитать размер папки с учетом ссылок?

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Psycho
Сообщения: 8
Зарегистрирован: Вт июн 22, 2010 01:37

Как подсчитать размер папки с учетом ссылок?

Сообщение Psycho »

Привет.

Как подсчитать размер папки с учетом ссылок (hardlinks)?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Так же, как и папку с обычными файлами, разницы никакой, по пробелу либо Ctrl+L.
GGS
Сообщения: 322
Зарегистрирован: Сб май 02, 2009 13:00

Сообщение GGS »

Flasher
IMHO, Вы неправильно поняли вопрос.
Я полагаю, интересует возможность подсчёта реального размера папки с учётом того, что некоторые файлы являются жёсткими ссылками в пределах этой же папки с её подпапками.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Я не большой специалист по жестким ссылкам, но по-моему, это обычный файл, просто средствами файловой системы связанный с другим файлом. Только что проверил одну из своих директорий с жесикими ссылками - файлы как файлы, с определенным весом. Если бы не спец. средства (и если бы полный склероз - сам их создавал), я бы никогда и не узнал, что это жесткие ссылки. Так что, по-моему, Flasher прав. Если ты еще чего-то хочешь, спрашивай подробнее.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Узнать это можно (если у двух файлов одинаковые идентификаторы — значит, это жёсткие ссылки). Подозреваю, что Psycho хочет узнать суммарный объём реальных данных на диске (т.е. если в каталоге несколько жёстких ссылок, чтобы они учитывались только один раз).

К сожалению, сейчас это практически нереальная задача. Надо посчитать общий размер, потом сделать поиск всех жёстких ссылок, определить, кто из них кого дублирует, и из того суммарного размера вычесть размер "лишних" ссылок. Может быть, и есть сторонние программы, но для Тотала других решений придумать не могу.
Почему же, ё-моё, ты нигде не пишешь "ё"?
GGS
Сообщения: 322
Зарегистрирован: Сб май 02, 2009 13:00

Сообщение GGS »

Вахмурка
Файлы, являющиеся жёсткими ссылками, физически занимают одно и то же место на диске.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

2GGS
Я даже это знаю! :wink: Просто это ВЫГЛЯДИТ, как два разных файла. Тем более что к обсуждаемому вопросу такие тонкости отношения не имеют.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
GGS
Сообщения: 322
Зарегистрирован: Сб май 02, 2009 13:00

Сообщение GGS »

Вахмурка писал(а):Тем более что к обсуждаемому вопросу такие тонкости отношения не имеют.
Я исходил из:
Psycho писал(а):размер папки с учетом ссылок (hardlinks)
Эта "тонкость" является ключевой в вопросе. Иначе о чём эта тема вообще.
Последний раз редактировалось GGS Вт июн 22, 2010 10:28, всего редактировалось 1 раз.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Пожалуй, единственное что могу предложить - это найти все файлы в интересующей папке, вывести на панель, добавить колонку идентификатора файла из плагина NTLinks, отсортировать список по ней, экспортировать в эксель и удалить дубликаты строк.

А вообще, если файл лежит в нескольких папках, вопрос спорный - в какой из папок он занимает это место. :)
Последний раз редактировалось MVV Вт июн 22, 2010 10:32, всего редактировалось 1 раз.
GGS
Сообщения: 322
Зарегистрирован: Сб май 02, 2009 13:00

Сообщение GGS »

MVV писал(а):в какой из папок он занимает это место
GGS писал(а):в пределах этой же папки с её подпапками
Если файлы с идентичным идентификатором находятся и в вышестоящих папках, то они не интересуют.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Эта "тонкость" является ключевой в вопросе. Иначе о чём эта тема вообще
Эта тема о подсчете числа жестких ссылок и об оценке суммарного веса. Я имел в виду, что местоположение (и даже, если я правльно понимаю, количество, если оно не 1) других жестких ссылок на интересующий файл никак положение не меняет
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
GGS
Сообщения: 322
Зарегистрирован: Сб май 02, 2009 13:00

Сообщение GGS »

Вахмурка писал(а):местоположение (и даже, если я правльно понимаю, количество, если оно не 1) других жестких ссылок на интересующий файл никак положение не меняет
Жёсткие ссылки (файлы) c одинаковыми идентификаторами находящиеся внутри интересующей папки с её подпапками при подсчете физически занимаемого размера должны учитываться только один раз. Вне зависимости от того имеются ли подобные файлы за пределами этой папки.

P.S. Задачка для плагинописателей.
Psycho
Сообщения: 8
Зарегистрирован: Вт июн 22, 2010 01:37

Сообщение Psycho »

GGS писал(а): Жёсткие ссылки (файлы) c одинаковыми идентификаторами находящиеся внутри интересующей папки с её подпапками при подсчете физически занимаемого размера должны учитываться только один раз. Вне зависимости от того имеются ли подобные файлы за пределами этой папки.

P.S. Задачка для плагинописателей.
Да именно так.
Объясню что такое жесткая ссылка.
По факту один любой существующий файл - это уже одна жесткая ссылка на содержимое файла. Ссылка ссылается на содержимое файла. Если создать вторую ссылку, то будут 2 равносильные (то бишь никто из не не является главной, обе равноправные) ссылки указывающие на содержимое файла.
Я думал что есть плагин какой нить.
Что ли мне занятся этим, я как раз программист с опытом, правда никогда не писал плагинов для totalcmd, но давно хотел написать какой нибудь полезный плагин для него.
Вот думаю как это должно выглядеть и работать на уровне плагина - пользователя. По идее File System Plugin и ...
Как считаете?
Последний раз редактировалось Psycho Вт июн 22, 2010 13:28, всего редактировалось 2 раза.
Psycho
Сообщения: 8
Зарегистрирован: Вт июн 22, 2010 01:37

Сообщение Psycho »

Для чего мне это понадобилось. Надо измерить реальный размер папки windows\WinSxS на win7. Там очень много жестких ссылок - из за чего размер возвращается больше чем на самом деле.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Psycho писал(а):Надо измерить реальный размер папки windows\WinSxS на win7. Там очень много жестких ссылок - из за чего размер возвращается больше чем на самом деле.
Ну используй мой вариант:
MVV писал(а):Пожалуй, единственное что могу предложить - это найти все файлы в интересующей папке, вывести на панель, добавить колонку идентификатора файла из плагина NTLinks, отсортировать список по ней, экспортировать в эксель и удалить дубликаты строк.
Ответ на твой вопрос он тебе даст.
Ответить