Самоучитель по программированию для линукс

Подборка материала для начинающего linux-сисадмина

Однажды меня спросили, что почитать начинающему админу. Сам я тоже являюсь начинающим, но давно зрела идея составить такой список, что же можно почитать с небольшим личным мнением или простым описанием.
Тут я поделюсь ссылками, книгами где можно набраться уму разуму.

Кто заинтересовался — прошу под кат.

Linux/Unix:

Книги:
Ссылки:


habrahabr.ru — разнообразные статьи и новости на IT и около-IT тематику.
www.opennet.ru — огромный сборник манов, вики, статей, советов, новостей и прочего на тему Linux, Unix.
www.linux.org.ru — русская информация об ОС Linux.
xgu.ru/wiki — точка обмена знаниями по UNIX/Linux-системам, системам с открытым исходных кодом, сетям и другим родственным вещам.
www.ibm.com/developerworks/ru/linux — крутые статьи от IBM.
syslog.tv — говорят, что бывают полезные статьи, но сам лично не читал.
www.cyberciti.biz — различные how-to и советы.
events.yandex.ru/events/kit — Курсы Информационных технология от Яндекса (видео), очень советую, крутые доклады.
course.secsem.ru/lections — Лекции по курсу «Практические аспекты сетевой безопасности» (видео, аудио, текст).
www.howtoforge.com — большая подборка How-to.
workaround.org — несколько полезных статей и руководств по Linux.
highload.com.ua — масштабирование и производительность, высокие нагрузки, PHP, MySQL.
find.unixpin.com/ru — построитель команды find.
www.grymoire.com/Unix — отличные учебники по sed, awk и полезные статьи.
kernelnewbies.org/KernelHacking — как же работает ядро?
forum.ru-board.com/forum.cgi?forum=8 — раздел форума для сисадминов.
sysadminblog.ru — блоги сисадминов про cisco, ip телефонию, linux, openldap и другое.
wiki.dieg.info — довольно много полезных советов по Linux.
www.sysadminwiki.ru/wiki — неплохая вики.
olemskoi.ru — блог системного администратора Linux.
debian.pro — блок для пользователя и администратора Debian.
interface31.ru/tech_it/index.html — технический блог со статьями по администрированию.
antizlo.blogspot.ru — опять таки неплохой блог.
howitmake.ru — очередной блог.
vds-admin.ru — linux-мануалы, how-to.
wiki.enchtex.info — ряд полезных статей и how-to по администрированию ubuntu и gentoo.
rfc2.ru — русские переводы RFC.
handynotes.ru — есть довольно хорошие статьи.
xtips.ru — шпаргалка для системных администраторов.
vim-adventures.com — игра-туториал для пользователей Vim.
nixsrv.com — Learn Linux The Hard Way — довольно интересные задачки для новичка.
www.linuxfromscratch.org/lfs — Linux From Scratch — соберем свой собственный линукс дистрибутив с блэкджеком и девушками.

Книги:
Ссылки:

ss64.com — отличный справочник консольных команд bash, cmd, powershel и т.д.
cb.vu/unixtoolbox.xhtml — описание shell-команд и примеры.

Книги:
Ссылки:


www.cpan.org — окало 120 тысяч модулей к Perl.

Python:

Книги:
Ссылки:


docs.python.org/2 — официальная документация по Python 2.7.3.
docs.python.org/3 — официальная документация по Python 3.3.0.

Книги:


Язык программирования С — лучшая книга по Си, но довольно высокий порог вхождения.
Как программировать на С — мне очень понравилась книга манерой изложения и доступностью, по сравнению с первой книгой.
Программирование на языке С — очень хорошо изложен материал.

Книги:


Язык программирования С++ — опять таки одна из лучших книг по С++, но порог вхождения опять таки велик.
Как программировать на С++ — аналогично книге по Си, очень доступно.

Источник

Подборка книг для изучения Linux

Операционные системы на базе Linux любят за гибкость, масштабируемость и обширные возможности в настройке и персонализации. Благодаря этому существует множество Linux-дистрибутивов для различных целей: от домашнего использования до управления кластерами серверов. Но чтобы добиться максимальной производительности и безопасности, нужно понимать процессы, проходящие внутри этой ОС, и изменять настройки системы, стоящие по умолчанию. Книги, указанные ниже, помогут в администрировании системы и создании собственных дистрибутивов.

Just for Fun: The Story of an Accidental Revolutionary

