2. О чем доклад?
● Научимся читать bash-код
● Пробежимся по нескольким полезным
консольным утилитам
● Развенчиваем миф, что php уже не торт
● Убедимся, что php в 100500 раз
практичнее bash-а для консольных
приложений
31. Утилиты
$ which top
/usr/bin/top
$ echo < some_file.txt - содержимое файла в
качестве входных данных
$ head -n 5 - первые 5 строк (по умолчанию
10)
$ tail - полностью аналогично
32. Утилиты
$ locate <...> - быстрый поиск файлов
$ updatedb - обновить индекс для locate
$ locate -i - не учитывать регистр
$ grep -i - не учитывать регистр
$ grep -n - показывать номера строк
$ grep -v - все кроме
$ grep -l - только названия файлов
$ !! - выполнится предыдущая команда
33. Утилиты
$ alias - списко алиасов
$ alias ll=’ls -alF’ - пример алиаса
$ host <ip или домен>
34. Утилиты
$ sed 's/str1/str2/g' example.txt - заменить
str1 на str2 в файле example.txt
$ echo a b c | awk '{print $1}' - вывести
первую колонку
$ echo a b c | awk '{print $1,$3}' - оставить
первую и третью колонку
35. Утилиты
$ sort file1 file2 | uniq - отсортировать
содержимое двух файлов без повторов
$ cd - - перейти в предыдущую
директорию
36. Find
$ find . *.txt - найти txt-файлы, начиная
поиск с текущей директории
$ find /path -type d -exec chmod 0755 {} ;
$ find /path -type d | xargs chmod 0755
37.
38.
39. PHP не модно?
Тольковый словарь Даля
МОДА ж. франц. проходящий обычай;
́
временная, изменчивая прихоть в
житейском быту, в обществе
40. Почему PHP?
● Простота, простота и... щас внимание
простота
● Плюс/минус один и тот же performance
● Отсутствие syntactic sugar
компенсируется поддержкой прокаченных
IDE (читай PHP Storm) и библиотеками
● В России Python и Ruby не
промышленные языки.
45. Особенности
● байт-код не кешируется, слишком много
includ-ов не желательно
● В cli-режиме echo по умолчанию
вызывает flush()
● Ошибке лучше выводить в STDERR, т.к.
вывод программы может быть
перенарпавлен куда-то еще и
пользователь не увидит ошибку
● exit(NUM)
● string exec ( string $command [, array
&$output [, int &$return_var ]] )
46. Особенности
● Даже если определить
register_shutdown_function, то Ctrl+Z все
равно не отловится
● Перед fork-ом нужно закрывать все
соединения с БД
47. Почему PHP, а не BASH
● Гораздо ближе к C-образным языкам, а,
значит, понятнее большинству
программистам
● Мощная поддержка IDE
● Сложнее выстрелить себе в ногу. Гораздо
строже относится к ошибкам.
● Может все, что может bash
● Гораздо больше возможностей