1. Axel - загрузчик файлов
Axel — это консольное приложение для Linux и других Unix-подобных операционных систем, предназначенное для скачивания файлов из Интернета. Оно является альтернативой более известным утилитам, таким как wget и curl, и обладает некоторыми уникальными возможностями, которые делают его удобным для пользователей, желающих оптимизировать процесс загрузки файлов.
Основные особенности Axel:
- Многопоточная загрузка: Axel может разбивать файл на несколько частей и загружать их параллельно по нескольким соединениям. Это позволяет значительно ускорить процесс загрузки, особенно на медленных или нестабильных соединениях.
- Поддержка HTTP и FTP: Axel поддерживает протоколы HTTP, HTTPS и FTP, что делает его универсальным инструментом для скачивания файлов из различных источников.
- Простота использования: Axel имеет простой и интуитивно понятный интерфейс командной строки. Его можно использовать для скачивания файлов всего в несколько команд.
- Управление пропускной способностью: Axel позволяет ограничивать скорость загрузки, что может быть полезно, если нужно избежать перегрузки сети.
- Поддержка продолжения загрузки: Если загрузка файла была прервана, 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 (NCurses Disk Usage) — это консольное приложение для анализа использования дискового пространства в Unix-подобных операционных системах, таких как Linux и macOS. Оно предоставляет пользователю удобный интерфейс для просмотра и управления местом на диске, позволяя легко находить и удалять ненужные файлы и каталоги.
Основные особенности Ncdu
- Интерфейс на основе ncurses: Ncdu использует библиотеку ncurses для создания текстового пользовательского интерфейса, что делает его удобным для работы в терминале. Пользователь может перемещаться по каталогу, просматривать размер файлов и папок и получать статистику о свободном пространстве на диске.
- Быстрое сканирование: Ncdu производит быструю оценку использования дискового пространства. Он запоминает результаты, что позволяет ему быстрее выполнять последующие анализы.
- Интерактивность: Пользователи могут легко перемещаться по дереву каталогов, просматривать размеры директорий и файлов и, что особенно полезно, удалять ненужные файлы и каталоги прямо из интерфейса.
- Поддержка различных файловых систем: Ncdu работает с различными файловыми системами, включая ext4, xfs, btrfs и другие.
- Минимальные требования: 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 (Too Long; Didn’t Read) — это консольное приложение, предназначенное для упрощения доступа к справочной информации по командам Unix/Linux. Оно предоставляет краткие и понятные примеры команд, что делает его особенно полезным для начинающих пользователей и тех, кто хочет быстро напомнить себе о синтаксисе и параметрах различных команд.
Основные особенности tldr
- Упрощенные страницы справки: tldr предлагает упрощенные версии страниц man (manual), которые содержат только наиболее важную информацию и примеры использования команд.
- Примеры использования: Вместо длинных и сложных описаний, tldr предоставляет практические примеры, которые помогают быстро понять, как использовать команду.
- Поддержка различных платформ: tldr поддерживает команды для различных операционных систем, таких как Linux, macOS и Windows, что делает его универсальным инструментом.
- Легкость в установке и использовании: tldr прост в установке и использовании, и его можно настроить под свои нужды.
- Кроссплатформенность: 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 может быть интегрирован с популярными оболочками, такими как bash, zsh и fish.
- Легковесность: fzf — это легкая программа, что делает ее быстрой и удобной в использовании.
- Кастомизация: Пользователи могут настраивать внешний вид и поведение 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 - нечеткий поиск
rg (или repgrep, но чаще используется сокращение rg) — это утилита командной строки, используемая для поиска текста в файлах. Она является аналогом команды grep, но с некоторыми дополнительными функциями и улучшениями.
rg разработан на языке Rust и позиционируется как более быстрый и удобный аналог grep. Вот некоторые из его ключевых особенностей:
- Скорость: rg использует параллельный поиск, что делает его значительно быстрее, чем grep, особенно при поиске в больших файлах или директориях.
- Улучшенный синтаксис: rg поддерживает расширенный синтаксис поиска, включая поддержку регулярных выражений, отрицания и логических операций.
- Цветной вывод: rg выделяет найденные совпадения цветом, что делает его легче читать и анализировать результаты поиска.
- Поддержка различных форматов: rg может поискать текст в различных форматах файлов, включая текстовые файлы, файлы с исходным кодом, JSON, XML и другие.
- Игнорирование файлов и директорий: 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 в терминале.