[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

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howtos:cli_manual:introduction [2012/09/23 15:21 (UTC)] – [CLI is good - Do not fear it] added some benefits mfillpothowtos:cli_manual:introduction [2012/09/26 04:11 (UTC)] (current) – changed chapter links to relative links mfillpot
Line 1: Line 1:
 <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). --> <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). -->
-<note important>Work in Progress</note> 
 ====== CLI Introduction ====== ====== CLI Introduction ======
  
Line 8: Line 7:
  
  
-===== CLI is good - Do not fear it =====+===== CLI is Good - Do Not Fear It =====
  
 The following are some of the advantages to using CLI: The following are some of the advantages to using CLI:
Line 15: Line 14:
   - GUI tools are often just frontends for command line tools. This brings another layer of complexity and is more difficult to troubleshoot.   - GUI tools are often just frontends for command line tools. This brings another layer of complexity and is more difficult to troubleshoot.
   - Most commands are distro agnostic: they work on other Linux systems as well.   - Most commands are distro agnostic: they work on other Linux systems as well.
-  - CLI commands are building blocks that can be put together to create custom scripts that are tailored to your needs. +  - CLI commands are building blocks that can be //glued// together to create complex commands or custom scripts that are tailored to your needs. 
   - CLI commands can be used to automate repetitive tasks   - CLI commands can be used to automate repetitive tasks
   - CLI commands do not change often.   - CLI commands do not change often.
Line 21: Line 20:
   - CLI scripts can include comments that can act as notes and internal documentation explaining the functionality and simplifying future modifications.   - CLI scripts can include comments that can act as notes and internal documentation explaining the functionality and simplifying future modifications.
   - CLI based instructions are easier to document for sharing with others as opposed to long how-tos and screenshots necessary for GUI instructions.   - CLI based instructions are easier to document for sharing with others as opposed to long how-tos and screenshots necessary for GUI instructions.
 +  - CLI commands let you easily access and manage remote systems.
  
-===== CLI is powerful - Use it wisely =====+===== 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: Being very powerful and flexible, CLI commands can also be unforgiving and potentially harmful to your system. Please remember about the following:
Line 28: Line 28:
   - Do not run commands as root unless it is absolutely necessary   - Do not run commands as root unless it is absolutely necessary
   - For learning and everyday tasks issue commands as a normal user   - For learning and everyday tasks issue commands as a normal user
-  - Some commands cannot be undone - test your commands carefully before you run them on your system+  - Some commands cannot be undone - test your commands and read the associated manuals carefully before you run them on your system
   - Avoid running commands that you do not understand (especially as root)    - 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 [[.shells|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 <key>Alt</key>+<key>F2</key> through <key>F6</key> (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 [[http://www.slackbuilds.org|Slackbuilds.org]]. Some popular ones are:
 +
 +  * [[http://slackbuilds.org/system/aterm/|aterm]]
 +  * [[http://slackbuilds.org/system/eterm/|eterm]]
 +  * [[http://slackbuilds.org/system/rxvt-unicode/|rxvt-unicode (urxvt)]]
 +  * [[http://slackbuilds.org/system/sakura/|sakura]]
 +  * [[http://slackbuilds.org/system/terminator/|terminator]]
 +
 +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 [[http://en.wikipedia.org/wiki/Terminal_multiplexer|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 [[http://slackbuilds.org/system/tmux/|SlackBuilds]]).
 +
 +====== Chapter Navigation ======
 +
 +**Next Chapter: [[.first_steps|First Steps]]**
  
  
Line 37: Line 69:
 <!-- Authors are allowed to give credit to themselves! --> <!-- Authors are allowed to give credit to themselves! -->
   * Originally written by [[wiki:user:sycamorex |Marcin Herda]]   * Originally written by [[wiki:user:sycamorex |Marcin Herda]]
-<!-- * Contributions by [[wiki:user:yyy User Y]] -->+  * Contributions by [[wiki:user:mfillpot |Matthew Fillpot]] 
  
 <!-- Please do not modify anything below, except adding new tags.--> <!-- Please do not modify anything below, except adding new tags.-->
 <!-- You must remove the tag-word "template" below before saving your new page --> <!-- You must remove the tag-word "template" below before saving your new page -->
-{{tag>work_in_progress author_sycamorex}}+{{tag>cli author_sycamorex}}
 howtos:cli_manual:introduction ()