[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Por traducir - Victor

CLI Introduction

A command line interface (CLI) is a way of interacting with an operating system or programs using text commands. As opposed to graphical user interfaces (GUI), CLI, due to its nature, is heavily keyboard oriented. Despite a steeper learning curve, this way of interaction has a wide range of benefits and is therefore preferred by many users.

Since most Slackware configuration and administration is performed using the command line interface, it is highly recommended to understand and feel comfortable using them. An additional advantage is that 99% of the commands are universal for most Linux distributions. Things you learn here will most probably be applicable elsewhere.

CLI is Good - Do Not Fear It

The following are some of the advantages to using CLI:

  1. CLI commands are more precise and powerful than GUI interaction.
  2. GUI tools are often just frontends for command line tools. This brings another layer of complexity and is more difficult to troubleshoot.
  3. Most commands are distro agnostic: they work on other Linux systems as well.
  4. CLI commands are building blocks that can be glued together to create complex commands or custom scripts that are tailored to your needs.
  5. CLI commands can be used to automate repetitive tasks
  6. CLI commands do not change often.
  7. Commands make a universal language that is easy to communicate and follow by other internet users.
  8. CLI scripts can include comments that can act as notes and internal documentation explaining the functionality and simplifying future modifications.
  9. CLI based instructions are easier to document for sharing with others as opposed to long how-tos and screenshots necessary for GUI instructions.
  10. CLI commands let you easily access and manage remote systems.

CLI is Powerful - Use it Wisely

Being very powerful and flexible, CLI commands can also be unforgiving and potentially harmful to your system. Please remember about the following:

  1. Do not run commands as root unless it is absolutely necessary
  2. For learning and everyday tasks issue commands as a normal user
  3. Some commands cannot be undone - test your commands and read the associated manuals carefully before you run them on your system
  4. Avoid running commands that you do not understand (especially as root)

CLI Offers You Choice

A program that provides a command line interface is called a shell and is loaded when a user logs in to a system. The default shell in Slackware is called Bash (Bourne-again shell). Although other shells will be briefly discussed in Chapter 3, the CLI manual will focus predominantly on Bash, the most common shell on today's Linux systems. Once you've started the X window system, you can access the shell via virtual terminals which can be opened by pressing Alt+F2 through F6 (the 7th being the current X session).

Terminals

Terminal Emulators

A more convenient and common solution, however, is to access the shell via terminal emulators. Slackware ships with the following terminal emulators:

  • xterm
  • Konsole (KDE)
  • Terminal (Xfce)
  • rxvt

There are many more terminal emulators available from Slackbuilds.org. Some popular ones are:

Despite the fact that ultimately they all provide access to the shell, some of them offer unique features that may be appealing to you so it is worth doing some research on them.

Terminal Multiplexers

Another CLI tool that may come in handy, especially if you are working on remote systems, are terminal multiplexers which make it possible to run multiple terminal sessions within one virtual terminal or terminal emulator window. Two most popular terminal multiplexers are screen (comes with Slackware) and tmux (available from SlackBuilds).

Chapter Navigation

Next Chapter: First Steps

Sources

 es:howtos:cli_manual:introduction ()