Снайперский прицел (+бонус)

Apr 12, 2019 18:37


Для поиска в интернете. Дикая вещь!! Пригодится всем, кто ищет информацию. Без всякой рекламной херни и гнилых ссылок. Однако, как говорил один мой знакомый: “В Греции все есть. Но только для греков!” Только для Linux-юзеров. И только для DuckDuckGo. Нашел случайно, почитывая LXF за прошлый год. Не помню, в каком из номеров. Где-то за второе полугодие. Так что, ставьте Linux. Рядом с Windows, если она вам еще нужна.

Я ставил из репы своего дистра. Но можно взять и с github.com/jarun/ddgr, если нет в репозиториях. При использовании программы просто пишете в командной строке ddgr и ваш запрос. Через пару секунд - десять ссылок. Это по умолчанию, кому нужно большее, см. man ddgr

Ссылки дает в высшей степени релевантные! Патамуша посылает всю рекламу сюда. Экономит вам много трафика и времени.

Поскольку лучше все показывать на примере, то вот он. Допустим, вам надо найти нечто. Пусть это будет картинка для альбома с музыкой, в которой вы решили навести порядок. Для всех альбомов есть, а для одного нет. Тогда делаем так:



И сразу получаем ссылки:



Последний сайт, “зацени свою музыку”, должен точно иметь обложки, раз уж указывает на винил из каталога. Переходим туда:



Как можно видеть, в последней строке у нас есть приглашение для различных интерактивных команд. Их много, но сейчас интересна одна. Как открыть в браузере ссылку? Вот она как раз и показана: пишем o (open значит) и номер ссылки.

Не забываем, что клавиатура, при вводе команд, должна быть в латинском регистре!

Сразу же открывается браузер на нужной странице:



И тут они со своей дурацкой рекламой! “Пожалуйста подпишитесь”. Щаз! Картинка не открывается. “Ничего”, как говорил Морган, престидижитатор, “мы и с этим справимся!” Так как нам нужна маленькая картинка для показа в патефоне при воспроизведении, просто вырежем кусок с экрана:



Потом его можно обрезать и сделать все остальное, что нужно. А выйти из ddgr в оболочку можно командой q (quit):



Можно для ускорения поиска отключить User Agent ключом --noua. Если использовать ключ --gb - результаты поиска будут открыты в браузере. Ключ --np позволит выйти из программы сразу после поиска.

Если первые результаты не устраивают, можно продолжить поиск (в интерактивном режиме), при помощи команды n (next).

Что еще? Много. Например, давайте найдем вздринчер. Если искать его везде, то мы можем найти черт знает что, так что лучше искать в русской части интернета. Это делается так:



Ключ -r (region) уточняет языковой регион, где вы хотите искать (по умолчанию ‘us-en’). В нашем случае это ru. После этого идет ключевое слово для поиска. Команда n покажет, что вздринчер - довольно редкая вещь на свете:



Оставаясь в программе, можно начать новый поиск, т.е. задействовать новые ключи для поиска. Для примера, поищем вахмутузер:





Можно искать, разумеется, используя не одно ключевое слово, а целый набор, просто отделяя их пробелами. Оказывается, правильно говорить здринчер. Ну и хуй с ним! Что призма, что клизма... В конце концов, это как ответ на дурацкий вопрос: Что будет, если двигаться со скоростью света? Да ничего не будет! Просто сам превратишься в свет.

Посмотрим, как можно ограничить поиск конкретным сайтом. Например, попробуем найти вздринчер и вахмутузер в Википедии. Чтобы искать на определенном сайте, нужно перезапусить ddgr с ключом -w, после которого указать сайт для поиска, и затем, что искать. Выйдем из ddgr и запустим его с нужными параметрами:





Ничего не нашлось... Что за херня, не может такого быть!



Интересно, что мы найдем? Как обычно и бывает с солдатней, никого не соберешь.



В общем, ddgr оказывается довольно сильным инструментом для поиска. Пользуйтесь, пока идиоты не сломали интренет. А они это обязательно сделают. Конечно, музыка будет играть недолго, и фраер танцевать тоже, но некоторое время придется пожить без интернета. И без продуктов. Их ведь тоже заказывают не без помощи интернета. И деньги с карты снимают, и на кассе платят тоже. В общем, время решит, кому жить дальше, а кто уже пожил.

Теперь про бонус. Один знакомый получил облако на холяву, довольно много. Не помню, сколько гигабайт, и где (все равно, холява уже кончилась). Но там есть одно неудобство. Ограничение на размер файлов: 2 Гб. А у него есть большие архивы и какие-то редкие фильмы в хорошем качестве. Я ему подсказал, что делать. Проблемы нет совсем. Файлы можно порезать, а потом грузить. В Windows это как-то делается при помощи Total Commander или еще чего-либо, это уж пусть сами пользователи там решают. В *nix это делается так.

Допустим, у нас есть большой файл, например, архив с музыкой. Мы можем разделить его так:



Команда split разделяет файлы на части. Ключ -a 1 говорит, что суффикс должен состоять из одного символа. По-умолчанию их два, что будет производить файлы с именами: xaa xab xac ... xaz xba ... и т.д. Ключ -b 2000MB означает, что размер частей должен быть не больше 2000 мегабайт. Ключ --numeric-suffixes=1 означает, что части должны нумероваться 1, 2, ... и т.д. Поскольку мы не ожидаем слишком больших размеров разрезаемого файла, то все в порядке.

После ключей идет имя разрезаемого файла. Чтобы пробел стал частью имени, он экранирован обратным слешем. Также он помогает делить слишком длинные строки на части. > добавила сама оболочка, как признак продолжения строки. После имени файла идет имя шаблона для целевого файла. На этом все.

Остальная часть команды уже никакого отношения к split не имеет. Она означает только то, что если split закончится без ошибок, то надо показать размер в мегабайтах всех архивов tar в текущем каталоге. Я использовал ее просто для демонстрации.

У меня большой файл резался минуту с небольшим. После этого получилось:



Файл разделилился на две части. Одна из них 1908 Мб (не больше 2000 Мб) а вторая - остаток. Части получили требуемые номера. Буква s в имени показывает, что это файл резаный. Это не догма, промто мне так было бы удобно.

Наконец, очень полезно получить контрольные суммы (хеши) для этих файлов. Их надо сохранить у себя, в своей базе данных (или в таблице, или просто в текстовом файле), на компьютере. При скачивании, если что-то пойдет не так можно проверить, было ли скачивание сделано без ошибок, или нет. Для этого у скачанных файлов снова делаем контрольные суммы. Само собой разумеется, по тому же самому алгоритму что и в первый раз. Если изменился хоть один бит в файле, то контрольные суммы не будут совпадать.

Что делать с частями? Очень просто. Склеить вместе:



Команда cat (conCATenate) это вторая в паре со split. Конечно, это совсем разные и независимые друг от друга команды, но вместе они работают как маневровый локомотив и бригада сцепщиков на железной дороге. После cat мы пишем файлы, которые надо составить в один. Естественно, что порядок тут важен. Не перепутайте! После перечисления файлов cat должна их куда-то записать. Мы перенаправляем их > в целевой файл на диске с требуемым именем. Иначе эти гигабайты вывалятся прямо на экран в виде мешанины читаемых и нечитаемых символов.

Как и при разрезании, команда займет минуту или чуть больше времени. Чтобы проверить (или лучше показать вам) что это работает, я прошу утилиту архивирования напечатать список файлов в архиве. Этот список идет на конвейер с командой head, которая должна выбрать первые 5 строк из списка архивных файлов, а остальное проигнорировать.

Формат архивов tar дело не слишком хитрое, когда-то они писались на магнитную ленту, о чем говорит их название (Tape ARchive). Они не сжатые. Но вряд ли стоит сжимать архивный файл, если он состоит из уже сжатых файлов. Лучше позаботиться, чтобы в архиве не пропал ни один из битов. Если это образ ISO какой-нибудь игрухи, или большой исполняемый файл, будет досадно. Для этого и создаются хеши разрезанных файлов, чтобы рассеять сомнения при их загрузке из хранилища.

хранение данных, файлы

Previous post Next post
Up