Who is this course for?
Are you an occasional user of the linux terminal or just learned it, and wondering how some people can be almost flying around on the command line, navigating around the file system, switching between applications, browsing and finding files and content etc, while you yourself is just fully occupied with all the tedious typing?
Or are you using the command line quite a lot, but feeling that your usage gives you strain in your wrists, and wondering how you can minimize strain in hands and wrists, so that those very important body parts can stay healthy and usable for many years to come?
Then this course is for you!
Why did I create this course?
The creator of this course course spent years as a systems administrator at a super computing center in Sweden where he spent most of his time in the terminal. The author had a special interest in finding out the top techniques that with the least effort can give the biggest saving in time, and started implementing these techniques over the years.
All these years of hard-learned techniques are now distilled into this compact course, so that anyone with basic familiarity with the terminal get to the productivity and efficiency like a professional linux sysadmin!
What previous skills are required?
The course starts from a fairly basic level (you need to know how to execute some basic commands), and goes up to a rather advanced level, about using tools such as screen to manage multiple windows in the command line, and all the steps build consequently on each other. This means that regardless of your existing skill level, chances are high that you can chime in at a suitable place in the course, and start gaining new knowledge by working your way forward.
Finally, remember that you have a full 30 days money-back guarantee - no questions asked - so if you (against our conviction) find that the course does not live up to the promises, you can always return it within 30 days, and get your money back!
This means, we have made everything we can to ensure that you can confidently enroll in the course right away, and be sure not to be dissatisfied!
Samuel Lampa, Linux Systems Administrator and Developer
This video goes through a few basic things that might be good to know about, before starting the course, such as what the prerequisites are, and a few hints on how to most successfully learn the content of the course.
A few notes on the text editor used in the course, and what alternatives you typically have to choose from.
This video shows some basic ways you can use linux commands such as ls and less to get hold on the last edited file in a folder, or scroll and search the output of other commands.
Being able to re-use commands you have already executed, is fundamental to becoming more efficient on the command-line. This video shows the few basic techniques to do that: By using the up-key in the terminal, bu using the reverse-interactive search, and by using the history command.
When re-using previous commands, you often need to make small changes or modifications in the command. If the command is really long, that can be a rather tedious task, just by needing to wait for the marker to make it's way through the command. This video shows how you can use keyboard shortcuts to quickly jump to the start and end of the command, as well as between words and terms, to make this process much faster.
Avoiding duplication, is paramount to becoming more efficient on the command-line, so anything that let's us run one command multiple times rather than executing the same command manually multiple times, will save us a lot of time. This video shows how you can use piping and the xargs command, as well as for loops, to repeat the same command for multiple items such as files or lines in a file.
Aliases and functions are really powerful features in the linux bash terminal emulator, that let's you save long and tedious-to-type commands in much shorter versions. (For the most common commands you might even use just one or two letter commands). This is in the author's experience one of the most powerful ways to avoid excess keystrokes, and thus save your hands and wrists from unneccessary strain, and also make you faster.
In order to not hesitate to create new aliases, we need to make the very process of creating aliases, as smooth as possible, so that we should never think twice about adding an alias for a command that we find tedious to type. In this video we show how you can do just that.
When trying to save time by using aliases, it is important to choose the right commands to alias, so that you get maximum reward for the effort to create an alias for it. To do this, we need data - that is, data about what commands you have typed the most. This video shows how you can extract that data by just a single line command on the linux terminal, and to save that command as an alias as well, of course.
This video goes over a few of the author's favorite aliases and functions, just to give some inspiration for things you can do, and get your own creative ideas going. You will surely come up with aliases and functions that works way better for your use case!
This video just quickly demonstrates some basic things you can do with the screen utility in linux, without explaining too much how to do that (that comes in the subsequent videos).
This video shows how to create multiple screen sessions (named and unnamed), how to detach from a screen session, rename it, and terminate it.
This video shows how you can use multiple windows inside a screen session, to quickly jump between multiple context / folders et.c. It goes over how to create, rename, switch between, and kill windows inside a screen session.
In this video we go through how you can split screen windows into multiple regions, so you can have multple windows visible at the same time, inside a screen session.
The commands and flag combinations for working with screen might feel a bit tedious if you are using screen all the time. This video demonstrates the author's favorite aliases, for 1. creating a named screen session, 2. listing available screen session, and 3. resuming an existing screen session.
A full coverage of the vim text editor is outside the scope of this course, but in this section we will briefly touch on the topic, point you to the best learning resource for quickly getting up to speed with vim, and show some of the author's favorite configurations, to increase productivity in vim even more.
This first video provides a quick introduction to the vim text editor, one of the most productive text editors out there, once you have learned some of the basic commands of it. In this particular video, we just try to quickly demonstrate some vim commands, to give you an idea of how vim might make you more productive.
As a systems administrator, you might sometimes run into a linux box where the only available text editor is vim, or even vi. To be able to cope such a situation, it is good to know at least the very basic commands in vim, so that you can at least make minor changes in files, save the changes, and quit from vim. This video shows you how to do that.
The absolute most time-efficient way to quickly get up to speed with the basic vim commands, is undoubtedly the vimtutor command. It will, in the coarse of 25-30 minutes, guide you through the 10-15 basic commands that you need to feel at home in vim, and which will provide an excellent foundation for starting to learn more commands, in your own pace.
This video shows a few examples on how you can improve the productivity while working in vim even more by remapping some key combinations, to make up for some movements and actions that you do very often.
This video shows the basic usage of the terminator terminal manager. Terminator can be really useful as a complement to completely in-terminal window manager such as screen (or tmux), in that it is better integrated with the desktop graphical user interface. Additionally it is very useful if you work a lot on remote servers, as you can then have a different terminal manager locally than remotely, avoiding clashes of keyboard shortcuts, (something that would be a problem if you use a remote screen session inside a local screen session).
This video gives a few final remarks, such as pointing you to where you can find more information on the topic covered in this course.
Samuel has a M.Sc. in Molecular Biotechnology Engineering from Uppsala University and has been working the last couple of years as a systems administrator and developer at UPPMAX super computing center at Uppsala University, developing infrastructure for Life Sciences research and computation.
Samuel has a track record as a front end web and graphic designer, who subsequently became a full stack web developer, linux systems administrator, and research software developer.
Samuel is also is a long-time hobby musician on the piano and pipe organ, with a specialty in improvising and composing music in the classical genre.