Знание Linux для разработчика PHP

algo

To the stars!
Знание Linux для разработчика PHP

А на каком уровне у вас требуется знание Linux ? От PHP-разработчика...
Что требуется знать?
 

_RVK_

Новичок
у нас в принципе знание линукса необходимо на самом базовом уровне. Сервер разработки находится под gentoo, но разработчик обычно монтирует свою директорию разработки по SSHFS или открывает по SFTP. А для поддержки сервера разработки достаточно и одного меня. Продакшн-сервера админят админы (извините за каламбур)

Хотя лично я считаю что знание Linux должно быть хотя бы потому, что если ты человек любознательный то мимо не пройдешь, а если нет то какой же ты программист тогда?
 

Zh0rzh

Новичок
У нас знание *nix - в достоинстве, но не обязательно.

Обычно что бы овладеть консолью, у младших разработчиков уходит 4-8 часов самостоятельного изучения с методичкой, интернетом и пачкой практических задач (cd, ls, mv, cp, find, tar, mysql, mysqldump, chmod, chgrp, chown, vi, потоки, i/o ...)
 

Макс

Старожил PHPClub
man !!! :)
работа с cron
vi (хотя бы чтоб знал как в Insert-режим войти, как сохранить изменения и как выйти без сохранения :))
tail -f
grep
wc -l
ps aux | grep ...
хардлинки/симлинки
kill
sudo
как запустить процесс в фоне
uptime, top
знание того что в bash-е есть auto-complete :)

про остальное уже написали
 

Wicked

Новичок
vi (хотя бы чтоб знал как в Insert-режим войти, как сохранить изменения и как выйти без сохранения :))
вспоминаю, как в первый раз заюзал это чудо :)

мне, как разработчику, еще приходится знать:
консольный svn
ssh (в плане настройки алиасов, портов, сертификатов, и т.д.)
nc -l
rsync
mc

на работе у нас _все_ пхписты сидят на тачках с тем или иным линухом, новичкам никаких поблажек.
 

zerkms

TDD infected
Команда форума
Krishna
т.е. юзера должны покупать себе винду сами? :)
 

Wicked

Новичок
Krishna
ну основной причиной, действительно, было желание быть белыми и пушистыми в плане лицензионного по. ну и так получилось, что это вообще полезно для разработчиков. А про поблажки - даже на лицензионную винду можно наставить дофига ломаного по. Под линухом мотивации куда меньше.
 

crocodile2u

http://vbolshov.org.ru
Не буду говорить о том, что должны знать пхписты. Лучше скажу о том, как бывает, когда они ничего не знают о *nix.

1. на форумах, подобных этому, появляются вопросы о том, что "permission denied" и как с этим бороться;
2. даже если у проекта есть выделенный сервер и полная свобода действий - все, что можно, пишется на PHP, несмотря на то, что есть готовые расширения, которые делают все то же, только лучше (вариант: проект продолжает использовать PHP-4);
3. программист панически боится слова "шелл" и считает тех, кто его употребляет - полубогами, которым доступно высшее знание;
4. появляются папки, которые синхронизируются по крону кривыми скриптами, вместо того, чтобы сделать симлинк. Да, кстати, насчет крона см п. 6;
5. локали. см. п. 3;
6. ха-ха, добрались до крона. Кто еще не видел скриптов, которые срабатывают через вебсервер а-ля крон? Поставь в такой крон задачу на 3 часа ночи - и она выполнится тогда, когда на сайт заглянет первый посетитель после 3-х ночи (если это более-менее "обычный" проект - скорее всего это произойдет не раньше 8-9 утра).

Это я перечислил то, что за пару минут пришло в голову из того, с чем сталкивался лично.
 

Alexandre

PHPПенсионер
после высказанного выше - мне и добавить нечего,
могу повторить что использую я и это требование к среднему программисту:
-основы основ, где что лежит! что можно исправить, куда лезть не стоит,
- основы работы с командной строки & | > < etc
- man!!!!!
- файловые операции cp,mv,rm,mk*, ln,mc
- работа с текстом: vi, head,tail,grep, diff,more в частности анализ логов, как найти в большом (1000M) дампе нужную таблицу и вырезать из нее данные
часто нужно для анализа использовать wc.
- Ось: top,uptime, ps,
- Adm: adduser, pswd, chmod, chown права!!!!! etc
- сеть: sockstat, netstat, tcpdump
- bash, переменные окружения
- ssh , туннелирование, telnet, ftp (иногда тоже нужен)
- svn,
- crontab
- mysql, mysqldump
- bzip2, unzip, tar, unrar, etc
- утилиты: lsof, curl, wget, fetch, patch, xmlwf, xmlint, etc...
- как собрать php, apache, mysql, nginx, модули, наложить патч
из портов, пакетов и исходников, FreeBSD, Linux...
make , automake, configure
пакеты, порты...
- как вообще что-то собрать, например memcached, хотя требование времени ему стоит уделить минимум час времени: как собрать, запустить, проверить не используя РНР клиент, протокол, анализ статистики.
рассказать про Протокол FCGI

возможно что-то упустил, так как редко используетя
как высший пилотаж sed,awk - я практически не использую
но жалею, что мало практики
 

Dovg

Продвинутый новичок
Alexandre
файловые операции
олололо?

А в целом согласен.
еще можно добавить strace в раздел Адм и git туда, где svn

По теме:
у нас требуется знание linux. Для разработчика условие - работать на линуксе (ну или чем-то подобным)
Обусловлено тем, что наши интрументы под винду даже если и заводятся, то с бубном.

Некоторые люди приходили вообще без опыта работы с *nix, но как показывает практика, это очень быстро осваивается.
 

baev

‹°°¬•
Команда форума
Странно, что никто не вспомнил про apropos и which/where/whereis
 

Sherman

Mephi
На собеседовании можно спросить простой вопрос, что такое LA. Допустим у вас LA 5, что это значит?
 

Alexandre

PHPПенсионер
Странно, что никто не вспомнил про apropos и which/where/whereis
и locate / dbupdate в эту же карзину
упустил из виду.
файловые операции
олололо?
Dovg предложи более лучшую формулировку.

Для разработчика условие - работать на линуксе (ну или чем-то подобным)
Обусловлено тем, что наши интрументы под винду даже если и заводятся, то с бубном.
у нас кто хочет работать под виндой - сидит под виндой...
но разработка идет на сервере, по этому предложенный мною перечень это базовые основы для отладке на сервере.
 

Dovg

Продвинутый новичок
Alexandre
я не уверен, что знание о существовании mc как-то характеризует знание *nix как таковое.

У нас его однажды даже собирать не хотели. :)
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Если все сидят на линуксах, то как вы тестируете результат под виндовые браузеры?
 

Zh0rzh

Новичок
Автор оригинала: Sherman
На собеседовании можно спросить простой вопрос, что такое LA. Допустим у вас LA 5, что это значит?
Уже сколько лет работаю с Linux, но все равно не понял этого вопроса. И даже гугл мне не помог.

Что такое LA 5?
 

Gas

может по одной?
Zh0rzh
в top заглядывал?

поддерживаю crocodile2u'а, ещё частые вопросы на форуме как с помощью php конвертировать video, создать online-радио, ограничить количество запросов к серверу и т.д.

p.s. сам не юниксоид, сижу на винде, но почти всё вышеперечисленное в этом треде приходится использовать в работе почти каждый день.
 

zerkms

TDD infected
Команда форума
Zh0rzh
в примитиве это значит, что 4 из 5 процессов простаивают, пока процессор выполняет один.

UPD: а, ёп, ты не понял что LA = Load Average??
 
Сверху