Книга, написанная самим создателем Linux Линусом Торвальдсом. В ней он рассказывает о своей жизни и о том, с чего началась разработка Linux. Также в ней Линус поделился своим видением по разработке открытого программного обеспечения и Linux в частности. Если хочется посмотреть на Linux со стороны «отца» системы, а также больше узнать о его личности, то эта книга обязательна к прочтению.

Командная строка Linux. Полное руководство

Командная строка в Linux — основной инструмент для работы с этой ОС. Поэтому, чтобы полноценно настроить систему под свои нужды и ускорить рабочий процесс, нужно обучиться работе с этим инструментом и основным командам. Данная книга познакомит читателя с возможностями командной строки в Linux. В частности, здесь рассказывается о том, как:

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

Linux глазами хакера

Несмотря на название книги, она подойдёт не только специалистам в информационной безопасности, но и системным администраторам. В данной книге по полочкам разложены многие аспекты настройки ОС Linux с целью повышения безопасности и производительности системы. Автор Михаил Флёнов рассмотрел потенциальные уязвимости и атаки злоумышленников, а также методы борьбы с ними. Книга хороша также тем, что с её помощью можно изучить «внутреннюю кухню» Linux.

Читайте также:  Как узнать версию windows mobile

Ten Steps to Linux Survival

Книга подойдёт системным администраторам, которые обеспечивают стабильную работу серверов на Windows, но сталкиваются с настройкой Linux-окружения. Она поможет быстро освоиться с работой на Linux. В ней вы найдёте информацию по настройке сетей, работе с файловой системой, диагностике работы серверов, а также управлению процессами.

Linux. Карманный справочник

Второе издание книги, главная особенность которой — небольшой размер и максимум практики. В ней содержится более 100 готовых к использованию фрагментов программ и команд для выполнения типичных задач в Linux. Материал книги охватывает как командную строку, так и различные оболочки Linux. Но она не заменит полноценное руководство по Linux, поскольку предназначена именно для быстрого поиска решения возникающих задач.

Linux Bible

Девятое издание этой книги является достаточно полным руководством по работе с Linux, в том числе с Red Hat Enterprise Linux 7 (RHEL 7), Fedora 21 и Ubuntu 14.04 LTS. Отличительной особенностью книги стало разделение материала по уровням. Сначала даётся базовая информация о Linux, затем необходимые знания для рядового пользователя, системного администратора, потом рассматриваются серверное администрирование и безопасность. За счёт такой многоуровневости книга подойдёт всем желающим уверенно работать с этой ОС.

Официальная документация Ubuntu

Официальная документация популярного Linux-дистрибутива Ubuntu постоянно поддерживается, поэтому в ней можно найти подробную информацию о наиболее последних версиях системы. Оно содержит информацию о том, как устанавливать и настраивать различные приложения в пользовательской и серверной версиях Ubuntu в соответствии с заданными требованиями. Документация по Ubuntu Desktop доступна для чтения только онлайн, по Ubuntu Server — онлайн и в PDF-формате.

Red Hat Enterprise Linux 6 Essentials

В корпоративной среде популярностью пользуется дистрибутив Red Hat Enterprise Linux, считающийся одним из самых стабильных. Данная книга призвана рассказать об особенностях системы как новичкам, так и опытным пользователям. Новичку будет интересно почитать о настройке рабочей среды, электронной почты и веб-сервера. Более опытные пользователи RHEL найдут в книге такие темы, как удалённый доступ, управление логическими томами (LVM), разделение дисков, виртуализация KVM, SSH и совместное использование файлов с использованием Samba и NFS. В книге рассматривается немного устаревший RHEL 6, но в ней описаны концептуальные вещи, не теряющие актуальность со временем.

Современные операционные системы

Эту книгу нельзя было обойти стороной, хоть и Linux рассматривается только в одном разделе. Это классический труд Эндрю Таненбаума, в котором рассказывается обо всех аспектах современных операционных систем. В разделе про Linux можно найти информацию об истории возникновения UNIX и Linux, архитектуре системы, её процессах, управлении памятью, вводе-выводе, файловой системе и безопасности. Кроме того, а этой главе рассматривается и Android как отдельная система на базе Linux.

Внутреннее устройство Linux

Книга является хорошим руководством по работе с ядром Linux. В ней рассказывается о различных нюансах при эксплуатации этой ОС, системном администрировании Linux, а также о низкоуровневых механизмах системы. Также в книге рассматривается программирование shell-скриптов, программирование на языке Си, безопасность системы, виртуализация, компьютерные сети и многое другое.

How Linux Works: What Every Superuser Should Know

