Есть много вещей, которые должны знать все программисты, но меня особенно интересуют команды Unix/Linux, которые мы все должны знать. Для выполнения задач, с которыми мы можем столкнуться в какой-то момент, например рефакторинг, отчетов, сетевых обновлений и т.д.
Причина, по которой мне любопытно, состоит в том, что, ранее работая программным тестером в компании-разработчике программного обеспечения, пока я изучаю свою степень, я заметил, что у всех разработчиков (разработчиков программного обеспечения для Windows) было 2 компьютера.
Слева была их машина для разработки Windows XP, а справа - ящик Linux. Я думаю, это был Ubuntu. В любом случае они сказали мне, что они использовали его, потому что он обеспечивал мощные операции unix, которые Windows не могла выполнить в процессе разработки.
Мне любопытно узнать, как разработчик программного обеспечения, как вы считаете, являются одними из самых мощных сценариев/команд/применений, которые вы можете выполнять в операционной системе Unix/Linux, которые каждый программист должен знать для решения реальных задач которые могут не обязательно относиться к написанию кода?
Мы все знаем, что делать sed, awk и grep. Меня интересуют некоторые фактические фрагменты сценариев Unix/Linux, которые решили для вас трудную проблему, так что другие программисты могут извлечь выгоду. Просьба представить свою историю и источник.
Я уверен, что существует множество подобных примеров, которые люди хранят в своей папке Сценарии.
Обновление: Люди, похоже, неправильно истолковывают вопрос. Я не прошу назвать имена отдельных команд unix, а не код UNIX фрагменты, которые решили проблему для вас.
Лучшие ответы сообщества
Пройдите дерево каталогов и распечатайте пути к любым файлам, которые соответствуют регулярному выражению:
find . -exec grep -l -e 'myregex' {} \; >> outfile.txt
Вызвать редактор по умолчанию (Nano/ViM)
(работает на большинстве Unix-систем, включая Mac OS X) Редактор по умолчанию - это ваш msgstr "переменная окружения РЕДАКТОР. установлен в. т.е.: экспорт EDITOR =/usr/bin/pico, который расположенный в ~/.profile в Mac OS X.
Ctrl+x Ctrl+e
Список всех запущенных сетевых подключений (включая приложение, к которому они принадлежат)
lsof -i -nP
Очистить историю поиска терминала (Еще один из моих избранных)
history -c