The terminal

The most basic and most important tool for growing a self-managed server is the terminal command line - the CLI (Command Line Interface).

In the past all computers were managed only through terminals, allowing to write "commands" in plain English - it's a funny story! And then the GUI (Graphical User Interface), with "Windows" and the mouse came to change everything.

Communicating with a computer through text-based commands instead of "clicks" has its benefits and drawbacks, and advocates of the two approaches could discuss for very long time without agreeing.


So, here is how a terminal looks like be default. It is black and a little aggressive.

But you can change its appearance! A basic guide for terminal customisation

Scared by the CLI (Command Line Interface)? Try it, it's fun!

Choose your CLI recipe...

Old-school attitude, step-by-step? Have a look at Learn Enough CLI to Be Dangerous

Video-addicted? Binge into A series of video CLI tutorial

You'd prefer a quick ride? Surf the basic Ubuntu CLI tutorial

You want more, almost everything about CLI? Dive into the comprehensive book The Linux Command Line

An hacker praise for the CLI

The CLI is simple and brutal, without ambiguity. The command line reminds us that underneath the shell resonate orders, it seems to crack the whip. Of course, the command is not an adequate practice, but we have to deal with this first impression.

In fact, the command possible with the command line is all in all quite fair, in the sense that it is more like an authoritative request formulated in an appropriate manner. The human operator must have a clear idea of what he is typing. The system will not execute poorly formulated commands; it will probably return an error.

This means that brute force, imperium, threat, oppression, fear, typically associated with command are useless. To deal with it you have to make some effort, learn; make mistakes and try again. Also because, unlike other higher-level interfaces, command lines tend to be thrifty and essential. Every detail is significant, nothing superfluous. They do not protect against trivial errors. The CLI presuppose a certain degree of competence. If the operator copies and pastes commands which he does not understand, the system may execute them and do something quite different from what the operator imagined or wanted. Destroy, delete instead of copy…

To be able to deal with the command line you have to study, at least a little. Apply yourself. Also, you’ve to ask those who know more, those who have already had experience and can help you. This implies learning how to select the people to trust and build up a network of trust, instead of blindly rely on experts.

Our approach has been an experiential one - borrowed from the hacker pedagogy practice.