ladykosha 09.12.2010 15:52
Я рекомендую — Fdupes, и чего мне к нему не хватало
Статью такую давно хотела прочитать, и кажется, уже могу написать. Если что не так, поправляйте.Проблема поиска одинаковых файлов на диске знакома многим. Одним из очевидных решений является использование консольной программы fdupes. Об этом на welinux уже писали тут.
А дальше у меня возникали вопросы. На которые я, кажется, нашла приличные ответы.
Что делать с результатами поиска?
Если обшаривать не особенно обширные пространства, можно запустить fdupes с ключиком -d, и на каждую группу файлов она будет спрашивать, какие оставить. Заметим, варианта "удали всё нафиг, и чтоб глаза мои не видели!" не предусмотрено. Один экземпляр останется, придётся удалять ручками. Если пространства обширные и дублей много - разгребание в таком режиме просто неподъёмно.
Можно попросить fdupes сложить все обретённые сведения в файлик. Тогда с этим файликом надо будет как-то разбираться. И опять возникает потрясающая идея удалять всё ручками. Брр!
А ещё, когда разгребаешь от дублей большие объёмы, практически гарантированно возникают пустые папки, папки пустых папок, папки папок пустых папок, и опять же, разгребать всё это безобразие лучше бы не вручную.
Вопросы задали, переходим к ответам
Ответ номер один - это команда, которая может удалять файлы по выданному ей списку. Собирать из xargs и rm, опции по вкусу :)
Ответ номер два - это команда, которая может находить пустые папки: find _где_искать_ -type d -empty. В принципе, find и удалять сразу может, но я предпочитаю сначала посмотреть, что я удаляю.
Ответ номер два-с-половиной - команда, которая может удалять пустые папки точно так же, по списку. Почти аналогично первому, но xargs и rmdir.
Комментарий к ответам, мне оно было надо. Смысл xargs в том, чтобы передать аргументы команде. Xargs, в отличие от rm и rmdir, соглашается брать инфу и из файла, и из standart input, и умеет собрать команду с этой инфой. И это круто! :)
Как у меня это работает
1. Сначала, разумеется, fdupes -r интересующие_папки > dupes.txt. На выходе получаем файлик, в котором по группам собраны одинаковые файлы.
2. Открыть dupes.txt, и "творить". :) На выходе должен получиться список файлов на удаление и поуменьшившийся dupes.txt. Иногда копировала часть из dupes.txt и удаляла строки с оставляемым, иногда грепала по адресу каталога, иногда... в общем, как было удобно :)
3. Скормить этот список своей любовно собранной команде по мотивам ответа 1.
4. Пока не надоело или пока dupes.txt не опустел, повторять шаги 2-3.
5. Запустить поиск пустых каталогов командой из ответа 2. Посмотреть, что получилось. Удалить ненужные командой по мотивам ответа 3. Повторять, пока ненужные пустые каталоги не кончатся.
6. Забыть всё это как страшный сон до следующего раза :)
А ещё, по слухам, можно не мучиться и поставить FSlint.
В смысле, сохранённых "полностью" html-файлов? У меня как-то получается, что такие одинаковые файлики из папок помаленьку и истребляются fdupes-ом, меня не напрягая. Благо, дизайн сохранять мне незачем. :)
И для библиотеки моей действительно очень полезно бывает. :)
И для библиотеки моей действительно очень полезно бывает. :)
Именно они.
Мне иногда необходимо содержимое папок - там бывают важные для смысла рисунки и проч. графическая инфа. Как только осилю латех, перегоню все это в pdf согласно первоначальному дизайну (да, видимо, я действительно задрот :( ), но это будет, видимо, не скоро.
Мне иногда необходимо содержимое папок - там бывают важные для смысла рисунки и проч. графическая инфа. Как только осилю латех, перегоню все это в pdf согласно первоначальному дизайну (да, видимо, я действительно задрот :( ), но это будет, видимо, не скоро.
Если дизайн волнует, то да, неудобно. Это просто другой тип восприятия. :)
Графическая инфа и мне бывает нужна, но я исхожу из того, что важная инфа обычно не дублируется, повторяются всякие бессмысленные кнопочки, которых не жаль. Как раз простой способ отличить важное от неважного - сохранить несколько файлов с одного сайта и убрать дубли. :)
Графическая инфа и мне бывает нужна, но я исхожу из того, что важная инфа обычно не дублируется, повторяются всякие бессмысленные кнопочки, которых не жаль. Как раз простой способ отличить важное от неважного - сохранить несколько файлов с одного сайта и убрать дубли. :)
Просто хороший дизайн облегчает восприятие =)
Вообще, подумываю над написанием какого-нибудь скрипта, который бы чистил дубли удобным для меня способом по расписанию. Правда, с тем, что мне будет удобно я пока не определился %)
Вообще, подумываю над написанием какого-нибудь скрипта, который бы чистил дубли удобным для меня способом по расписанию. Правда, с тем, что мне будет удобно я пока не определился %)
Тогда я точно знаю, что такое хороший дизайн - это примерно как в книге :) Но столь аскетично выглядящих сайтов - мало. :)
Насколько я помню, лучший способ выяснить, как удобно - сделать вручную столько раз, сколько понадобится, чтоб определиться. Лень поможет. :)))
Насколько я помню, лучший способ выяснить, как удобно - сделать вручную столько раз, сколько понадобится, чтоб определиться. Лень поможет. :)))
Есть Readability - букмарклет, который убирает левый текст и форматирует "примерно как в книге".
классно наверное иметь фалопомойку на финте. мне же карма не позволяет, иначе не скажешь.
около года назад мандрива поставила себя(не без помощи моих кривых рук и уже засыпающих мозгов) на внешний винт, убив все нафиг. примерно неделя ушла на восстановление потерянной инфы.
спустя пару дней, вечерком зашел друг и попросил внешний винт, чтобы сбросить на него уже свою файлопомойку. он решил переставить оффтопик.
а на следующее утро он уже извинялся, тк (не без помощи его кривых рук и уже засыпающих мозгов) винда записала себя на мой винт.
мой истерический смех слышал наверное весь студ-городок.
около года назад мандрива поставила себя(не без помощи моих кривых рук и уже засыпающих мозгов) на внешний винт, убив все нафиг. примерно неделя ушла на восстановление потерянной инфы.
спустя пару дней, вечерком зашел друг и попросил внешний винт, чтобы сбросить на него уже свою файлопомойку. он решил переставить оффтопик.
а на следующее утро он уже извинялся, тк (не без помощи его кривых рук и уже засыпающих мозгов) винда записала себя на мой винт.
мой истерический смех слышал наверное весь студ-городок.
Угу, проблема надёжного хранения инфы - таки проблема. Недавно я думала, что у меня всё ок, но ошибалась. Теперь заново придумываю, как сделать хорошо в моих условиях. :)
Но fdupes полезна и для разгребания бэкапов тоже. :)
Но fdupes полезна и для разгребания бэкапов тоже. :)
Хотя если копаться в текстах, пдф-ах и фотках, тогда действительно удобно.