Де я опановую найкорисніші команди Linux для програмістів? [зачинено]


14

Сила поєднання xargs, cut, tail, grep, seqмене дивує. На якому ресурсі слід переглянути підручник з найбільш корисних команд Linux для програмістів?

Мене цікавлять лише ті, хто програмісти використовують найчастіше, що полегшить моє життя.


Ласкаво просимо до обміну стеками. Ми виявили, що запит на список ресурсів рідко працює у форматі запитань та відповідей . Будь ласка, прочитайте справжні запитання . Я пропоную переглядати сайт (особливо питання в тегах інформації про оболонку , обробку тексту , sed і т.
Д.)

Відповіді:


12

Найкраще, що ви можете зробити, щоб навчитися цьому, - це знайти проблеми та вирішити їх. Перейдіть на цей сайт, подивіться на всі "Як зробити X у awk / sed / grep / тощо". і спробуйте їх для себе, перш ніж шукати відповіді. Подивіться, якщо ви застрягли чи побачите, як це зробили інші, знайшовши спосіб. Якщо ви знайдете щось, що повторюється в терміналі, зупиніться і подумайте, як ви могли використовувати одну або кілька утиліт, щоб зробити це простіше. Якщо ви не можете знайти спосіб це зробити, опублікуйте тут, і ми вас направляємо.


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

9

Unix Середовище програмування на Керниган і Пайк є класичним по цій темі. Це давнє, але все ще в друку, яке повинно вам щось сказати.

Мистецтво програмування 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лише корінь. Я думаю, ви, можливо, маєте рацію розглядати їх як "основні" команди в тому сенсі, що вони є ключовою частиною ОС, але вони не є інструментами, якими ви користуєтеся в програмуванні настільки, як системне адміністрування.
Воррен Янг

3

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

Цей блог thegeekstuff, де я пишу періодично, є одним із хороших місць для початку ... Деякі важливі статті, які можуть вас зацікавити:

Там, де є серія навчальних посібників sedі awk сподіваюся, що вам це корисно ...


3
50 команд - це ідеальна відповідь на це питання! Пройдіть його, вивчіть приклади кожної команди, і якщо це цікаво, перейдіть за посиланням (як правило, надається) на подальші приклади. Це посилання - хранитель!
Білл К

2

Для Bash я перевірив tldp.org/LDP/abs/html/


2
Сумнівний посібник "Advanced Bash Scripting" навчить вас писати помилки, а не сценарії. Хоча наміри в його написанні були благородними, помилки та дезінформація занадто високі, щоб їх рекомендувати. mywiki.wooledge.org/BashGuide - це набагато кращий посібник.
Кріс Даун

Спасибі @Chris Я подумав, що вступний матеріал був гарним початком.
Іман

1

Програмісти мають унікальну можливість освоїти Linux. Кожен шанс, який ви отримаєте, замість того, щоб написати програму для виконання завдання, напишіть сценарій оболонки, щоб це зробити.

Насправді у мене є постійний особистий виклик написати все на Bash, перш ніж написати програму, - ви були б вражені і занепокоєні.

Що стосується рекомендації щодо книги, це може здатися нерозумним, але Посібник для кишенькових програм Linux має почесне місце на моїй книжковій полиці. Він компактний і має безліч корисних програм Linux. Перевірити його легко і це чудова орієнтир.




0
info coreutils

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

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


0

Я додав би командний рядок Linux® та Біблію сценаріїв оболонок Річарда Блума . Легко зрозуміти, практичний та багато корисних прикладів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.