[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

Command Line Interface (CLI) Manual

Work in Progress


Intended Audience

This guide is intended to help new Linux users understand the power of the shell, and how to use it to enhance their productivity or just have a little more fun with their Linux based installation.

Experienced users can also use this guide to learn new tricks or just serve as a reference for little used functions.

Conventions Used

The following conventions are used to format the contents of this guide.

Content contributors can see the flags in the source of this page.
  • Emphasis
    All emphasized text will be presented in BOLD text.
  • Footnotes1)
    Footnotes will be noted 2)
  • Filenames
    All filenames including references to filename will be monospaced text.
  • Application
    All application names and references to application manuals will be underlined.
  • Commands
    All commands and optional arguments will be represented in bold + italic text.
    When a command contains output, it will be displayed in a code block, user executed command will be displayed with the “$” prompt such as

    root executed command will be displayed with a “#” prompt such as

  • File Contents
    All file contents will be displayed in unformatted content boxes like:
    This is a file
      Yes, it is a file
  • Code
    All scripts and code will be presented in a code box, in which the text will be formatted with color when available such as is displayed below.
    echo "This is sample code"
  • Notes
    All notes about use will be presented in note boxes, we will be using note, important and warning boxes as shown below.
This is a Note
This is an important note
This is a warning note
Author Notes
When applying content you can choose to omit formatting characters with two percent symbols to display the text as displayed below.

will properly display a web address since the double forward slashes are normally used to make text italic.

Please document the source with internal questions and placeholders to note your intentions, this is accomplished with the start and end flags as shown in

<!-- This is a Note -->

Manual Chapters

  1. First steps (work in progress: — Andrew Daniel 2012/09/23 13:39)
  2. Shells (work in progress: — Marcin Herda 2012/09/23 15:29)
    1. Configuring your environment
      1. Configuring a shell prompt
      2. Using variables
      3. Building aliases
      4. Relevant dot files
    2. Useful parameters and variables
    3. Wildcards
    4. Shell history
  3. Getting help (man/info pages)
    1. Searching man pages
    2. Help files
    3. Web sources
  4. Locating commands
    1. which
    2. whereis
    3. apropos
  5. Basic directory navigation
  6. Working with directories (relative vs absolute pathnames, brace/tilde expansion,
  7. Working with files (file types, file management, comparing files)directory structure)
  8. Compressing and archiving files
    1. tar
    2. gz
    3. bz2
    4. xz
    5. zip
    6. rar
  9. User/Group permissions
    1. Users and groups
    2. Permissions and ownership
  10. Standard input and output / Redirection
    1. Sorting output and pipes
  11. Job control
  12. Locating content
    1. Finding files
    2. Finding text in files
  13. Text processing tools
  14. Common keybindings
  15. Searching and replacing
  16. Managing filesystems (checking/creating/mounting)
    1. Introduction to CLI filesystem tools
    2. Using mount
    3. How to read and edit fstab
  17. Monitoring available resources (disk space/ memory / processes)
    1. Monitor filesystem disk space usage with df
    2. Monitor files / directories size with du
    3. Monitor processes and system information with top / htop
    4. Monitor available memory with free.
  18. Getting information / troubleshooting network
    1. Using ifconfig
    2. Using iwconfig
    3. Using netstat
  19. Automating and scheduling tasks
    1. Introduction to cron daemons
    2. Schedule a job for later withat
  20. Writing and executing shell scripts
    1. Shell script arguments
    2. Tests and Conditional Statements
    3. Flow control (eg. running a command on a number of files)
    4. Running scripts on boot and shutdown
  21. System Maintenance and troubleshooting
    1. Gathering system information to get help
  22. Development tools
    1. Introduction to CLI development tools
    2. Using gcc
  23. Common tasks
    1. downloading files
    2. downloading torrents
    3. sending and receiving emails
    4. listening to music
    5. tagging your music
    6. Getting things done
    7. reading news
    8. Talking on irc channels
    9. burning a cd
  24. CLI glossary


this is a footnote
like this
 howtos:cli_manual:start ()