Основы программирования Linux - PullRequest
7 голосов
/ 04 ноября 2010

Я был просто увлечен программированием на Linux (Red Hat) после нескольких лет C ++ на Win32.Поэтому я не ищу основы программирования.Скорее, я хочу освоиться с вещами, уникальными для мира программирования Linux, такими как пакеты и т. Д. Другими словами, мне нужно знать все за https://www.redhat.com/courses/rhd251_red_hat_linux_programming/details/, не тратя 3K.Любые идеи о том, как я могу получить эти знания быстро (и относительно дешево)?

Обновление: вещи, которые я привык делать в Windows, такие как сборка .exe и dll с использованием VC ++, создание сценариев установки и т. Д., Только что сделаныиначе на линуксе.Они используют такие вещи, как yum, make и make install и т. Д. Такие вещи, как обходчик зависимостей, которые я считаю само собой разумеющимся в мире Windows, постоянно отправляют меня в Google во время работы над Linux.Есть ли где-то «набор» новых навыков, которые я могу просмотреть, или это больше обучения, когда вы идете?

Основная проблема заключается в следующем: как опытный программист в Windows, я должен спроситьпростые вопросы, такие как разница между usr \ bin и usr \ local \ bin, и я хотел бы быть готовым.

Ответы [ 6 ]

7 голосов
/ 04 ноября 2010

Отредактировано, потому что я должен был покинуть собрание, когда я первоначально представил это, но хотел дополнить информацию

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

Я бы посоветовал вам пойти в книжный магазин и просмотреть эти книги:

  • Расширенное программирование в среде Unix Стивенса и Раго - эта книга охватывает потоки, сети, IPC, сигналы, файлы, управление процессами
  • Сетевое программирование Unix, том 1 , автор Stevens - Эта книга посвящена методам сетевого программирования, проектированию - вам это может понадобиться гораздо позже
  • Системное администрирование Unix / Linux - Эта книга охватывает больше вопросов системного администратора, таких как структура каталогов большинства файловых систем Unix и Linux (дистрибутивы Linux более разнообразны, чем их Unix-названные). коллеги в том, как они могли бы структурировать свою файловую систему)

    Другая информация, доступная онлайн:

  • Электронное руководство GCC - полная документация GNU GCC

  • Руководство Beej по сетевому программированию - Действительно хорошо написанное руководство по сетевому программированию с использованием BSD API. Если вы работали с winsock, это должно быть вам знакомо.
  • Руководство по развертыванию Red Hat Enterprise Linux 5 - конкретно рассказывает об основах администрирования / развертывания Red Hat EL 5, таких как установка с помощью менеджера пакетов, структура каталогов системы Red Hat ...
  • make - статья в Википедии, в которой будут ссылки на различную make документацию
  • binutils - это инструменты Linux, используемые для управления объектами / двоичными файлами.
  • Система сборки GNU - статья в Википедии о традиционной системе сборки программного обеспечения GNU с использованием autoconf / automake / autogen

Кроме того, вы захотите узнать о ldd, который похож на обходчик зависимостей в Windows. В нем перечислены зависимости целевого двоичного файла, если он есть.

А для отладки посмотрите этот поток StackOverflow , в котором рассказывается о хорошо написанном руководстве по GDB, а также ссылки на руководство IBM.

Приятного чтения.

1 голос
/ 04 ноября 2010

это довольно большой и разнообразный список тем.для части программирования я думаю, что библиотека C ++ должна быть переносимой, вещи, которые не должны быть документированы.для части linux-admin, я предлагаю вам попытаться использовать linux в качестве основной настольной системы, так как многие понятия поглощаются повседневной работой, учебника по магии нет

0 голосов
/ 04 ноября 2010

Хороший источник - книга Advanced Linux Programming .

Это бесплатно и охватывает многие из вас, кто ищет

0 голосов
/ 04 ноября 2010

Для POSIX и тому подобного я могу порекомендовать Расширенное программирование в среде UNIX с закладкой на Единственная спецификация UNIX .

Для GCC / GDB и другихинструменты, боюсь, я не могу дать вам хороших рекомендаций.

Надеюсь, это все равно поможет.

Редактировать: Утка была немного быстрее.

0 голосов
/ 04 ноября 2010

Самая важная вещь, которая вам понадобится, - это ноутбук за 99 центов под названием «Sys Admin», который находится рядом с вашим компьютером. Отслеживайте все, что вы устанавливаете / обновляете, включая местоположение каталога, дату и метод.

0 голосов
/ 04 ноября 2010

Это немного шире.
Какие программы вы собираетесь делать?Если вы придерживаетесь стандартного c ++, вы можете идти ... и просто заниматься всем остальным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...