====== Command Line Interface (CLI) Manual ====== Work in Progress FIXME ===== 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. * Footnotes((this is a footnote)) \\ Footnotes will be noted ((like this)) * ''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 user@darkstar:~$pwd /home/user \\ root executed command will be displayed with a "#" prompt such as root@darkstar:~#pwd /home/root * 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. http:%%//docs.slackware.com 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 ===== Manual Chapters ===== - [[.introduction|Introduction]] - [[.first_steps|First steps]] (work in progress: --- //[[wiki:user:b1ueb1aze|Andrew Daniel]] 2012/09/23 13:39//) - [[.first_steps#i_basic_commands|Basic commands]] - [[.first_steps#ii_choosing_a_text_editor|Choosing a text editor]] - [[.first_steps#nano|nano]] - [[.first_steps#emacs|emacs]] - [[.first_steps#vim|vim]] - [[.shells|Shells]] (work in progress: --- //[[wiki:user:sycamorex|Marcin Herda]] 2012/09/23 15:29//) - Configuring your environment - Configuring a shell prompt - Using variables - Building aliases - Relevant dot files - Useful parameters and variables - Wildcards - Shell history - Getting help (man/info pages) - Searching man pages - Help files - Web sources - Locating commands - which - whereis - apropos - Basic directory navigation - Working with directories (relative vs absolute pathnames, brace/tilde expansion, - Working with files (file types, file management, comparing files)directory structure) - Compressing and archiving files - tar - gz - bz2 - xz - zip - rar - User/Group permissions - Users and groups - Permissions and ownership - Standard input and output / Redirection - Sorting output and pipes - Job control - Locating content - Finding files - Finding text in files - Text processing tools - Common keybindings - Searching and replacing - Managing filesystems (checking/creating/mounting) - Introduction to CLI filesystem tools - Using mount - How to read and edit fstab - Monitoring available resources (disk space/ memory / processes) - Monitor filesystem disk space usage with df - Monitor files / directories size with du - Monitor processes and system information with top / htop - Monitor available memory with free. - Getting information / troubleshooting network - Using ifconfig - Using iwconfig - Using netstat - Automating and scheduling tasks - Introduction to cron daemons - Schedule a job for later with''at'' - Writing and executing shell scripts - Shell script arguments - Tests and Conditional Statements - Flow control (eg. running a command on a number of files) - Running scripts on boot and shutdown - System Maintenance and troubleshooting - Gathering system information to get help - Development tools - Introduction to CLI development tools - Using gcc - Common tasks - downloading files - downloading torrents - sending and receiving emails - listening to music - tagging your music - Getting things done - reading news - Talking on irc channels - burning a cd - CLI glossary ====== Sources ====== {{tag>work_in_progress author_mfillpot author_sycamorex author_b1ueb1aze}}