Книга будет интересна всем, кто интересуется внутренней составляющей Linux. Здесь рассказывается о загрузке ОС, управлении устройствами, драйверами устройств и процессами, работе сетей и интерфейсов, инструментах для разработки, написании эффективных shell-скриптов, а также ключевых функциях ядра в пользовательском пространстве: системные вызовы, ввод/вывод и файловая система. Все эти знания помогут тщательно настроить систему под себя.

UNIX and Linux System Administration Handbook

Книга является полным руководством по установке, настройке и обслуживанию любых UNIX- или Linux-систем, в том числе обеспечивающих облачную инфраструктуру. Руководство охватывает такие темы, как управление хранилищем, проектирование и администрирование сети, безопасность, веб-хостинг, автоматизация, управление конфигурацией, анализ производительности, виртуализация и DNS.

Встраиваемые системы на основе Linux

В книге описано поэтапное конструирование собственной системы на базе Linux только с необходимыми open source программами. В частности, автор Крис Симмондс рассматривает:

  • необходимый для этого набор инструментов;
  • ядро Linux и его загрузчики;
  • конфигурирование файловой системы;
  • работу с системами сборки Buildroot и Yocto Project;
  • управление памятью, а также процессы и потоки;
  • отладку и оптимизацию полученной системы;
  • исполнение приложений реального времени.

Linux From Scratch

Данная книга поможет пошагово создать собственный Linux-дистрибутив с необходимыми программами. Руководство описывает как процесс подготовки к сборке дистрибутива, так и его установку, конфигурирование, настройку загрузчика для запуска системы, а также финальные штрихи.

Сама онлайн-книга является дополнением к одноимённому проекту. Его цель — создание гибкой и производительной системы, заточенной под нужды конкретного пользователя. Однако созданием собственной ОС можно заняться ещё и для того, чтобы лучше изучить структуру Linux изнутри.

Настольная книга администратора Debian

Одна из немногих качественных книг о Linux-дистрибутиве Debian. Её поддерживают опытные участники сообщества этой ОС, что означает качественную и понятную подачу материала. Книга призвана собрать всю необходимую информацию об этой системе в одном месте, чтобы сделать дистрибутив популярным у пользователей. В силу того, что экосистема Debian состоит только из свободного ПО, то и сама книга доступна для прочтения всем желающим на нескольких языках, включая русский. Седьмое издание книги описывает Debian версии 8.

Какие книги помогли вам освоиться в Linux? Пишите своё мнение в комментариях. Лучшие книги из комментариев также войдут в эту подборку.

Источник

ForCoder

Книги о программировании под Linux, скачать бесплатные книги, самоучители и учебники о программировании под Linux в хорошем качестве

Описание книги UNIX. Разработка сетевых приложений: Новое издание книги, посвященной созданию web-серверов, клиент-серверных приложений или любого другого сетевого программного обеспечения в операционной системе UNIX, — классическое руководство по сетевым программным интерфейсам, в частности сокетам. Оно основано на трудах Уильяма Стивенса и полностью переработано и обновлено двумя ведущими экспертами по сетевому программированию.

Читайте также:  Activate windows using kms

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

14,985 просмотров всего, сегодня нет просмотров

Python в системном администрировании UNIX и Linux

Описание книги Python в системном администрировании UNIX и Linux:
Книга «Python в системном администрировании UNIX и Linux» демонстрирует, как эффективно решать разнообразные задачи управления серверами UNIX и Linux с помощью языка программирования Python. Каждая глава посвящена определенной задаче, например многозадачности, резервному копированию данных или созданию собственных инструментов командной строки, и предлагает практические методы ее решения на языке Python.

Среди рассматриваемых тем: организация ветвления процессов и передача информации между ними с использованием сетевых механизмов, создание интерактивных утилит с графическим интерфейсом, организация взаимодействия с базами данных и создание приложений для Google App Engine. Кроме того, авторы книги создали доступную для загрузки и свободно распространяемую виртуальную машину на базе Ubuntu, включающую исходные тексты примеров из книги и способную выполнять примеры, использующие SNMP, IPython, SQLAlchemy и многие другие утилиты.

Издание рассчитано на широкий круг специалистов — всех, кто только начинает осваивать язык Python, будь то опытные разработчики сценариев на языках командной оболочки или относительно мало знакомые с программированием вообще.

13,335 просмотров всего, сегодня нет просмотров

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

Описание книги GCC. Настольная книrа пользователей, проrраммистов и системных администраторов: GCC — основной компилятор проекта GNU. Он поддерживает набор всех наиболее используемых языков программирования и обеспечивает перенос программ на десятки аппаратных платформ. Все свободно распространяемое программное обеспечение, включая и компиляторы, на том или ином уровне основываются на GCC.

