In this blog I started explaining Learning Tree’s array of Linux training courses. I divided them into courses that prepare you for certification exams, versus those that teach you to use and manage the Linux environment. I explained the CompTIA, Microsoft, and Red Hat certification test-prep courses.
Now let’s look at the courses that teach you to program on Linux, and to build and run Linux servers.
We’re looking at the “Linux Training” and “Shell Programming Training” sections of Learning Tree’s Linux & UNIX page, plus the Python and Perl programming page. Specifically, courses 143, 144, 1901, 396, and 434, plus 1905, 1906, and 431. (The course numbers are entirely arbitrary, they don’t indicate whether a course is introductory or advanced.) These are all “native” Learning Tree courses, with the standard attention to detail in technical and educational quality.
The entry point for doing anything with Linux is course 143, the hands-on Linux Introduction class. It teaches you the language that is the command-line interface.
The thing is, attending a course is not enough. You need hands-on time. During the course, sure. But also after the course.
The example I always use is the game of tennis. The rules that players must follow are simple. I wouldn’t claim to know much about the game. However, I can watch a game and easily follow what’s happening. I know who scored the point, and why.
You could teach those rules to someone in a morning. They could watch and understand a match that afternoon. But, they aren’t ready to play at Wimbledon!
The rules are knowledge, easy to pick up. Playing is a skill, something gained only through doing the thing.
A course like 143 gives you enough time on the keyboard to reinforce the lessons. You understand what you’ve been told. However, the “muscle memory” that coaches talk about, that comes from playing the game. In this case, solving simple (at first) problems by selecting and running commands.
You need your own playground, your own Linux system for practice. The good news is that it’s easy, and somewhere between cheap and free. Last year I wrote about four easy ways to practice Linux skills.
Here’s one of those opportunities, a Raspberry Pi single-board Linux computer:
A $50 kit includes the computer, a case, and power supply. Plug it into your TV in place of your Blu-ray player, attach a USB keyboard and mouse, and you have a Linux workstation!
The UNIX family commands are the same across vendors. Course 143 is a fine introduction to any UNIX family user environment, including the macOS command prompt. Learning Tree still offers course 428, a Solaris-centric introduction for users. But to be honest, there’s really no need for a separate title.
Course 396, the Linux tools and utilities course, builds on your initial knowledge and skills. It takes you further into the Linux/UNIX design philosophy of many simple tools that can be combined.
At that point, you are using the Linux command line as a programming environment. You might say, “I don’t want to be a programmer. I need to run servers.”
However, programming skills are needed to run servers! Tasks like analyzing logs, searching for perhaps vaguely defined data, reorganizing large collections of files — those are programming tasks. What’s more, they’re easily solved with the command-line tools you learn to use in courses 143 and 396.
The next step for Linux programmers would be course 434, Shell Programming. You learn to use the command shell for logic and loops, with commands from 143 and 396 as the working parts.
Going further into programming, Python and Perl are popular and important programming languages. You can run them on other platforms, but Linux is their natural home. The introductory Linux course, 143, would give a programmer a good background in the operating system environment in which Python and Perl are usually found.
Learning Tree has a pair of in-depth Python courses — course 1905, Introduction to Python, and course 1906, Advanced Python: Best Practices and Design Patterns.
There is also course 431, an introduction to Perl programming.
Let’s get back to building and running servers. Course 144, the Linux server course, teaches you how to design, build, and maintain servers. Each section starts by showing what is important for security, performance, and ease of maintenance. Then you see how to make the design decisions and carry them out. You start with a basic desktop installation. During the week you manage services, user authentication, storage, software packages, software development environments, Internet and Intranet network services, and more. Your result on Friday afternoon is a very capable multi-purpose server.
To improve a server’s performance, and to fix it when things go wrong, take course 1901, the performance tuning and troubleshooting course. You also integrate Linux with Windows servers in that course. You tie a Linux system into Active Directory authentication, and do file service in both directions.
Learning Tree can help to develop your career along various paths through the Linux environment. I hope I have helped you make sense of the wide array of training course choices!