Где я могу освоить наиболее полезные команды Linux для программистов? [закрыто]

14

Сила объединения xargs, cut, tail, grep, seq поражает меня. На каком ресурсе я должен найти учебник по наиболее полезным командам linux для программистов?

Меня интересуют только те, которые программисты используют чаще всего, это облегчит мою жизнь.

Вонк Вонк
источник
Добро пожаловать в Stack Exchange. Мы обнаружили, что запрос списка ресурсов редко работает в формате наших вопросов и ответов . Пожалуйста, прочитайте реальные вопросы есть ответы . Я предлагаю просмотреть сайт (особенно вопросы в информации о тегах для shell , обработки текста , sed и т. Д.)
Жиль "ТАК, перестань быть злым",

Ответы:

12

Лучшее, что вы можете сделать, чтобы узнать это, это найти проблемы и решить их. Пролистайте этот сайт, посмотрите все "Как мне сделать X в awk / sed / grep / etc." и попробуйте сами, прежде чем смотреть на ответы. Посмотрите, застряли ли вы или посмотрите, как это сделали другие, когда вы найдете способ. Если вы обнаружите, что делаете что-то повторяющееся в терминале, остановитесь и подумайте о том, как вы могли бы использовать одну или несколько утилит, чтобы сделать это проще. Если вы не можете найти способ сделать это, напишите здесь, и мы поможем вам.

Kevin
источник
Sidenote: seq, headи tail( по крайней мере , наиболее часто используемые части) являются довольно тривиальным. Я предлагаю вам начать с поиска, grepчтобы освоить половину регулярных выражений и sed(параллельно, но немного отстает grep) получить половину замены (за исключением более сложных sedкоманд на потом), awkпотому что это довольно мощный инструмент. Тогда find, тогда xargs.
Кевин
9

Среда программирования Unix от Kernighan и Pike - классика по этой теме. Он древний, но все еще в печати, который должен вам кое-что рассказать.

Искусство программирования UNIX от esr намного новее. Я нашел это интересным и полезным, но с большей «защитой», чем я чувствовал, было необходимо. (Евфемизм для «вспенивающихся пристрастий».) Будьте готовы взять его сравнения с другими ОС с крошкой соли, насколько я помню, обнаружив устаревший [1] материал, даже когда книга была новой, и у конкурентов * ix почти десятилетие прогресс с того времени.

[1] В основном я вспоминаю о слабых сторонах не * ix ОС, которые были устранены до публикации книги. То же самое можно найти в любительских аргументах Windows против Mac против Linux по всей сети.

Уоррен Янг
источник
5

Следуйте плану на один день. Начните с перечисления всего в /sbin. Затем принимайте одну команду в день, печатайте man commandи узнайте, что она делает. Основные основные команды все в /sbin. После этого приступайте к работе, /binа когда это закончится, переходите к работе /usr/sbinи /usr/bin. Вы можете сократить свой список команд, пропустив любую из более чем 5 букв в имени команды, и вы не пропустите много важных вещей.

Но важно то, что вы узнаете что-то новое каждый день, и, вероятно, до того, как вы пройдете половину пути, вы поймете так много основ, что вы сможете легко подобрать полдюжины новых команд в день.

Но вы должны использовать их, каждый из них, даже если это только возиться и делать упражнения с ними.

Майкл Диллон
источник
2
Это хорошая идея. Изучайте команды одну за другой. Проверьте, что они делают, и освоите их.
Камил
Я не могу согласиться с тем, чтобы начать /sbin, учитывая "для программистов" в названии вопроса. На многих системах /sbinи /usr/sbinпо умолчанию PATHтолько для root. Я думаю, что вы, возможно, правы, рассматривая их как «основные» команды в том смысле, что они являются ключевыми частями ОС, но они не инструменты, которые вы используете в программировании, а скорее системное администрирование.
Уоррен Янг
3

Один из способов - начать читать блоги, которые специализируются на Unix / Linux.

Этот блог thegeekstuff, в который я иногда пишу, является хорошим местом для начала ... Некоторые важные статьи, которые могут вас заинтересовать:

Там, где есть серия учебных пособий sedи awk надеюсь, что это полезно для вас ...

user379997
источник
3
50 команд - идеальный ответ на этот вопрос! Пройдите через это, изучите примеры каждой команды и, если это интересно, перейдите по ссылке (обычно предоставляется) для дальнейших примеров. Эта ссылка хранитель!
Билл К
2

Для Bash я хотел бы проверить tldp.org/LDP/abs/html/

Иман
источник
2
Печально известное руководство "Advanced Bash Scripting" научит вас писать ошибки, а не сценарии. В то время как письменные намерения были благородными, количество ошибок и дезинформация слишком велики, чтобы рекомендовать их. mywiki.wooledge.org/BashGuide - руководство намного лучше.
Крис Даун
Спасибо @Chris, я думал, что материал вступления был хорошим началом.
Иман
1

У программистов есть уникальная возможность освоить Linux. При каждом удобном случае вместо написания программы для выполнения задачи напишите сценарий оболочки для этого.

У меня действительно есть постоянная личная задача написать все на Bash, прежде чем я напишу программу - вы будете удивлены и встревожены.

Что касается рекомендации для книги, это может показаться глупым, но Linux Pocket Guide занимает почетное место на моей книжной полке. Он компактен и содержит множество полезных программ для Linux. Просматривать это легко и это отличная ссылка.

kwarrick
источник
0
info coreutils

дает вам большой список полезных команд, сгруппированных по контексту.

Вы можете взять это как руководство и изучать одну команду в день, и, конечно, как хранилище для поиска.

Пользователь неизвестен
источник
0

Я бы добавил Linux® Command Line и Shell Scripting Bible от Ричарда Блума . Это легко понять, практично и полно множества полезных примеров.

newnix
источник