В книге даются подробные сведения о получении, конфигурировании, установке и тестировании компилятора. Представлено построение кросс-компилятора и создание встраиваемых систем, детально описывается компиляция программ на языках С, C++, Objective-C, Fortran, Java и Ada. А также сочетание в одной программе нескольких языков программирования и включение в нее частей, написанных на ассемблере или языках системного уровня. В этой книге можно найти практически любые сведения, достаточные не только для разрешения ваших проблем, но и для участия в разработке и поддержке самого компилятора GCC.Книга будет полезна: программистам-разработчикам и руководителям программных проектов; администраторам и системным программистам, которым приходится заниматься переносом программного обеспечения и приложений; пользователям, заинтересованным в использовании программ с открытым исходным кодом. И всем сторонникам развития движения по созданию свободно распространяемых программ.

12,381 просмотров всего, сегодня нет просмотров

Linux. Системное программирование

Описание книги Linux. Системное программирование:
Эта книга о том, как создавать программное обеспечение под Linux, эффективно используя возможности системы — функции ядра и базовые библиотеки, включая оболочку, текстовый редактор, компилятор, отладчик и системные процедуры. Большая часть программного кода для Unix и Linux написана на системном уровне, поэтому в книге основное внимание сфокусировано на приложениях, находящихся вне ядра, таких как Apache, bash, cp, vim, Emacs, gcc, gdb, glibc, ls, mv и прочих.

Книга написана специально для разработчиков и является необходимым инструментом любого программиста.

Содержание книги «Linux. Системное программирование»:

  1. Введение и важнейшие концепции
  2. Файловый ввод-вывод
  3. Буферизованный ввод-вывод
  4. Расширенный файловый ввод-вывод
  5. Управление процессами
  6. Расширенное управление процессами
  7. Управление файлами и каталогами
  8. Управление памятью
  9. Сигналы
  10. Время

12,949 просмотров всего, сегодня нет просмотров

Основы программирования в Linux

Описание книги Основы программирования в Linux:
В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек С/C++ и стандартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др.

Описана компиляция программ, их компоновка с библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME и KDE, хранения данных с использованием СУБД MySQL и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым.

Содержание книги «Основы программирования в Linux»:

  • Приступая к работе
  • Программирование средствами командной оболочки
  • Работа с файлами
  • Окружение Linux
  • Терминалы
  • Управление текстовыми экранами с помощью библиотеки curses
  • Управление данными
  • MySQL
  • Средства разработки
  • Отладка
  • Процессы и сигналы
  • Потоки POSIX
  • Связь между процессами: каналы
  • Семафоры, совместно используемая память и очереди сообщений
  • Сокеты
  • Программирование в GNOME с помощью GTK+
  • Программирование в KDE с помощью Qt
  • Стандарты Linux

17,658 просмотров всего, сегодня нет просмотров

Guide to Assembly Language Programming in Linux

  • Автор: Sivarama P. Dandamudi
  • Издательство: Springer
  • Год: 2005
  • Язык: Англий ский
  • Страниц: 568
  • Формат: pdf
  • Размер: 26 МБ

Описание книги Guide to Assembly Language Programming in Linux:
This unique guide provides comprehensive coverage of the key elements of Assembly language programming with in-depth coverage of the Linux operating system, which is the fastest-growing operating system with an estimated 18 million Linux users worldwide. The book specifically targets professionals who would like to learn Assembly and intend or expect to move to the Linux operating system.

This highly useful guidebook comes complete with all the necessary software (Linux, NASM, debugger), making it an extremely valuable resource tool for all those who want to learn Assembly programming and Linux. Readers need only have a basic knowledge of any structured, high-level language such as C to obtain the full benefits of this guidebook. Sivarama P. Dandamudi is a professor of computer science at Carleton University in Ottawa, Ontario, Canada, as well as associate editor responsible for computer architecture at the International Journal of Computers and Their Applications. He has more than two decades of experience teaching about computer systems and organization.

  • Computer organization, including digital logic circuits, memory organization, IA-32 architecture
  • Installing and using Linux and NASM
  • Debugging assembly language programs
  • Overview of assembly language instructions
  • Writing procedures, addressing modes, conditional execution, logical and bit operations
  • Advanced assembly language, including string processing, ASCII and BCD arithmetic, recursion, protected-mode interrupt processing, high-level language interface, floating-point operations
Читайте также:  Результирующая политика windows 10 как открыть

5,627 просмотров всего, сегодня нет просмотров

