Найти в Дзене
ПрограмМистер

5 консольных приложений, которые облегчают мне жизнь

Оглавление

1. Axel - загрузчик файлов

Axel
Axel

Axel — это консольное приложение для Linux и других Unix-подобных операционных систем, предназначенное для скачивания файлов из Интернета. Оно является альтернативой более известным утилитам, таким как wget и curl, и обладает некоторыми уникальными возможностями, которые делают его удобным для пользователей, желающих оптимизировать процесс загрузки файлов.

Основные особенности Axel:

  1. Многопоточная загрузка: Axel может разбивать файл на несколько частей и загружать их параллельно по нескольким соединениям. Это позволяет значительно ускорить процесс загрузки, особенно на медленных или нестабильных соединениях.
  2. Поддержка HTTP и FTP: Axel поддерживает протоколы HTTP, HTTPS и FTP, что делает его универсальным инструментом для скачивания файлов из различных источников.
  3. Простота использования: Axel имеет простой и интуитивно понятный интерфейс командной строки. Его можно использовать для скачивания файлов всего в несколько команд.
  4. Управление пропускной способностью: Axel позволяет ограничивать скорость загрузки, что может быть полезно, если нужно избежать перегрузки сети.
  5. Поддержка продолжения загрузки: Если загрузка файла была прервана, Axel может продолжить её с того места, где она остановилась, что экономит время и трафик.

Установка Axel

Axel можно установить на большинстве дистрибутивов Linux через пакетные менеджеры. Например:

  • Debian/Ubuntu:

sudo apt install axel

  • Fedora:

sudo dnf install axel

  • Arch Linux:

sudo pacman -S axel

Примеры использования

Простое скачивание файла:

  • axel http://example.com/file.zip

Скачивание файла с несколькими соединениями (по умолчанию используется 4 соединения):

  • axel -n 8 http://example.com/file.zip

Ограничение скорости загрузки:

  • axel -s 100K http://example.com/file.zip

Продолжение прерванной загрузки:

  • axel -a http://example.com/file.zip

Загрузка нескольких файлов одновременно:

axel http://example.com/file1.zip http://example.com/file2.zip

Заключение

Axel — это мощное и простое в использовании консольное приложение для загрузки файлов, которое идеально подходит для пользователей, желающих ускорить процесс скачивания. Благодаря своим возможностям многопоточной загрузки, поддержке различных протоколов и удобному интерфейсу Axel может стать отличной альтернативой традиционным утилитам, таким как wget и curl.

2. Ncdu - анализатор дискового пространства

ncdu
ncdu

Ncdu (NCurses Disk Usage) — это консольное приложение для анализа использования дискового пространства в Unix-подобных операционных системах, таких как Linux и macOS. Оно предоставляет пользователю удобный интерфейс для просмотра и управления местом на диске, позволяя легко находить и удалять ненужные файлы и каталоги.

Основные особенности Ncdu

  1. Интерфейс на основе ncurses: Ncdu использует библиотеку ncurses для создания текстового пользовательского интерфейса, что делает его удобным для работы в терминале. Пользователь может перемещаться по каталогу, просматривать размер файлов и папок и получать статистику о свободном пространстве на диске.
  2. Быстрое сканирование: Ncdu производит быструю оценку использования дискового пространства. Он запоминает результаты, что позволяет ему быстрее выполнять последующие анализы.
  3. Интерактивность: Пользователи могут легко перемещаться по дереву каталогов, просматривать размеры директорий и файлов и, что особенно полезно, удалять ненужные файлы и каталоги прямо из интерфейса.
  4. Поддержка различных файловых систем: Ncdu работает с различными файловыми системами, включая ext4, xfs, btrfs и другие.
  5. Минимальные требования: Ncdu является легковесным приложением и требует минимального объема ресурсов, что делает его идеальным для использования на серверах и системах с ограниченными ресурсами.

Установка Ncdu

Ncdu можно установить на большинстве дистрибутивов Linux через пакетные менеджеры. Примеры установки:

  • Debian/Ubuntu:

sudo apt install ncdu

  • Fedora:

sudo dnf install ncdu

  • Arch Linux:

sudo pacman -S ncdu

  • macOS (через Homebrew):

brew install ncdu

Примеры использования

После установки вы можете запустить Ncdu из командной строки. Вот несколько примеров использования:

Анализ текущего каталога:

  • ncdu
    Эта команда начнет сканирование текущего каталога и подкаталогов.

Анализ указанного каталога:

  • ncdu /path/to/directory
    Меняем /path/to/directory на путь к каталогу, который хотим проанализировать.

