Skip to content

Latest commit

 

History

History

Linux Development

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Linux Development

Linux development refers to creating software for the Linux operating system, encompassing everything from kernel programming to application development. It involves understanding Linux internals, using development tools, and following best practices to build robust and efficient software. This curated collection offers valuable Linux Development resources contributed by talented individuals.

Table of Contents

Roadmap

To become a proficient Linux Developer, there are various skills and areas of knowledge you need to master. Here’s a roadmap to guide you through the learning process:

Resource Name Description
Linux Roadmap Begin your Linux development journey with roadmap.sh's guide. This comprehensive resource covers basic to advanced topics, including commands, architecture, scripting, system administration, and security. Featuring best practices, tutorials, interactive videos, and community support, it's ideal for all skill levels

Tools

Discover a wide variety of tools essential for Linux Development. They are listed below:

Resource Name Description
GCC GNU Compiler Collection, providing compilers for C, C++, and other programming languages.
Clang Compiler front end for the C, C++, and Objective-C programming languages, part of the LLVM project.
Visual Studio Code Popular source code editor with support for debugging, task running, and version control.
Vim Highly configurable text editor built to make creating and changing any kind of text very efficient.
Emacs Extensible, customizable, free text editor with a full programming environment.
CMake Open-source, cross-platform family of tools designed to build, test, and package software.
GNU Make Build automation tool that automatically builds executable programs and libraries from source code by reading files called Makefiles.
Docker Platform for developing, shipping, and running applications using containerization technology.
Kubernetes Open-source system for automating deployment, scaling, and management of containerized applications.
Git Distributed version control system for tracking changes in source code during software development.
GitHub Platform for hosting and reviewing code, managing projects, and collaborating with other developers.

Technologies

These are the technologies you can master to be a successful Linux Developer. They are listed below:

Resource Name Description
Linux Kernel The core component of the Linux operating system, responsible for managing hardware, processes, and system calls.
Bash GNU Bourne-Again Shell, a Unix shell and command language.
Python High-level, interpreted programming language with dynamic semantics and extensive standard libraries.
C General-purpose, procedural programming language supporting structured programming.
C++ Extension of the C programming language, supporting object-oriented programming.
Go Statically typed, compiled programming language designed for simplicity and efficiency, developed by Google.
Rust System programming language focused on safety, speed, and concurrency.
Perl Highly capable, feature-rich programming language with over 30 years of development.
Ruby Dynamic, open source programming language with a focus on simplicity and productivity.

Command line & bash programming

Here are some resources for Command line & bash programming in Liux development.

Resource Name Description
The art of command line An absolutely must-read resource for mastering the command line.
Linux Tutorial - Command Line A comprehensive tutorial covering various aspects of the Linux command line.
Bash Guide for Beginners A beginner-friendly guide to Bash scripting and command line usage.
Bash programming - introduction An introductory guide to Bash programming and script writing.
Bash scripting tutorial A tutorial covering the basics of Bash scripting for beginners.
Learning bash scripting for beginners A beginner-oriented resource for learning Bash scripting.
List of bash on-line tutorials A collection of online tutorials for learning Bash scripting and command line usage.
bash guide A comprehensive guide to Bash scripting, covering various topics and techniques.
command line text processing A resource for learning text processing techniques using command line tools.
pure bash bible A collection of pure Bash scripting techniques and examples.

Courses

You can consider these courses for learning Linux Development:

Resource Name Description Cost
Udemy Linux Courses Offers a variety of courses on Linux development, system administration, and related technologies. Paid
Coursera Linux Courses Provides online courses on Linux development, system administration, and open-source software, often created by universities and colleges. Paid
edX Linux Courses Hosts a range of Linux-related courses from top institutions, covering topics from basic system administration to advanced development techniques. Paid
Codecademy - Learn the Command Line Interactive course that teaches the basics of the command line, an essential skill for Linux development. Free
Linux Academy Platform offering a wide range of Linux and cloud training courses, including hands-on labs and certification preparation. Paid
NDG Linux Unhatched Learn basic installation and configuration of Linux software and get introduced to the Linux command line. Free
Introduction to Linux by freeCodeCamp If you're new to Linux, this beginner's course is for you. You'll learn many of the tools used every day by both Linux SysAdmins and the millions of people running Linux distributions like Ubuntu on their PCs. Free
Linux Command Lines Tutorials “Linux Command Line Tutorial For Beginners" will teach you everything you need to know about Linux Command Line in easy-to-understand language. Free

Books

You can refer to these books on Linux Development. They are listed below:

Resource Name Description
Linux Kernel Development by Robert Love Comprehensive guide to the Linux kernel, covering architecture, design, and implementation details.
The Linux Programming Interface by Michael Kerrisk Detailed guide to Linux and UNIX system programming, including APIs, system calls, and more.
linux-101-hacks-ebook An eBook providing practical Linux tips, tricks, and hacks for both beginners and advanced users.
The-linux-command-line Comprehensive guide to mastering the Linux command line interface.
advanced-bash-scripting-guide An advanced guide to shell scripting in Linux using Bash.
linux-cookbook A collection of practical recipes for Linux system administration and management.
linux-network-admin-guide A comprehensive guide to Linux networking administration and configuration.
help.ubuntu.com Official documentation and support resources for Ubuntu Linux.
askubuntu.com Community-driven Q&A platform for Ubuntu users and developers.
ubuntu-pocket-guide A concise guide to Ubuntu Linux, covering installation, usage, and configuration.
linux-ebooks A collection of free eBooks and resources for learning Linux.
tech-books-for-free Free technical books and resources for learning Linux and related technologies.
online-books A collection of online books covering various aspects of Linux programming and administration.
linuxtopia-books Free online books covering a wide range of Linux and open source topics.
freetechbooks.com Free technical books and resources covering Linux, programming, and other IT topics.

YouTube Channels

You can consider these YouTube Channels for Linux Development

Resource Name Description
The Linux Foundation The Linux Foundation's official channel offers a wide range of tutorials, webinars, and talks from industry experts about Linux development, open-source projects, and the latest trends.
DorianDotSlash DorianDotSlash provides in-depth tutorials on Linux commands, scripting, and system administration, along with tips on optimizing and customizing your Linux experience.
TechHut TechHut offers videos on Linux tips, tricks, and tutorials, as well as reviews of various Linux distributions and open-source software.
ChrisTitusTech Chris Titus Tech focuses on Linux tutorials, including installation, configuration, and optimization. The channel also covers Linux for gaming and professional use.
LearnLinuxtv LearnLinuxTV provides detailed tutorials on various Linux distributions, commands, and system administration topics. It's a great resource for both beginners and advanced users.
tutoriaLinux Linux, DevOps, Cloud, and Programming tutorial videos, ranging from basic Linux commands for beginners to practical programming and cloud infrastructure projects using modern tooling.

GitHub Resources

You can follow this Github Repo

Resource Name Description
Awesome SRE Roadmap Resources and tools for Site Reliability Engineering, with a focus on Linux system management and development.
Linux-Bash-Commands Ultimate list of Linux bash commands, cheatsheets and resources
LinuxGSM The command-line tool for quick, simple deployment and management of Linux dedicated game servers.