Возвращаемся в наш любимый каталог за некоторыми любопытными находками.

Мы снова копаемся в глубинах /usr/bin в поисках скрытых драгоценных камней. Поиск интересных программ, спрятанных в океане вариантов, ожидающих, чтобы их стряхнули и опробовали. Это множество увлекательных утилит для Linux кажется бесконечным.

В этом выпуске «эй, это выглядит классно!» мы смотрим на некоторых настоящих чудаков, чье использование больше ошибается в сторону новизны, а не функциональности. Эти утилиты могут быть менее известными и потенциально устаревшими, но они по-прежнему имеют интересное применение и, как правило, рассказывают нам об истории самого Linux.

Давайте взглянем.

1. уйти

Нет, подожди, не уходи! Я обещаю, что это круто.

На самом деле программа leave была создана как способ уведомить пользователя терминала, когда ему следует уйти на встречу или сделать перерыв.

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

leave 1050

Это уведомит вас в 10:50 утра или вечера, в зависимости от того, что выпадает на следующие 12 часов.

Или вы можете ввести время как количество часов и минут от текущего времени, добавив префикс +:

leave +0010

Это уведомит вас о том, что вы должны уйти в течение следующих десяти минут.

Эта утилита явно устарела и была заменена множеством новых систем уведомлений, особенно тех, которые живут на наших мобильных телефонах. Но это так жестоко просто и хорошо делает только одну чрезвычайно ограниченную вещь. Это элегантный пример несложной программы в сегодняшнем чрезвычайно сложном мире.

В следующий раз, когда вы захотите напомнить себе сделать небольшой перерыв, попробуйте использовать leave.

2. лам

Это не ошибка в слове «барашек». Это утилита lam, сокращение от «ламинат». Эта программа возьмет два файла и «ламинирует» содержимое вместе в консоли. Это как причудливая версия cat.

Допустим, у нас есть два файла:

# file01
line 1
line 2
line 3
# file02
line 4
line 5
line 6

Теперь давайте заламинируем этих плохих парней:

> lam file01 file02
line 1line 4
line 2line 5
line 3line 6

Простой. Теперь они «ламинируются» вместе на одной линии.

Поначалу это может показаться совершенно бесполезным, и да, вы можете сделать что-то подобное примерно с сотней других утилит, но lam, вероятно, самый лаконичный способ сделать это. Он специально создан для этой конкретной задачи.

С другими утилитами, такими как awk, вы будете объединять ряд команд для достижения того же результата. С lam вы получите именно то, что ожидаете. Ламинирование.

3. спрей

Не волнуйтесь, на самом деле никакой жидкости нет. Утилита spray только распыляет сетевые пакеты.

Эта маленькая озорная программа буквально распыляет хост тоннами пакетов. Вы можете указать определенное количество пакетов, размер и задержку между каждым из них.

Это полезно для таких вещей, как тестирование нагрузки сети или хоста, особенно если вы хотите увидеть, как обрабатываются внезапные всплески трафика.

Вы можете протестировать спрей, введя следующую команду (от root), но будьте осторожны! Эта программа может повлиять на производительность хоста и сети:

spray <host_ip>

Утилита spray также записывает количество отправленных/полученных пакетов. Ознакомьтесь с Руководством для более подробной информации.

4. cu

Утилита cu или «вызов» — интересный пережиток коммутируемой эры вычислений. Эта программа позволяет вам буквально дозвониться до другой машины Unix и выполнять на ней операции. Вы также можете выполнять эти операции через локальные порты, такие как последовательный порт.

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

К сожалению, как лаконично отмечено на странице руководства, эта программа больше не поддерживается и «работает не очень хорошо».

5. жучок

Утилита bashbug является примером программы, созданной исключительно для удобства. Эта программа поможет вам составить подробный отчет об ошибках Bash. Отчет поставляется предварительно отформатированным и автоматически открывается в предпочитаемом вами текстовом редакторе по умолчанию.

Утилита bashbug избавляет от догадок и отклонений от подачи отчета об ошибке. Авторы, очевидно, хотели большей согласованности в том, как создаются отчеты, но без дополнительных трений для пользователя при подаче отчета. Создание bashbug снизило барьер для подачи чистого, упорядоченного отчета об ошибке в соответствии с рекомендациями сопровождающего.

Конечно, авторы могли бы просто опубликовать шаблон для использования кем угодно, но они пошли еще дальше и создали для него специальную утилиту.

Если вы столкнулись с тем, что вы считаете допустимой ошибкой в ​​Bash, смело отправляйте отчет, используя bashbug. Просто выполните bashbug, и вы попадете в редактор по умолчанию с готовым отчетом, ожидающим заполнения.

6. догадаться

Внимательные читатели могли уже догадаться, что делает эта утилита. Программа encguess пытается угадать кодировку текстового файла. Опять же, поначалу это может показаться довольно тривиальным, но это может оказаться находкой при попытке разобрать иностранные текстовые файлы.

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

С помощью программы encguess можно быстро попробовать определить кодировку. Допустим, у нас есть простой текстовый файл со следующим текстом:

# test.txt
this is a test

Если вы запустите encguess text.txt, вы получите следующий вывод:

test.txt US-ASCII

Ясно, что это очень простой пример. Конечно, он может распознавать стандартные символы ASCII. Как насчет файла, наполненного смайликами?

😀😀😀

Выполнение encguess для этого файла приводит к ожидаемому формату:

emoji_test.txt UTF-8

Эта утилита довольно точна и может быть чрезвычайно полезна при попытке расшифровать иностранные стили кодирования. Если у вас есть представление о том, какие типы ожидать, вы также можете указать «подозрительные» типы кодирования, передав флаг -s при запуске encguess.

Спасибо за чтение! Если вы пропустили предыдущие выпуски этой серии, найдите время, чтобы ознакомиться с ними: