Используя более современные альтернативы наряду со старыми инструментами командной строки, вы получите больше удовольствия и даже повысите свою производительность.
В нашей повседневной работе с Linux/Unix мы используем множество инструментов командной строки — например, du для мониторинга использования диска и системных ресурсов.
Некоторые из этих инструментов существуют уже давно.
Например, top появился в 1984 году, а первый выпуск du датируется 1971 годом.
С годами эти инструменты модернизировались и портировались на разные системы, но в целом они не далеко ушли от своих первых версий, их внешний вид и удобство использования также не сильно изменились.
Это отличные инструменты, которые нужны многим системным администраторам.
Однако сообщество разработало альтернативные инструменты, предлагающие дополнительные преимущества.
Некоторые из них просто имеют современный красивый интерфейс, а другие значительно повышают удобство использования.
В этом переводе мы поговорим о пяти альтернативах стандартным инструментам командной строки Linux.
1. ncdu против du
Использование диска NCurses ( нкду ) похож на du, но с интерактивным интерфейсом, основанным на библиотеке проклятий.ncdu отображает структуру каталогов, которая занимает большую часть вашего дискового пространства.
ncdu анализирует диск, а затем отображает результаты, отсортированные по наиболее часто используемым каталогам или файлам, например:
Перемещаться по записям можно с помощью клавиш со стрелками.ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help --- /home/rgerardi ------------------------------------------------------------ 96.7 GiB [##########] /libvirt 33.9 GiB [### ] /.
crc 7.0 GiB [ ] /Projects .
4.7 GiB [ ] /Downloads .
3.9 GiB [ ] /.
local 2.5 GiB [ ] /.
minishift 2.4 GiB [ ] /.
vagrant.d .
1.9 GiB [ ] /.
config .
1.8 GiB [ ] /.
cache 1.7 GiB [ ] /Videos 1.1 GiB [ ] /go 692.6 MiB [ ] /Documents .
591.5 MiB [ ] /tmp 139.2 MiB [ ] /.
var 104.4 MiB [ ] /.
oh-my-zsh 82.0 MiB [ ] /scripts 55.8 MiB [ ] /.
mozilla 54.6 MiB [ ] /.
kube 41.8 MiB [ ] /.
vim 31.5 MiB [ ] /.
ansible 31.3 MiB [ ] /.
gem 26.5 MiB [ ] /.
VIM_UNDO_FILES 15.3 MiB [ ] /Personal 2.6 MiB [ ] .
ansible_module_generated 1.4 MiB [ ] /backgrounds 944.0 KiB [ ] /Pictures 644.0 KiB [ ] .
zsh_history 536.0 KiB [ ] /.
ansible_async Total disk usage: 159.4 GiB Apparent size: 280.8 GiB Items: 561540
Если вы нажмете Enter, ncdu отобразит содержимое выбранного каталога: --- /home/rgerardi/libvirt ----------------------------------------------------
/.
91.3 GiB [##########] /images
5.3 GiB [ ] /media
Вы можете использовать этот инструмент, например, чтобы определить, какие файлы занимают больше всего места на диске.
Вы можете перейти в предыдущий каталог, нажав клавишу со стрелкой влево.
С помощью ncdu вы можете удалять файлы, нажав клавишу d. Перед удалением запрашивается подтверждение.
Если вы хотите отключить функцию удаления, чтобы предотвратить случайную потерю ценных файлов, используйте опцию -r, чтобы включить режим доступа только для чтения: ncdu -r.
ncdu доступен для многих платформ и дистрибутивов Linux. Например, вы можете использовать dnf для установки его в Fedora прямо из официальных репозиториев: $ sudo dnf install ncdu
2. хтоп против топа
Хтоп — это интерактивная программа просмотра процессов, похожая на Top, но уже готовая к использованию она обеспечивает приятный пользовательский интерфейс.По умолчанию htop отображает ту же информацию, что и top, но более наглядно и красочно.
По умолчанию htop выглядит так:
В отличие от топа:
Кроме того, htop отображает обзорную информацию о системе вверху, а внизу — панель для запуска команд с помощью функциональных клавиш.
Вы можете настроить его, нажав F2, чтобы открыть экран конфигурации.
В настройках вы можете изменить цвета, добавить или удалить метрики, а также изменить параметры отображения панели обзора.
Хотя вы можете добиться аналогичного удобства использования, изменив настройки последних версий top, htop предоставляет удобные конфигурации по умолчанию, что делает его более практичным и простым в использовании.
3. тлдр против человека
Инструмент командной строки tldr отображает упрощенную справочную информацию о командах, в основном примеры.Он был разработан сообществом проект страниц tldr .
Стоит отметить, что tldr не является заменой человека.
Это по-прежнему канонический и наиболее полный инструмент вывода man-страниц.
Однако в некоторых случаях человек излишен.
Когда вам не нужна исчерпывающая информация о команде, вы просто пытаетесь запомнить ее основные способы использования.
Например, страница руководства команды Curl содержит почти 3000 строк.
Страница tldr для Curl имеет длину 40 строк.
Его фрагмент выглядит так:
$ tldr curl
# curl
Transfers data from or to a server.
Supports most protocols, including HTTP, FTP, and POP3.
More information: < https://curl.haxx.se >.
- Download the contents of an URL to a file: curl http://example.com -o filename - Download a file, saving the output under the filename indicated by the URL: curl -O http://example.com/filename - Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer: curl -O -L -C - http://example.com/filename - Send form-encoded data (POST request of type `application/x-www-form-urlencoded`): curl -d 'name=bob' http://example.com/form - Send a request with an extra header, using a custom HTTP method: curl -H 'X-My-Header: 123' -X PUT http://example.com - Send data in JSON format, specifying the appropriate content-type header: curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234 .
TRUNCATED OUTPUT
TLDR означает «слишком долго; не читал»: то есть некоторый текст был проигнорирован из-за его чрезмерной многословности.
Название подходит для этого инструмента, поскольку справочные страницы, хотя и полезны, иногда могут быть слишком длинными.
Для Fedora tldr был написан на Python. Установить его можно с помощью dnf-менеджера.
Обычно для работы инструмента требуется доступ в Интернет. Но клиент Python в Fedora позволяет загружать и кэшировать эти страницы для автономного доступа.
4.jq против sed/grep
jq — процессор JSON для командной строки.Он похож на sed или grep, но специально разработан для работы с данными JSON. Если вы разработчик или системный администратор, использующий JSON в повседневных задачах, этот инструмент для вас.
Основное преимущество jq перед стандартными инструментами обработки текста, такими как grep и sed, заключается в том, что он понимает структуру данных JSON, что позволяет создавать сложные запросы в одном выражении.
Например, вы пытаетесь найти имена контейнеров в этом файле JSON: {
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"labels": {
"app": "myapp"
},
"name": "myapp",
"namespace": "project1"
},
"spec": {
"containers": [
{
"command": [
"sleep",
"3000"
],
"image": "busybox",
"imagePullPolicy": "IfNotPresent",
"name": "busybox"
},
{
"name": "nginx",
"image": "nginx",
"resources": {},
"imagePullPolicy": "IfNotPresent"
}
],
"restartPolicy": "Never"
}
}
Запустите grep, чтобы найти имя строки: $ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep вернул все строки, содержащие имя слова.
Вы можете добавить еще несколько параметров в grep, чтобы ограничить его, и использовать некоторые манипуляции с регулярными выражениями для поиска имен контейнеров.
Чтобы получить тот же результат с помощью jq, просто напишите: $ jq '.
spec.containers[].
name' k8s-pod.json
"busybox"
"nginx"
Эта команда даст вам имена обоих контейнеров.
Если вы ищете только имя второго контейнера, добавьте в выражение индекс элемента массива: $ jq '.
spec.containers[1].
name' k8s-pod.json
"nginx"
Поскольку jq знает о структуре данных, он дает те же результаты, даже если формат файла немного изменится.
grep и sed в этом случае могут работать неправильно.
jq имеет множество функций, но для их описания нужна отдельная статья.
Для получения более подробной информации, пожалуйста, свяжитесь страница проекта jq или в tldr.
5. ФД против найти
ФД Это упрощенная альтернатива утилите find. Fd не призван его полностью заменить: в нем по умолчанию установлены самые распространенные настройки, определяющие общий подход к работе с файлами.Например, при поиске файлов в каталоге репозитория Git fd автоматически исключает скрытые файлы и подкаталоги, включая каталог .
git, а также игнорирует подстановочные знаки в файле .
gitignore. В целом, это ускоряет поиск, возвращая более релевантные результаты с первой попытки.
По умолчанию fd выполняет поиск в текущем каталоге без учета регистра с цветным выводом.
Тот же поиск с помощью команды find требует ввода дополнительных параметров в командной строке.
Например, чтобы найти все файлы .
md (или .
MD) в текущем каталоге, вы должны написать такую команду поиска: $ find .
-iname "*.
md"
Для ФД это выглядит так: $ fd .
md
Но в некоторых случаях fd требует и дополнительных опций: например, если вы хотите включить скрытые файлы и каталоги, необходимо использовать опцию -H, хотя при поиске это обычно не требуется.
fd доступен для многих дистрибутивов Linux. В Fedora его можно установить следующим образом: $ sudo dnf install fd-find
Вам не нужно ни от чего отказываться
Используете ли вы новые инструменты командной строки Linux? Или вы сидите исключительно на старых? Но скорее всего у вас комбо, да? Пожалуйста, поделитесь своим опытом в комментариях.
В качестве рекламы
Многие наши клиенты уже оценили преимущества эпические серверы ! Этот виртуальные серверы с процессорами AMD EPYC , частота ядра процессора до 3,4 ГГц.
Максимальная конфигурация позволит вам оторваться — 128 ядер ЦП, 512 ГБ ОЗУ, 4000 ГБ NVMe. Спешите сделать заказ!
Теги: #*nix #Системное администрирование #Настройка Linux #sed #bash #top #man #tldr #du #grep #jq #htop #ncdu
-
Flex 3 — Улучшенные Компоненты И Sdk
19 Oct, 24 -
Пресс-Конференция Google В Киеве
19 Oct, 24 -
Мой Рецепт Работы Со Стилями Css В Qt
19 Oct, 24 -
Настольный Клиент Google Wave Для Mac Os X
19 Oct, 24