Рубрика «grep»
Грепабельность — важная метрика кода
2024-09-03 в 16:28, admin, рубрики: grep, имена переменных, поиск5 современных альтернатив старым инструментам командной строки Linux
2020-06-29 в 10:51, admin, рубрики: bash, grep, htop, jq, man, ncdu, sed, tldr, Блог компании VDSina.ru — хостинг серверов, Настройка Linux, системное администрированиеИспользуя более современные альтернативы наряду со старыми инструментами командной строки, можно получить больше удовольствия и даже повысить производительность труда.
В повседневной работе в Linux / Unix мы используем множество инструментов командной строки — например, du для мониторинга использования диска и системных ресурсов. Некоторые из этих инструментов существуют уже давно. Например, top появился в 1984 году, а первый релиз du датируется 1971 годом.
За прошедшие годы эти инструменты были модернизированы и портированы на разные системы, но в целом далеко не ушли от своих первых версий, их внешний вид и usability также сильно не изменились.
Это отличные инструменты, которые необходимы многим системным администраторам. Однако сообщество разработало альтернативные инструменты, которые предлагают дополнительные преимущества. Некоторые из них просто имеют современный красивый интерфейс, а другие значительно улучшают удобство использования. В этом переводе расскажем о пяти альтернативах стандартным инструментам командной строки Linux.
Читать полностью »
13 инструментов для обработки текста в командной оболочке
2020-03-18 в 13:34, admin, рубрики: awk, cat, cut, fold, grep, head, paste, sed, sort, tail, tr, uniq, wc, Блог компании ITSumma, Настройка Linux, Серверное администрирование, системное администрирование, СофтЗдесь представлен фрагмент будущей книги «Основные инструменты и практики для начинающего разработчика программного обеспечения» Бальтазара Рубероля и Этьена Броду. Книга должна помочь образованию подрастающего поколения разработчиков. Она охватит такие темы, как освоение консоли, настройка и эффективная работа в командной оболочке, управление версиями кода с помощью git
, основы SQL, инструменты вроде Make
, jq
и регулярные выражения, основы сетевого взаимодействия, а также лучшие практики разработки программного обеспечения и совместной работы. В настоящее время авторы упорно работают над этим проектом и приглашают всех поучаствовать в списке рассылки.
Содержание
Нетипичный «ls» — Habr Edition
2019-09-12 в 7:55, admin, рубрики: awk, bash, grep, ls, sed, zsh, ненормальное программирование, Оболочки
Всем привет!
После вчерашнего поста о замене штатного ls другими штатными (или не очень) утилитами, я просто не мог пройти мимо комментов, особенно учитывая то что пост взлетел на вершины хит-парадов и за сутки его прочитало 18k, с хвостиком человек. Хабровчане подарили миру много новых способов избавиться от ls. Я их все (но это не точно) проверил, некоторые «причесал», что бы они соответствовали условиям задачи, и хочу поделиться с вами. Наслаждайтесь!Читать полностью »
Ищем баги в PHP коде без статических анализаторов
2019-08-26 в 14:11, admin, рубрики: Go, golang, grep, open source, php, phpgrep, Разработка веб-сайтов, статический анализ кода, управление разработкойМоя самая любимая часть в статическом анализе кода — это выдвижение гипотез о потенциальных ошибках в коде с последующей их проверкой.
Пример гипотезы:
Функции strpos легко передать аргументы в неправильном порядке.
Но есть вероятность, что даже на нескольких миллионах строк кода подобная диагностика не "выстрелит", поэтому на неудачные гипотезы тратить много времени не хочется.
Сегодня я покажу как выполнять простейший статический анализ с помощью утилиты phpgrep без написания кода.
Под катом:
|
Рождение Software Tools: как и зачем появились GREP и AWK
2017-11-27 в 17:30, admin, рубрики: awk, Brian Kernighan, grep, tools, UNIX, Программирование, системное программирование
Этим летом мне на глаза попалось эссе Брайана Кернигана «Иногда старые способы — лучшие», опубликованное в честь 25-летнего юбилея журнала IEEE Software в 2008 году. В нем профессор Керниган рассказывал о том, какие инструменты он использует в работе.
В тот момент он был занят двумя сложными проектами — один из них подразумевал экспертный анализ проекта на 100 000 строк кода, написанный на C и Assembler в 1990 году, под Windows XP; другой — перенос кода с экзотического языка L1 на не менее экзотический язык L2 при помощи программы, написанной на неназванном скриптовом языке под Linux. Удивительно, но для столь разных задач профессор Керниган вместо IDE использовал один и тот же набор инструментов — grep, diff, sort, awk, wc и прочих «старых знакомых» из эпохи раннего Unix. Более того, многие инструменты и IDE конца прошлого десятилетия он подверг критике за неудобность и несовершенство.
Действительно, к некоторым вещам в своей жизни мы привыкли настолько сильно, что уже воспринимаем их за данность и критиковать их нам даже не приходит в голову — нам кажется, будто они существовали всегда. Подобный образ мышления помогает адаптироваться к потоку новой информации и неизбежен в современном мире, но давайте не будем сегодня отказывать себе в удовольствии «спуститься на уровень ниже», чтобы увидеть, как появилась сама идея программных инструментов (они же далее по тексту — «software tools», утилиты, команды Unix).
Читать полностью »
Grep все, что можно
2016-11-30 в 19:20, admin, рубрики: grep, Linux для всех, Настройка Linux, ОболочкиПро grep
знают если не все, то многие читатели Хабра, однако его многочисленных родственников знают немногие.
Давайте узнаем, как можно грепать все, что таит в себе хоть крупицу текста.
Apple не знает, почему iTunes удаляет файлы пользователей
2016-05-14 в 19:21, admin, рубрики: apple, AppleCare, drm, grep, itunes, mp3, OS X, wav, звук, музыкаНо надеется решить проблему обновлением iTunes
Компания Apple вчера подтвердила, что iTunes действительно удаляет музыкальные файлы с компьютеров «очень малого количества» пользователей, заменяя оригинальную музыку на файлы, защищённые DRM. Компании пока не удалось надёжно воспроизвести баг, но на следующей неделе Apple планирует выпустить обновление для iTunes, которое, предположительно, решит проблему.
Вот что сказал представитель Apple в комментарии изданию iMore:
«В чрезвычайно малом количестве случаев пользователи сообщали, что сохранённые на компьютере музыкальные файлы удалялись без их разрешения. Мы серьёзно относимся к этим сообщениям, потому что знаем, насколько важна музыка для наших пользователей, и наши сотрудники заняты выявлением причины.Читать полностью »
Что там в Git 2.8? Push, grep, rebase, config и прочие штуки
2016-04-07 в 14:35, admin, рубрики: config, Git, git 2.8, grep, pull, push, rebase, метки: git 2.8Вышел новый Git 2.8.0! В течение пары последних недель, когда релиз был в стадии кандидата, я прошёлся по списку коммитов и заметок к нему, пробуя новые вещи и отмечая интересные моменты. Чтобы сохранить ваше время, предлагаю субъективную выборку фич, которые стоит попробовать. Пользуйтесь!
Краткий вариант push -d
, синоним push --delete
Это отличное дополнение как для полноты множества опций, так и для скорости набора команд. Возможно, вы уже используете git branch -d
, чтобы удалять локальную ветку, а теперь можно так же сократить команду удаления remote-ветки до git push -d
.
git branch -d my-branch # удаляет локальную ветку, если она уже слита
git push -d origin my-branch # удаляет remote-ветку в origin-репозитории
Пара полезных команд, которые могут пригодиться при DDoS и не только
2014-09-14 в 19:38, admin, рубрики: ddos-атака, ddos-защита, grep, linux, logtop, информационная безопасность, ит-инфраструктураВ моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:
log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';
Что на выходе дает что-то вроде такой строки:
188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru/» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003
1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop
Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать полностью »