На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данных в терминале. Также мы разберемся, чем отличается Terminal от Shell, что такое Pseudoterminal, как работают эмуляторы терминалов и многое другое.
Рубрика «terminal» - 2
Hello, World! Глубокое погружение в Терминалы
2019-07-16 в 15:20, admin, рубрики: C, linux, pseudoterminal, terminal, Разработка под LinuxРаботаем в консоли быстро и эффективно
2018-10-02 в 15:06, admin, рубрики: bash, linux, shell, terminal, zsh, ОболочкиВ сети можно встретить много советов по эффективной работе в консоли. В большинстве таких статей авторы рассказывают про банальности типа "выучите горячие клавиши" или "sudo !!
запустит последнюю команду под sudo". Я же расскажу о том, что делать, когда вы уже выучили горячие клавиши и знаете про sudo !!
.
Использование терминала при разработке под Андроид
2017-08-24 в 18:57, admin, рубрики: androir, java, terminal, разработка мобильных приложений, Разработка под android, Совершенный код
Будучи поклонником терминала, я давно хотел написать об этой теме. Кроме того, знание того, как использовать терминал, значительно ускоряет работу.
Моя цель в этой статье — поделиться с вами тем, как я использую терминал при разработке под Android.
Виртуальные твари и места их обитания: прошлое и настоящее TTY в Linux
2017-06-23 в 6:03, admin, рубрики: linux, neoquest, terminal, tty, Блог компании НеоБИТ, Занимательные задачки, информационная безопасность, Разработка под Linux, метки: ttyUbuntu интегрирована в Windows 10 Redstone, Visual Studio 2017 обзавелась поддержкой разработки под Linux – даже Microsoft сдает позиции в пользу растущего числа сторонников Торвальдса, а ты всё еще не знаешь тайны виртуального терминала в современных дистрибутивах?
Хочешь исправить этот пробел и открываешь исходный код? TTY, MASTER, SLAVE, N_TTY, VT, PTS, PTMX… Нагромождение понятий, виртуальных устройств и беспорядочная магия? Всё это складывается в довольно логичную картину, если вспомнить, с чего всё началось…
Читать полностью »
Jerminal — эмулятор терминала для Java-программ
2017-04-24 в 10:01, admin, рубрики: cli, console, java, java 8, library, terminal, библиотека, консоль, консольная утилитаВступление
Привет, читатели! Решил поведать вам о мини-библиотеке Jerminal. Я сейчас работаю над большим коммерческим проектом на Groovy/Java. Ну и мне пришло задание — написать консольку для приложения. К сожалению, было поставлено условие: никаких сторонних решений, все только свое. Недолго думая, я сел и написал ее. Подробнее — под катом.
slit — новое слово в мире PAGERов, либо как тратить меньше времени на просмотр логов
2017-04-21 в 16:39, admin, рубрики: console, Go, less, logs, open source, slit, terminal, отладкаТак уж вышло, что мне регулярно приходится просматривать много логов.
Одно радует, не так много как у людей работающих вместе со мной у которых порой это основная работа.
Логи эти не лежат в в какой либо централизованной системе, а хранятся в s3 и смотрим мы их скачивая с перенаправлением вывода в less
less установлен у всех, все привыкли с ним работать, знают о базовых вещах, как поиск вперед-назад, фильтрация по &, переход в конец(G) файла, переход в начало(g) и так далее.
А так же, все уже смирились с тем, что в любой момент, при добавлении фильтра less может подвиснуть на неопределенный срок, выводить по строчке в 5 секунд и так далее. В конечном счете, особенно при считывании логов с stdin — приходится быть аккуратным. Фильтр может сработать, а может и не сработать
Собственно, в тот момент, что и мне выпала участь в течении нескольких дней пройтись через этак пару сотен лог-файлов — стало очевидно — мир нужно менять к лучшему…
Для начала небольшое демо (2.2mb):
Тем кто уже готов: github.com/tigrawap/slit
Кто нет, прошу под кат…
Читать полностью »
Консоль в массы. Переход на светлую сторону. Автоматизация рутинных задач
2017-02-20 в 4:29, admin, рубрики: bash, front-end разработка, screen, terminal, tmux, wsd, отладка, Разработка веб-сайтов, системное программирование, Совершенный код
Введение
Машины всегда будут быстрее, независимо от того насколько мы продуктивны и как быстро мы набираем команды. Суровая правда жизни. С другой стороны, если мы выполняем одно и тоже действие множество раз, то почему бы не заставить машины страдать. Написать скрипт на bash
(ваш любимый язык программирования) и каждый раз вызывать этот скрипт, а не набирать монотонные команды, которые забирают так много времени, сил и энергии. А мы, пока скрипт будет выполнять свою работу, можем помечтать о том, как космические корабли бороздят просторы нашей Вселенной.
В прошлой статье мы рассмотрели основы программирования на bash
. Сегодня мы будем применять полученные знания на практике.
Читать полностью »
jl-sql: работаем с JSON-логами в командной строке с помощью SQL
2017-01-18 в 13:10, admin, рубрики: cli, data mining, javascript, json, json logs, node.js, sql, terminal, ПрограммированиеВступление никому не интересно, поэтому начну сразу с примеров использования
% cat log.json
{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "hit", "client": {"ip": "127.2.3.4"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.3.4.5"}}
{"type": "hit", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.1.2.3"}}
{"type": "click", "client": {"ip": "127.2.3.4"}}
Выполняем запрос:
% cat log.json | jl-sql 'SELECT client.ip, COUNT(*) AS count WHERE type = "hit" GROUP BY client.ip'
{"client":{"ip":"127.1.2.3"},"count":2}
{"client":{"ip":"127.2.3.4"},"count":1}
{"client":{"ip":"127.3.4.5"},"count":2}
Консоль в массы. Переход на светлую сторону. Bash
2017-01-16 в 20:44, admin, рубрики: bash, front-end разработка, screen, terminal, tmux, wsd, отладка, Разработка веб-сайтов, системное программирование, Совершенный код
Вступление
Удобство использования того или иного инструмента заключается в том, насколько он помогает в решении конкретной задачи. Также важно, чтобы мы могли настроить этот инструмент под свои нужды. Приятным бонусом будет и тот факт, что мы можем расширить и дополнить новыми возможностями наш инструмент.
Мы добрались до самой интересной и увлекательной темы — это скрипты на bash
. Когда вы запускаете терминал, внутри него работает специальная программа-оболочка — shell
(англ) — интерпретатор команд. Shell понимает все команды, которые вы вводите с клавиатуры, и обрабатывает их. Также выводит сообщения об ошибках, следит за корректностью команд и их синтаксисом. Примером таких команд могут быть: сменить директорию, создать новую директорию, добавить текстовый файл, отредактировать текстовый файл, сохранить изменения и другие.
Читать полностью »
Консоль в массы. Переход на светлую сторону. Часть вторая
2016-12-26 в 9:20, admin, рубрики: bash, front-end разработка, screen, terminal, tmux, wsd, отладка, Разработка веб-сайтов, системное программирование, Совершенный код
Вступление
Довольно долгое время я использовал в своей работе screen. Но со временем он меня перестал устраивать. Я начал искать альтернативы. Такой альтернативой является tmux. На многих порталах его описывают так: «Это тот-же screen, только на стероидах». Сначала я не мог понять почему такое сравнение пока не попробовал. Скажу честно, я на него не с первого раза перешел. Раза три-четыре пробовал, возвращался к screen’у. Но tmux все же победил.
Читать полностью »