Pro Oracle Database 11g RAC on Linux

Описание книги Pro Oracle Database 11g RAC on Linux:
Pro Oracle Database 11g RAC on Linux provides full-life-cycle guidance on implementing Oracle Real Application Clusters in a Linux environment. Real Application Clusters, commonly abbreviated as RAC, is Oracle’s industry-leading architecture for scalable and fault-tolerant databases. RAC allows you to scale up and down by simply adding and subtracting inexpensive Linux servers. Redundancy provided by those multiple, inexpensive servers is the basis for the failover and other fault-tolerance features that RAC provides.

Written by authors well-known for their talent with RAC, Pro Oracle Database 11g RAC on Linux gives you a rock-solid and technically flawless foundation on which to build your RAC-management skills. Authors Julian Dyke and Steve Shaw share their hard-won experience in building RAC clusters, showing you how to build for success using the very latest Oracle technologies, such as Automatic Storage Management (ASM) and Oracle Clusterware. You’ll learn to troubleshoot performance and other problems. You’ll even learn how to correctly deploy RAC in a virtual-machine environment based upon Oracle VM, which is the only virtualization solution supported by Oracle Corporation.

RAC is a complex and powerful technology. It demands expertise in its deployment. You can’t just “wing it” in creating a RAC solution. Julian and Steve have earned the right to term themselves expert—in Pro Oracle Database 11g RAC on Linux, they offer a rigorous and technically-correct treatment of RAC that helps you build a solid foundation of expertise and achieve success.

5,221 просмотров всего, сегодня нет просмотров

Python for Unix and Linux System Administration

Описание книги Python for Unix and Linux System Administration:
Python is an ideal language for solving problems, especially in Linux and Unix networks. With this pragmatic book, administrators can review various tasks that often occur in the management of these systems, and learn how Python can provide a more efficient and less painful way to handle them.

Each chapter in Python for Unix and Linux System Administration presents a particular administrative issue, such as concurrency or data backup, and presents Python solutions through hands-on examples. Once you finish this book, you’ll be able to develop your own set of command-line utilities with Python to tackle a wide range of problems.

Discover how this language can help you:

* Read text files and extract information
* Run tasks concurrently using the threading and forking options
* Get information from one process to another using network facilities
* Create clickable GUIs to handle large and complex utilities
* Monitor large clusters of machines by interacting with SNMP programmatically
* Master the IPython Interactive Python shell to replace or augment Bash, Korn, or Z-Shell
* Integrate Cloud Computing into your infrastructure, and learn to write a Google App Engine Application
* Solve unique data backup challenges with customized scripts
* Interact with MySQL, SQLite, Oracle, Postgres, Django ORM, and SQLAlchemy

With this book, you’ll learn how to package and deploy your Python applications and libraries, and write code that runs equally well on multiple Unix platforms. You’ll also learn about several Python-related technologies that will make your life much easier.

4,625 просмотров всего, сегодня нет просмотров

Программирование в Linux. Самоучитель

Описание книги Программирование в Linux. Самоучитель:
Рассмотрены фундаментальные основы программирования в Linux: инструментарий, низкоуровневый ввод-вывод, многозадачность, файловая система, межпроцессное взаимодействие и обработка ошибок. Книга главным образом ориентирована на практическое применение изложенных концепций. В ней есть все, что нужно начинающим, а углубленное изучение каждой темы делает ее ценной и для опытных программистов. Каждая тема проиллюстрирована большим числом примеров, которые читатель сможет использовать в качестве образцов для собственных программ.

12,637 просмотров всего, сегодня нет просмотров

Программирование на C++ в Linux

Описание книги Программирование на C++ в Linux:
Книга посвящена созданию приложений, написанных на языке C++, в среде разработки KDevelop. Дано описание способов взаимодействия компонентов приложений. Рассмотрена работа с утилитой Qt Designer и описаны основные элементы управления, используемые в диалоговых окнах, а также классы, созданные для работы с ними. Читатель знакомится с концепцией Документ/Представление и учится создавать элементы пользовательского интерфейса приложения. Кроме того, в отдельных главах разбираются вопросы вывода на экран различной информации, сохранения и восстановления ее из файла, создания текстовых редакторов, работы с шаблонами классов и функций и организации многозадачности в приложении на основе взаимодействующих процессов. В завершение предоставляются рекомендации по созданию справочной системы приложения.

В книге идет речь о программировании GUI приложений с использованием Qt4 и среды разработки KDevelop.

21,511 просмотров всего, сегодня нет просмотров

Источник

Оцените статью