Удаление файлов или каталогов:

  • Запустить Ncdu, найти файл или каталог, который хотим удалить, и используем клавишу d для удаления выбранного элемента. Подтверждение действия, и файл будет удален.

Использование SSH: Если хотим использовать Ncdu на удаленном сервере, можем подключиться по SSH и запустить Ncdu:

  • ssh user@remote-server ncdu /path/to/directory

Интерфейс Ncdu

При запуске Ncdu вы увидите текстовый интерфейс, в котором будут показаны размеры каталогов и файлов. Основные элементы управления:

  • Стрелки вверх/вниз: Перемещение по списку файлов и каталогов.
  • Enter: Переход в выбранный каталог.
  • d: Удаление выбранного файла или каталога.
  • q: Выход из программы.

Заключение

Ncdu — это мощный и удобный инструмент для анализа использования дискового пространства в консоли. Его легковесность и интерактивный интерфейс делают его идеальным для системных администраторов и пользователей, желающих эффективно управлять местом на диске. С помощью Ncdu легко можно находить крупные файлы и директории, освобождать место и поддерживать свою файловую систему в порядке.

3. tldr - красивая справка

tldr
tldr

tldr (Too Long; Didn’t Read) — это консольное приложение, предназначенное для упрощения доступа к справочной информации по командам Unix/Linux. Оно предоставляет краткие и понятные примеры команд, что делает его особенно полезным для начинающих пользователей и тех, кто хочет быстро напомнить себе о синтаксисе и параметрах различных команд.

Основные особенности tldr

  1. Упрощенные страницы справки: tldr предлагает упрощенные версии страниц man (manual), которые содержат только наиболее важную информацию и примеры использования команд.
  2. Примеры использования: Вместо длинных и сложных описаний, tldr предоставляет практические примеры, которые помогают быстро понять, как использовать команду.
  3. Поддержка различных платформ: tldr поддерживает команды для различных операционных систем, таких как Linux, macOS и Windows, что делает его универсальным инструментом.
  4. Легкость в установке и использовании: tldr прост в установке и использовании, и его можно настроить под свои нужды.
  5. Кроссплатформенность: tldr работает на большинстве Unix-подобных систем и может быть использован в терминалах, таких как bash, zsh и других.

Установка tldr

tldr можно установить на большинстве дистрибутивов Linux и других операционных систем. Вот несколько способов установки:

  • Debian/Ubuntu:

sudo apt install tldr

  • Fedora:

sudo dnf install tldr

  • Arch Linux:

sudo pacman -S tldr

  • macOS (через Homebrew):

brew install tldr

  • С помощью npm (Node.js):

npm install -g tldr

Примеры использования

После установки вы можете использовать tldr в командной строке. Вот несколько примеров использования:

Получение справки по команде:

  • tldr tar
    Эта команда покажет упрощенную страницу справки для команды tar, включая основные параметры и примеры.

Использование с другими командами:
Можно получить информацию по любой другой команде, например:

  • tldr grep

Обновление базы данных:
Чтобы обновить локальную базу данных tldr, можно использовать:

  • tldr -u

Интерфейс tldr

tldr имеет простой текстовый интерфейс, в котором отображается название команды, ее краткое описание, параметры и примеры использования. Это делает его удобным для быстрого поиска информации.

Заключение

tldr — это полезный инструмент для всех, кто работает с командной строкой. Он помогает быстро находить необходимую информацию по командам, избегая перегруженности и сложности оригинальных страниц man. Благодаря простоте использования и наличию практических примеров, tldr стал популярным среди разработчиков, системных администраторов и всех, кто хочет эффективно работать в терминале.

4. Fzf - интерактивный поиск

fzf
fzf

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

Основные особенности fzf

  1. Интерактивный поиск: Позволяет пользователям быстро фильтровать и выбирать элементы, вводя текст в реальном времени.
  2. Гибкость: Может использоваться в различных контекстах, например, для поиска файлов, истории команд, процессов и даже вывода других утилит.
  3. Поддержка разных оболочек: fzf может быть интегрирован с популярными оболочками, такими как bash, zsh и fish.
  4. Легковесность: fzf — это легкая программа, что делает ее быстрой и удобной в использовании.
  5. Кастомизация: Пользователи могут настраивать внешний вид и поведение fzf под свои нужды.

Установка fzf

Установка fzf может быть выполнена через различные способы. Вот несколько из них:

Установка с помощью пакетного менеджера

  • Debian/Ubuntu:

sudo apt install fzf

  • Fedora:

sudo dnf install fzf

  • Arch Linux:

sudo pacman -S fzf

  • macOS (через Homebrew):

brew install fzf

Установка через git

  • git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf ~/.fzf/install

Скрипт установки предоставляет возможность интегрировать fzf в оболочку и установить некоторые настройки по умолчанию.

Основное использование

После установки fzf можно использовать его для поиска и фильтрации в различных контекстах. Вот несколько примеров:

Поиск файлов в текущем каталоге:

  • ls | fzf

Поиск по истории команд:

  • history | fzf

Поиск процессов:

  • ps aux | fzf

Использование с другими командами:
Например, можно использовать fzf для выбора файла и затем передать этот файл в другую команду:

  • cat $(find . -type f | fzf)

Настройка fzf

fzf можно настроить под свои нужды. Вот несколько советов по кастомизации:

Настройка переменных окружения: можно установить переменные окружения для изменения поведения fzf. Например:

  • export FZF_DEFAULT_OPTS="--height 40% --reverse --inline-info"
    Это установит высоту окна fzf на 40% от высоты терминала, обратный порядок отображения и информацию в строке.

Установка горячих клавиш: можно установить горячие клавиши для быстрого вызова fzf. Например, для zsh добавить следующее в .zshrc:

  • # Использовать fzf для поиска файлов bind -x '"\C-p": fzf-file-widget'

Интеграция с git: для быстрого выбора веток, коммитов и других элементов. Например, добавить следующее в .bashrc или .zshrc:

  • # Выбор ветки git function fzf_git_branch { git branch --all | fzf | sed 's/^..//' }

Использование fzf для поиска в файлах: Если хотим использовать fzf для поиска по содержимому файлов, можно использовать его с rg (ripgrep):

  • rg --files | fzf

Примеры использования fzf в различных сценариях

Поиск и открытие файлов в текстовом редакторе:

  • vim $(find . -type f | fzf)

Запуск команды с выбором файла:

  • xdg-open $(find . -type f | fzf)

Поиск по содержимому файлов:

  • rg -l '' | fzf

Управление процессами:

  • ps aux | fzf | awk '{print $2}' | xargs kill

Заключение

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

5. Repgrep - нечеткий поиск

Repgrep
Repgrep

rg (или repgrep, но чаще используется сокращение rg) — это утилита командной строки, используемая для поиска текста в файлах. Она является аналогом команды grep, но с некоторыми дополнительными функциями и улучшениями.

rg разработан на языке Rust и позиционируется как более быстрый и удобный аналог grep. Вот некоторые из его ключевых особенностей:

  1. Скорость: rg использует параллельный поиск, что делает его значительно быстрее, чем grep, особенно при поиске в больших файлах или директориях.
  2. Улучшенный синтаксис: rg поддерживает расширенный синтаксис поиска, включая поддержку регулярных выражений, отрицания и логических операций.
  3. Цветной вывод: rg выделяет найденные совпадения цветом, что делает его легче читать и анализировать результаты поиска.
  4. Поддержка различных форматов: rg может поискать текст в различных форматах файлов, включая текстовые файлы, файлы с исходным кодом, JSON, XML и другие.
  5. Игнорирование файлов и директорий: rg позволяет игнорировать определенные файлы и директории при поиске, что может быть полезно при работе с большими проектами.

rg доступен для установки на большинстве популярных операционных систем, включая Linux, macOS и Windows.

Для установки rgrep в операционной системе Linux можно использовать менеджер пакетов, соответствующий вашей дистрибутивной системе. Ниже приведены примеры команд для некоторых популярных дистрибутивов:

  • Для Ubuntu/Debian:

sudo apt install rgrep

  • Для Fedora/Red Hat Enterprise Linux:

sudo dnf install rgrep

  • Для Arch Linux:

sudo pacman -S rgrep

После установки rgrep можно начать использовать его для поиска текста в файлах. Вот несколько примеров использования:

Поиск всех вхождений слова "example" во всех файлах в текущем каталоге и его подкаталогах:

  • rgrep "example" .

Поиск всех вхождений регулярного выражения "pattern" в файлах с расширением ".txt" в каталоге "documents":

  • rgrep -e "pattern" documents/*.txt

Поиск всех вхождений слова "keyword" и вывод только имен файлов, в которых оно было найдено:

  • rgrep -l "keyword" .

Поиск всех вхождений слова "error" в файлах с расширением ".log" и вывод соответствующей строки с номером строки:

  • rgrep -n "error" *.log

Поиск всех вхождений слова "warning" в файлах с расширением ".cpp" и вывод только строки, содержащей искомое слово:

  • rgrep -o "warning" *.cpp

Заключение

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