GNU/Linux Command-Line Tools Summary Gareth Anderson                      Chris Karakas -Conversion from LyX to DocBook SGML, Index generation Revision History Revision 1.2 15th April 2006 Revised by: GA Corrected typing errors, generated new, much smaller index (more accurate in my opinion). Updated errors in document for TLDP. Revision 1.1 28th February 2006 Revised by: CK Corrected typos, generated new index (9000 index entries!). Revision 1.0 6th February 2006 Revised by: GA Major restructuring, now in a docbook book format. Removed large chunks of content and revised other parts (removed chapters and sectioned some areas more). This is likely the final release by the author, I hope that someone finds this guide useful as I do not intend to continue work on this guide. Revision 0.7.1 25th February 2005 Revised by: CK Set special characters in math mode, produced PDF and PS with Computer Modern fonts in OT1 encoding and created correct SGML for key combinations. Revision 0.7 5th December 2004 Revised by: GA Updated document with new grammatical review. Re-ordered the entire Text section. Removed a fair amount of content. Revision v0.6 20th April 2004 Revised by: GA Revision v0.5 6th October 2003 Revised by: GA Fixed a variety of errors as according to the review and made some consistency improvements to the document. Revision v0.4 15th July 2003 Revised by: GA Made small improvements to the document as suggested (so far) by the thorough TLDP review, improved consistency of document and made small content additions. Revision v0.3 26th June 2003 Revised by: GA Minor errors fixed, updated the appendix with information for finding where a tool is from. Fixed referencing/citation problems and improved further reading and intro sections, added an audio section. Revision v0.2 20th April 2003 Revised by: GA This is the initial public release. Added more code-style then before, broke text-section into more subsections. Improved consistency of document and fixed various index entries. Revision v0.1 27th March 2003 Revised by: GA This is the initial draft release (the first release to be converted from LyX to DocBook SGML). This document is an attempt to provide a summary of useful command-line tools available to a GNU/Linux based operating system, the tools listed are designed to benefit the majority of users and have being chosen at the authors discretion. This document is not a comprehensive list of everyexistent tool available to a GNU/Linux based system, nor does it have in-depth explanations of how things work. It is a summary which can be used to learn about and how to use many of the tools available to a GNU/Linux based operating system. ------------------------------------------------------------------------------- Table of Contents 1. Introduction 1.1. Who_would_want_to_read_this_guide? 1.2. Who_would_not_want_to_read_this_guide? 1.3. Availability_of_sources 1.4. Conventions_used_in_this_guide 1.5. Resources_used_to_create_this_document 1.6. Feedback 1.7. Contributors 2. Legal 2.1. Disclaimer 2.2. License 3. The_Unix_Tools_Philosophy 4. Shell_Tips 4.1. General_Shell_Tips 4.2. The_command-line_history 4.3. Other_Key_combinations 4.4. Virtual_Terminals_and_screen 5. Help 6. Directing_Input/Output 6.1. Concept_Definitions 6.2. Usage 6.3. Command_Substitution 6.4. Performing_more_than_one_command 7. Working_with_the_file-system 7.1. Moving_around_the_filesystem 7.2. Working_with_files_and_folders 7.3. Mass_Rename/copy/link_Tools 8. Finding_information_about_the_system 8.1. Date/Time/Calendars 8.2. Finding_information_about_partitions 9. Controlling_the_system 9.1. Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions) 9.2. Shutting_Down/Rebooting_the_System 9.3. Controlling_Processes 9.4. Controlling_services 10. Managing_users 10.1. Users/Groups 11. Text_Related_Tools 11.1. Text_Editors 11.2. Text_Viewing_Tools 11.3. Text_Information_Tools 11.4. Text_manipulation_tools 11.5. Text_Conversion/Filter_Tools 11.6. Finding_Text_Within_Files 12. Mathematical_tools 13. Network_Commands 13.1. Network_Configuration 13.2. Internet_Specific_Commands 13.3. Remote_Administration_Related 14. Security 14.1. Some_basic_Security_Tools 14.2. File_Permissions 15. Archiving_Files 15.1. tar_(tape_archiver) 15.2. rsync 15.3. Compression 16. Graphics_tools_(command_line_based) 17. Working_with_MS-DOS_files 18. Scheduling_Commands_to_run_in_the_background 19. Miscellaneous 20. Mini-Guides 20.1. RPM:_Redhat_Package_Management_System 20.2. Checking_the_Hard_Disk_for_errors 20.3. Duplicating_disks 20.4. Wildcards A. Appendix A.1. Finding_Packages/Tools A.2. Further_Reading A.3. GNU_Free_Documentation_License Bibliography Index ------------------------------------------------------------------------------- Chapter 1. Introduction This document is an attempt to summarise the many command-line based tools available to a GNU/Linux based operating system. This guide is not a complete listing (I doubt it's possible to document all available programs), this document lists many tools which are available to GNU/Linux systems and which are, or can be useful to the majority of users. Each tool description provides a quick overview of it's function and some useful options for that individual tool. The tools listed that require a GUI, usually the X windowing system, are those listed in the Graphics Tools section. All other tools are completely command- line-based and do not require a GUI to run. If you are looking for information on GUI based tools you will need to look elsewhere. Also note that a few of the tools in this guide are bash (the Bourne-Again- SHell) specific, tools specific to other shells are not listed in this document. For some of the tools that are harder to use, or perform a more complex task, there are several mini-tutorials (or mini-guides; Chapter_20) within this document. Where a mini-guide was considered unncessary, detailed descriptions that explain in detail how a particular tool works, and some examples of how to use it are provided. Please note that the word “tool” is used interchangeably with the word “command”, both have the same meaning (at least in this guide). For a more detailed explanation, read about the UNIX Tools Philosophy here: Chapter_3 or visit the links in the appendix, Section_A.2.2.1. Tip To find out which tools are bash specific To find out which tools are bash specific you can type: ___________   | | | enable -a| |___________| ------------------------------------------------------------------------------- 1.1. Who would want to read this guide? Anyone who is interested in learning about the tools (also known as commands) available to them when using their GNU/Linux based operating system. Why would you want to learn how to use the command-line (and available tools)? The Command Line-Interface (CLI), while difficult to learn, is the quickest and most efficient way to use a computer for many different tasks. The CLI is the normal method of use for most UNIX system administrators, programmers and some power users. While a GUI is better suited to some tasks, many operations are best suited to the CLI. The major motivation behind learning the GNU/Linux CLI is the authors idea that, with software in general, the more time spent learning something equals less time spent performing that particular task (authors opinion only). This guide is aimed at beginners to intermediate users who want to learn about the command-line tools available to them. Advanced users may wish to use it as a command reference, however this document aims to list commands of interest, as judged by the authors opinion, it is not designed to be completely comprehensive, see the appendix, Section_A.2.1 for further information. Or if you are not looking for a command reference guide, but a more gentle introduction to GNU/Linux you may be interested in the Introduction_to_Linux guide authored by Machtelt Garrels. This guide could also be considered a summarised version of the Linux Cookbook. If you are looking for a book with more detailed descriptions of each tool have a look at the Linux_Cookbook_Homepage, also check out the command_list_from "Linux_in_a_Nutshell_3rd_Edition" for an index of 300+ commands and their explanations. ------------------------------------------------------------------------------- 1.2. Who would not want to read this guide? Anyone who is not interested in the command-line, or anyone looking for a detailed reference to all available GNU/Linux tools should look elsewhere. This is only a summary, while it does list many commands, it's not a complete listing (I don't think it's possible to make a complete listing anyway). This document would not be of interest to those who already have an expert knowledge of the command-line interface and do require any reference information. Or those readers who require detailed lists of options for each command, the man pages are better suited to this purpose. ------------------------------------------------------------------------------- 1.3. Availability of sources The modifiable sources of the original book (in english), are available in LyX format (LyX Document Processor) or Machine-translated SGML (SGML markup language). LyX is a completely free document processor based on LaTeX, downloadable from the_LyX_homepage.. See for the modifiable sources of this document. These are the official versions. We (the translators and current maintainers) plan to continue work on this document and add new chapters and enhancements. If you want to see the version we are currently working on (the "bleeding edge" version), check the GNU/Linux_Command-Line_Tools_Summary_Homepage from time to time (kindly hosted by Chris_Karakas). ------------------------------------------------------------------------------- 1.4. Conventions used in this guide The following conventions are used within this guide: italic Anything appearing in italic, like thisis either an executable command or emphasized text. Tools (executable commands) are in italics to prevent confusion. Some tools have names which are real english words, such as the “locate” tool. key combinations Are represented by using a '-' (dash sign) in-between the key(s), which must be used in combination. All combinations are also printed in italics to improve clarity. For example CTRL-Z means hold down theControl key and press the z key. admonitions Admonitions are little pictures used to emphasize something of importance to the reader. The five types used are: Note This is a note   Notes often give important information about a tool. Tip This is a tip   This will offer a useful switch or useful way to use a tool. Important This is something important This is something that is considered very important. Consider   it like a note with extra importance, they are usually there to save the reader time. Caution This is a caution   This will inform you of something that you be careful about (because it could be harmful to your system). Warning This is a warning   This will inform you of something that you shouldn't do (because it probably will break something within your system). code examples Code examples are shown for most commands. Below is an example of what code looks like: _____________________________________ | | | Hello World, I'm a code example. :)| |_____________________________________| command syntax (or a similar phrase) simply shows how you would normally use the command. Often real examples are used instead of explaining the command syntax. The phrase “ Command syntax” is always followed by the way you would type a command in a shell. The standard syntax for any tool is usually: _______________________ | | | command -options file| |_______________________| Note Note   Note that some tools do not accept options. wildcards Also note that most commands, even when not explicitly stated, will work with standard wildcards (or globbing patterns) such as *, [A-Z] and various other standard wildcards. Refer to Section_20.4.1 for further information. access keys Access keys enable navigation through the document, without relying on a mouse. The following keys have been given special meaning in this document: P Previous page. N Next page. H Home of the document (Table of Contents). U Up (takes you one level up the section hierarchy). If you also happen to be reading the document from its original location, then the following access keys can also be used: S Start (takes you to the author's start page). T The current (“This”) page, without the Sitemenu on the left. M The current page in a frameset, where the left frame contains a Menu. To use the access keys, you have to simultaneously press a modifier key, which may vary from browser to browser. For example in NN6+/Mozilla, the modifier key is ALT, so you have to use ALT-N to go to the next page, and ALT-P to come back. In other browsers such as IE6, the access keys just give focus to the associated link, so the sequence becomes ALT-N Enter . Try it, you'll like it! ------------------------------------------------------------------------------- 1.5. Resources used to create this document To create the GNU/Linux Command-Line Tools Summary, I used LyX, the document processor. To convert the LyX files to DocBook SGML I used the lyxtox_Scripts created by Chris_Karakas. You may also want to check out the db2lyx package, created by Dr. B Guillion, which can be used to convert LyX files to XML DocBook and XML DocBook back to LyX. I also had assistance from various The_Linux_Documentation_Project volunteers (see the contributors section Section_1.7 for specific details). ------------------------------------------------------------------------------- 1.6. Feedback Feedback is necessary for the advancement of this guide. Positive, constructive criticism is encouraged. If you have ideas, suggestions, advice, or problems with this guide, please send an email to the author Gareth_Anderson. Important Contributions If you wish to make contributions it is recommended (if possible) to read the LyX file(s) for this document. They contain various notes which you can't see in the other versions.   These notes highlight the areas that need contributions, certain tools which I cannot understand, tools which have not been added, or tools which were removed. These notes also explain some of the structure of this document. ------------------------------------------------------------------------------- 1.7. Contributors As you may be able to see, parts of this guide are based off various advice columns on GNU/Linux, anything that has being directly quoted from an article can be found in the references, Bibliography, section of this document. The following is a list of people who have made a significant contribution to this document, in a rough chronological order. Chris_Karakas: Chris allowed the use of his lyxtox scripts to convert the LyX file of the document to working DocBook SGML output (to learn how to use the lyxtox scripts yourself, see Document_processing_with_LyX_and_SGML). * Chris provided useful suggestions and advice, and added an index listing for many of the commands. * Chris is also responsible for the great looking HTML file for this document (the CSS file and HTML customisations are completely his work). * Chris has also helped fix up problems in the document (many times), especially with docbook/sgml, and LyX related issues. * Chris has also improved the structure of the document by adding labels and fixing minor errors. William West: William provided a thorough review of the document as required by the Linux_Documentation_Project. He is responsible for a variety of improvements to the quality of this document. His contributions include: * Improvements to the readability of this document. * Improvements to the structure and consistency of this document. * Various grammar improvements throughout the document. * Repair of some minor technical errors. Tabatha_Persad/Marshall: Tabatha, as the Linux_Documentation_Project Review Coordinator (at the time) also gave a brief review of this document. Her general advice was used to improve the structure, language and grammar of the document. Rahul_Sundaram: Rahul provided a brief review of this document for the Linux Documentation_Project. Advice from his brief review was integrated into this document to improve readability and structure, several references were added as recommended by Rahul. David_Lawyer: David's criticism of the document (via the TLDP discuss list) were listened to, and attempts to improve the document were made. A number of his criticisms were addressed and improved. George Harmon: George provided a second language review. His detailed review of the material allowed me to improve the general grammar of the document and some minor errors. Machtelt_Garrels_(tille): Machtelt provided tips in regard to referencing the correct LDP documents from this guide. As well as general advice on improvements to the guide. Michael Kerrisk: Michael pointed out a number of technical errors in the document after his brief review on behalf of the TLDP during posts to the discussion list. ------------------------------------------------------------------------------- Chapter 2. Legal The legal chapter provides information about the disclaimer that applies to the entire document and the licensing information. ------------------------------------------------------------------------------- 2.1. Disclaimer No liability for the contents of this document can be accepted. Use the concepts, examples and other content at your own risk. There may be errors and inaccuracies, that may of course be damaging to your system. Although this is highly unlikely, you should proceed with caution. The author does not accept any responsibility for any damage incurred. All copyrights are held by their respective owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. Naming of particular products or brands should not be seen as endorsements. UNIX is a registered trademark of The Open Group. ------------------------------------------------------------------------------- 2.2. License Copyright © 2003 - 2006 Gareth Anderson. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license can be found in the section called the GNU Free Documentation License or at the GNU_Documentation_License Site. ------------------------------------------------------------------------------- Chapter 3. The Unix Tools Philosophy A tool is a simple program, usually designed for a specific purpose, it is sometimes referred to (at least throughout this document) as a command. The “ Unix tools philosophy” emerged during the creation of the UNIX operating system, after the breakthrough invention of the pipe '|' (refer to Chapter_6 for information on using the pipe). The pipe allowed the output of one program to be sent to the input of another. The tools philosophy was to have small programs to accomplish a particular task instead of trying to develop large monolithic programs to do a large number of tasks. To accomplish more complex tasks, tools would simply be connected together, using pipes. All the core UNIX system tools were designed so that they could operate together. The original text-based editors (and even TeX and LaTeX) use ASCII (the American text encoding standard; an open standard) and you can use tools such as; sed, awk, vi, grep, cat, more, tr and various other text-based tools in conjunction with these editors. Using this philosophy programmers avoided writing a program (within their larger program) that had already been written by someone else (this could be considered a form of code recycling). For example, command-line spell checkers are used by a number of different applications instead of having each application create its own spell checker. This philosophy lives on today in GNU/Linux and various other UNIX system-based operating systems (FreeBSD, NetBSD, OpenBSD, etc.). For further information (articles) on the UNIX tools philosophy please see the further reading section, here: Section_A.2.2.1 ------------------------------------------------------------------------------- Chapter 4. Shell Tips The shell tips chapter provides handy tricks that you may wish to use when you are using a GNU/Linux shell (the command-line interface). This information includes handy shortcut key combinations, the shell's command history and information on virtual terminals. Tip If you can't boot into your system If your having problems booting into your system you may like to use a shell so you can boot into your system and attempt to fix things up again.   To do this you need to pass the “init=/bin/sh” to your system before you boot up. If you don't know how to do this please see Chapter_14, the technique is the same except this time you pass "init=bin/sh" rather than "single". ------------------------------------------------------------------------------- 4.1. General Shell Tips Automatic Command Completion Use the TAB key and bash will attempt to complete the command for you automatically. You can use it to complete command (tool) names. You can also use it when working with the file-system, when changing directories, copying files et cetera. There are also other lesser known ways to use automatic command completion (for example completing user names):[1] ESC-Y  (Y: special character) testing autoindexing Will attempt to complete the command name for you. If it fails it will either list the possible completions (if they exist). If there are none it will simply beep (and/or) flash the screen. CTRL-X-Y  (Y: special character) Lists the possible completions (it won't attempt to complete it for you) or beep if there are no possible completions. Special-characters: Use the following special characters combined with either ESC-Y or CTRL- X-Y , where Y is some special characters. For example ESC-$ or CTRL-X- $ to complete an environment variable name. * ~ (tilde) complete a user name * @ (at sign) complete a machine name * $ (dollars sign) complete an environment variable name * ! (exclamation mark) a magic character for completing a command name or a file name. The ! special character has the same function as the TAB key. It works in some other situations; for example when completing man page names. alias The alias command will list your current aliases. You can use unalias to remove the alias (to disable it just for one command add a “\” (back- slash) before the command)... An alias allows one command to be substituted for another. This is used to make a command do something else or to automatically add certain options. This can be either be done during one session using the alias command (see below) or the information can be added to the .bashrc file (found in the users home directory). Below is an example of what an alias section (within your .bashrc file) might look like: _______________________________________________________________________ | | | # my personal aliases | | alias cp='cp -vi' #to prompt when copying if you want to overwrite | | and will tell you where information is going | | alias rm='rm -i' #Prompts you if you really want to remove it. | | alias mv='mv -i' #Prompts you if you are going to overwrite something| |_______________________________________________________________________| On any Mandriva GNU/Linux system the global aliases (for all users) are all in /etc/profile.d/alias.sh. The above listed commands already have aliases, as well as several other commonly used commands. set -x setis one of bash's inbuilt commands, try looking in the bash manual for its many usage options. Using set with the-x option will make bash print out each command it is going to run before it runs it. This can be useful to find out what is happening with certain commands such as things being quoted that contain wildcards or special symbols that could cause problems, or complex aliases. Useset +x to turn this back off. Examples After using set -x you can run the command: ____ | | | ls| |____| The output printed before the command runs (for example): _______________________ | | | + ls -F --color=auto | |_______________________| Which means that the command is really an alias to run ls with the -F and --color=auto options. Use a “\” (backslash) before the command to run it without the alias. \ (backslash) The backslash escape character can be used before a shell command to override any aliases. For example if rm was made into an alias forrm -i then typing “rm” would actually runrm -i. However, typing \rm lets the shell ignore the alias and just run rm (its runs exactly what you type), this way it won't confirm if you want to delete things. Caution Using rm Please note that the alias for the remove command is there for a reason. Using it incorrectly could remove files which you   don't want removed. Only use \rm if you know exactly what you are doing (recovering files is not easy, rm does not send things to a recycle bin). The “\” character can be used before special characters (such as a space or a wildcard), to stop bash from trying to expand them. You can make a directory name with a space in it using a backslash before the space. For example you could type cd My\Directory\With\Spaces which normally wouldn't work. The “\” character can also be used to stop bash from expanding certain symbols (as an alternative you could use single quotation marks, although you may need to use both). Tip The TAB Key Please note that using the TAB key (automatic-command-completion)   will automatically use escapes for spaces (so you don't have to type them manually). script The “script” command creates a typescript, or "capture log" of a shell session - it writes a copy of your session to a file, including commands you type and their output. ~ (tilde character) The tilde character is used as an alias to a users home directory. For example, if your user-name was “fred”, instead of typingcd /home/ fredyou could simply typecd ~.Or to get to fred's tmp directory (under his home directory) you could typecd ~/tmp. Tip Home directory shortcut ~ (tilde) can also be used as a shortcut to other users home   directories, simply type: ~user_name and it will take you to the users home directory. Note that you need to spell the username exactly correct, no wildcards.   set bell-style none This particular set command will turn off the system bell from the command-line (use xset -b for X windows). If you want the bell to stay off pernamently (no audible bell) then you can add this command to your “.bashrc” or “.bash_profile” (just add it to the same one you have your alises in...). reset The reset command re-initializes your current terminal. This can be useful when the text from your terminal becomes garbled, simply type “reset” and this will fix your terminal. exit Closes your current terminal (with x-terminals) or logs-out. Also try CTRL-D . logout Logs out of a terminal, also try CTRL-D . echo A little command that repeats anything you type. Example: ________________________ | | | echo “hello world”| |________________________| Simply displays “ hello world”. Example: ______________ | | | echo rm -R *| |______________| This will output what will be passed to the rm command (and therefore what would be deleted), putting echo before a command renders it harmless (it just expands wildcards so you know what it will do). Also try using the-e option with echo. This will allow you to use the escape character sequences to format the output of a line. Such as '\t' for tab, '\n' for newline etc. Tip Using echo to prevent accidents Typing: echo command(s)couldsave you the trouble of accidentally   doing something you didn't expect. Using echo allows you to expand the wildcards to understand what will happen before you actually run the command. ------------------------------------------------------------------------------- 4.2. The command-line history Using the command history Use the up and down key's to scroll through previously typed commands. Press [Enter] to execute them or use the left and right arrow keys to edit the command first. Also see history (below). The history command Thehistory command can be used to list Bash's log of the commands you have typed: This log is called the “history”. To access it type: ___________ | | | history n| |___________| This will only list the last n commands. Type “history” (without options) to see the entire history list. You can also type !n to execute command number n. Use !! to execute the last command you typed. !-nwill execute the command n times before (in other words !-1 is equivalent to !!). !stringwill execute the last command starting with that “string” and !?string? will execute the last command containing the word “string”. For example: _____ | | | !cd| |_____| Will re-run the command that you last typed starting with “cd”. “ commandName !*” will execute the “commandName” with any arguments you used on your last command. This maybe useful if you make a spelling mistake, for example. If you typed: _______________________________________________ | | | emasc /home/fred/mywork.java /tmp/testme.java| |_______________________________________________| In an attempt to execute emacs on the above two files this will obviously fail. So what you can do is type: __________ | | | emacs !*| |__________| This will execute emacs with the arguments that you last typed on the command-line. In other words this is equivalent to typing: _______________________________________________ | | | emacs /home/fred/mywork.java /tmp/testme.java| |_______________________________________________| Searching through the Command History ( CTRL-R ) Use the CTRL-R key to perform a “reverse-i-search”. For example, if you wanted to use the command you used the last time you used snort, you would type: CTRL-R then type “snort”. What you will see in the console window is: _______________________ | | | (reverse-i-search)`':| |_______________________| After you have typed what you are looking for, use the CTRL-R key combination to scroll backward through the history. Use CTRL-R repeatedly to find every reference to the string you've entered. Once you've found the command you're looking for, use [Enter] to execute it. Alternatively, using the right or left arrow keys will place the command on an actual command-line so you can edit it. ------------------------------------------------------------------------------- 4.3. Other Key combinations GNU/Linux shells have many shortcut keys which you can use to speed up your work, below is a rough list of some (also see CTRL-R in the history section of the commands, over here, Section_4.2). CTRL-D the “end-of-file” (EOF) key combination can be used to quickly log out of any terminal. CTRL-D is also used in programs such as “at” to signal that you have finished typing your commands (the EOF command). CTRL-Z key combination is used to stop a process. It can be used to put something in the background temporarily. For example, if you were editing a file with vim or emacs just press CTRL-Z to regain control of the terminal do what you want and then type fg to bring it back. For further information please see Section_9.3. Tip If fg doesn't work   If fg doesn't work you may need to type jobs and then fg job_name or fg job_number CTRL-A  and  CTRL-E These key combinations are used for going to the start and end of the line on the command line. Use CTRL-A to jump to the start of the line, and CTRL-E to jump to the end of the line. CTRL-K This key combination can be used to cut or delete what is currently in front of the cursor. CTRL-Y This key combination can be used to paste the last thing you deleted (using CTRL-K or CTRL-W ). CTRL-W This key combination can be used to cut or delete the entire line that has being typed. ------------------------------------------------------------------------------- 4.4. Virtual Terminals and screen Using the key combination ALT-F* keys you may change to different virtual terminals. You will have several (usually 6) virtual terminals setup with shells. Number 7 is usually setup with X you need to use CTRL-ALT-F* to change to a terminal from within X (X as in the X windowing system). screen is a great program that allows you to switch between multiple virtual terminals on the one physical terminal that you are using. Its a command- line based window manager, clearly this isn't that useful if you do have virtual terminals, but its amazingly useful when you log into machines remotely, using ssh and similar, see Section_13.3. It works on key- combinations, you type ________ | | | screen| |________| On the command-line to begin. Now you start with one virtual terminal by default, but using the key combination CTRL-A and then hitting "C" you can create another virtual terminal to use. Use CTRL-N to go to the next virtual terminal and CTRL-P to go to the previous virtual terminal. Also try hitting CTRL-A to go backwards and forwards between two particular terminals. screen also has various other abilities that you can test out. The documentation and guides are well written so please feel free to read the manual page or try searching the internet. ------------------------------------------------------------------------------- Chapter 5. Help The help chapter provides information on how you may access the documentation of the GNU/Linux system. There is normally a document describing every single tool you have installed, even if its only brief... man This command displays summary information on a program from an online manual. For example typing man manwill bring up the manual page for man (the manual page viewer). Note: q is the quit key. Command syntax: __________________ | | | man program_name| |__________________| Tip Also try Specifying the section of the manual page, sometimes the man page is different for the same tool in different sections, note sections are numbered 1 to 9. Use apropos to find which section number to look in. The syntax to look at a different section is: ______________________________ | | | man section_number tool_name|   |______________________________| For example: ____________ | | | man 2 time| |____________| This will show you the man page called time in section 2, the equivalent page in section 1 is completely different man -K keyword Search the manual pages for a string, as in it will search all manual pages for a particular string within each individual man page, it will then prompt whether you would like to view each page it will find. Use double quotes “ and ” if there are spaces in the string you are typing. Caution Speed issue   Please be warned that this method is going to be really, really slow. You are searching *all* man pages for a string man -f command This will list details associated with the command. The root user must run makewhatis (see below) before this command will work. Note Equivalent to whatis   This command is the same as running whatis info Provides a more detailed hyper-text manual on a particular command, this only works for some commands. Command syntax: ___________________ | | | info program_name| |___________________| whatis Displays a one-line description of what a program does. The string needs to be an exact match, otherwise whatis won't output anything. Relies on the whatis database (see below). Command syntax: _____________________ | | | whatis program_name| |_____________________| makewhatis Make the whatis database for apropos, whatis andman -f. Note Root Privileges   This takes some time and you require root privileges to do this. apropos Searches the whatis database for strings, similar to whatis except it finds and prints anything matching the string (or any part of the string). Also relies on the whatis database (see above). Command syntax: ________________ | | | apropos string| |________________| Note Equivalent to...   apropos is the same as doing man -k (lowercase k). Note Please note   You need to run makewhatis (as root) so whatis, man -fand aproposwill work. Tip Also try   Using a program with the -?, --h, --help, and the -h options, they will display very short summary information on the command usage options. ------------------------------------------------------------------------------- Chapter 6. Directing Input/Output The directing input/output chapter explains how you can use a program and send its output to a file or to another command that you wish to use. This technique is very powerful and there are a number of ways of doing this. ------------------------------------------------------------------------------- 6.1. Concept Definitions All three of the following definitions are called “ File Streams.” They hold information that is either received from somewhere or sent to somewhere. In a UNIX system, the keyboard input (standard input), information printed to the screen (standard output) and error output (also printed to the screen) are treated as separate File Streams. Standard output Standard output is the output from the program printed to the screen, not including error output (see below). Standard input Standard input is the input from the user. Normally the keyboard is used as the standard input device in a UNIX system. Standard error Standard error is error output from programs. This output is also sent to the screen and will normally be seen mixed in with standard output. The difference between standard output and standard error is that standard error is unbuffered (it appears immediately on the screen) and standard error is only printed when something goes wrong (it will give you details of what went wrong). ------------------------------------------------------------------------------- 6.2. Usage > The greater than symbol is used to send information somewhere (for example a text file) Example: ___________________________________ | | | cat file1 file2 > file1_and_2.txt| |___________________________________| This will concatenate the files together into one big file named “file1_and_2.txt”. Note that this will overwrite any existing file. < The less than symbol will insert information from somewhere (a text file) as if you typed it yourself. Often used with commands that are designed to get information from standard input only. For example (using tr): _____________________________________________________ | | | tr '[A-Z]' '[a-z]' < fileName.txt > fileNameNew.txt| |_____________________________________________________| The example above would insert the contents of “fileName.txt” into the input of tr and output the results to “fileNameNew.txt”. >> The >> symbol appends (adds) information to the end of a file or creates one if the file doesn't exist. << The << symbol is sometimes used with commands that use standard input to take information. You simply type << word (where word can be any string) at the end of the command. However its main use is in shell scripting. The command takes your input until you type “word”, which causes the command to terminate and process the input. Using << is similar to using CTRL-D (EOF key),except it uses a string to perform the end-of-file function. This design allows it to be used in shell scripts. For example type "cat" (with no options...) and it will work on standard input. To stop entering standard input you would normally hit CTRL-D . As an alternative you can type "cat << FINISHED", then type what you want. When you are finished, instead of hitting CTRL-D you could type "FINISHED" and it will end (the word FINISHED will not be recorded). 2> Redirects error output. For example, to redirect the error output to / dev/null, so you do not see it, simply append this to the end of another command... For example: _____________________________ | | | make some_file 2> /dev/null| |_____________________________| This will run make on a file and send all error output to /dev/null | The “pipe” command allows the output of one command to be sent to the input of another. For example: ________________________________ | | | cat file1.txt file2.txt | less| |________________________________| Concatenates the files together, then runs less on them. If you are only going to look at a single file, you would simply use less on the file... tee Sends output of a program to a file and to standard output. Think of it as a T intersection...it goes two ways. For example: ________________________________________ | | | ls /home/user | tee my_directories.txt| |________________________________________| Lists the files (displays the output on the screen) and sends the output to a file: “my_directories.txt”. &> Redirects standard output and error output to a specific location. For example: ___________________ | | | make &> /dev/null| |___________________| Sends both error output and standard output to /dev/null so you won't see anything... ------------------------------------------------------------------------------- 6.3. Command Substitution Command substitution is basically another way to do a pipe, you can use pipes and command substitution interchangeably, it's up to you which one you find easier... Command substitution can be done in two distinct ways.   Method One (back-quotes)   Simply type: ________________________________ | | | command_1 `command_2 -options`| |________________________________| This will execute “command_2” and it's output will become the input to “command_1”. Tip Backquote key   The back-quote key is usually located at the same place as the tilde, above the [Tab] key. Method Two (dollars sign)   Simply type: ________________________ | | | command_1 $(command_2)| |________________________| This will execute “command_2” and it's output will become the input to “command_1”. Using the pipe instead   You can of course use pipes to do the same thing, if you don't know what a pipe is, please see Section_6.2. For example instead of doing: _______________________________ | | | less $cat file1.txt file2.txt| |_______________________________| You could do: ________________________________ | | | cat file1.txt file2.txt | less| |________________________________| And end up with exactly the same result, it's up to you which way you find easier. ------------------------------------------------------------------------------- 6.4. Performing more than one command Executing the second command only if the first is successful   To do this you would type: ______________________ | | | command1 && command2| |______________________| command2 will be executed if command1 successfully completes (if command1 fails command2 won't be run). This is called a logical AND. Executing the second command only if the first fails   To do this you would type: ______________________ | | | command1 || command2| |______________________| command2 will be executed if command1 does not successfully complete (if command1 is successful command2 won't be run). This is called a logical OR. Executing commands sequentially   To execute commands sequentially regardless of the success/failure of the previous you simply type: ____________________ | | | command1; command2| |____________________| command2 will execute once command1 has completed. Tip More than two commands   You can continue to use ';' (semicolon) characters to do more and more commands on the one line. ------------------------------------------------------------------------------- Chapter 7. Working with the file-system The working with the file-system chapter explains a number of commands that you use to move around the file system hierarchy and manipulate the files. Also explained are finding files and how to mass-rename files. ------------------------------------------------------------------------------- 7.1. Moving around the filesystem cd Change directory. Use “ cd ..” to go up one directory. One dot '.' represents the current directory while two dots '..' represent the parent directory. “ cd -” will return you to the previous directory (a bit like an “undo”). You can also use cd absolute path or cd relative path (see below): Absolute paths An “ absolute path” is easily recognised from the leading forward slash, /. The / means that you start at the top level directory and continue down. For example to get to /boot/grubyou would type: _______________ | | | cd /boot/grub| |_______________| This is an absolute path because you start at the top of the hierarchy and go downwards from there (it doesn't matter where in the filesystem you were when you typed the command). Relative paths A “ relative path” doesn't have a preceding slash. Use a relative path when you start from a directory below the top level directory structure. This is dependent on where you are in the filesystem. For exampleif you are in root's home directory and want to get to / root/music, you type: __________ | | | cd music| |__________| Please note that there is no / using the abovecdcommand. Using a / would cause this to be an absolute path, working from the top of the hierarchy downward. ls List files and directories. Typing “ls” will list files and directories, but will not list hidden files or directories that start with a leading full stop “.”. Example options: * ls -l --- long style, this lists permissions, file size, modification date, ownership. * ls -a --- this means "show all", this shows hidden files, by default any file or directory starting with a '.' will not be shown. * ls -d --- list directory entires rather than contents (see example below) * ls -F --- append symbols to particular files, such as * (asterisk) for executable files. * ls -S--- sort the output of the command in decending order sorted by size. * ls -R --- (recursive) to list everything in the directories below as well as the current directory. Command syntax, either: _____________ | | | ls -options| |_____________| This simply lists everything in the current directory, the options are not required (options such as -l, -a et cetera). ____________________ | | | ls -options string| |____________________| This lists files using a certain string. The string can contain standard wildcards to list multiple files, to learn more about standard wildcards please read Section_20.4.1 You can usels -d to show directories that match an exact string, or use standard wildcards. Type “ ls -d */” to list all subdirectories of the current directory. Depending on the setup of your aliases (see Chapter_4) you may simply be able to typelsdas the equivalent tols -d */. Examples forls -d: __________ | | | ls -d */| |__________| Lists all subdirectories of current directory. _______________ | | | ls -d string*| |_______________| Lists directories that start with "string". ____________________ | | | ls -d /usr/*/*/doc| |____________________| Lists all directories that are two levels below the /usr/ directory and have a directory called “doc”, this trick can come in quite handy sometimes. Tip You can also use Depending on how your aliases (see Chapter_4) are setup you can   also use l, la (list all) and ll (list long) to perform the above commands pwd Print working directory. Print the absolute (complete) path to the directory the user is currently in. Command syntax: _____ | | | pwd| |_____| This will tell you the full path to the directory you are in, for example it may output “/usr/local/bin” if you are currently in that directory. tree Outputs an ASCII text tree/graph starting at a given directory (by default the current directory). This command recursively lists all files and all directories. In other words, it will list files within the directories below the current one, as well as all files in the current directory. tree has a large number of options, refer to the manual page for details. Command syntax: ______ | | | tree| |______| or _____________________________________________ | | | tree -option(s) /optional/directory/to/list| |_____________________________________________| ------------------------------------------------------------------------------- 7.1.1. Finding files find find is a tool which looks for files on a filesystem. find has a large number of options which can be used to customise the search (refer to the manual/info pages). Note that find works with standard wildcards,Section_20.4.1, and can work with regular expressions, Section_20.4.2. Basic example: ___________________ | | | find / -name file| |___________________| This would look for a file named “file” and start at the root directory (it will search all directories including those that are mounted filesystems). The `-name' option is case sensitive you can use the `-iname' option to find something regardless of case. Use the '-regex' and '-iregex' to find something according to a regular expression (either case sensitive or case insensitive respectively). The '-exec' option is one of the more advanced find operations. It executes a command on the files it finds (such as moving or removing it or anything else...). To use the -exec option: use find to find something, then add the -exec option to the end, then: _______________________________________________________________________ | | | command_to_be_executed (1) then '{}' (curly brackets) (2) then | | the arguments (for example a new directory) and finally a ';' (3) .| |_______________________________________________________________________| See below for an example of use this command. _(1)_ This is the tool you want to execute on the files find locates. For example if you wanted to remove everything it finds then you would use -exec rm -f _(2)_ The curly brackets are used in find to represent the current file which has been found. ie. If it found the file shopping.doc then {} would be substituted with shopping.doc. It would then continue to substitute {} for each file it finds. The brackets are normally protected by backslashes (\) or single-quotation marks ('), to stop bash expanding them (trying to interpret them as a special command eg. a wildcard). _(3)_ This is the symbol used by find to signal the end of the commands. It's usually protected by a backslash (\) or quotes to stop bash from trying to expand it. ______________________________________________ | | | find / -name '*.doc' -exec cp '{}' /tmp/ ';'| |______________________________________________| The above command would find any files with the extension '.doc' and copy them to your /tmp directory, obviously this command is quite useless, it's just an example of what find can do. Note that the quotation marks are there to stop bash from trying to interpret the other characters as something. Excluding particular folders with find can be quite confusing, but it may be necessary if you want to search your main disk (without searching every mounted filesystem). Use the-path option to exclude the particular folder (note, you cannot have a '/' (forward slash) on the end) and the- prune option to exclude the subdirectories. An example is below: ___________________________________________________________ | | | find / -path '/mnt/win_c' -prune -o -name "string" -print| |___________________________________________________________| This example will search your entire directory tree (everything that is mounted under it) excluding /mnt/win_c and all of the subdirectories under /mnt/win_c. When using the -path option you can use wildcards. Note that you could add more-path '/directory' statements on if you wanted. find has many, many different options, refer to the manual (and info) page for more details. slocate slocate outputs a list of all files on the system that match the pattern, giving their full path name (it doesn't have to be an exact match, anything which contains the word is shown). Note Replaces locate   Secure locate is a replacement for locate, both have identical syntax. On most distributions locate is an alias to slocate. Commmand syntax: ________________ | | | slocate string| |________________| Note This won't work unless   You need to run either updatedb (as root) or slocate -u(as root) for slocate to work. whereis whereis locates the binary, source, and manual page for a particular program, it uses exact matches only, if you only know part of the name use slocate. Command syntax: ______________________ | | | whereis program_name| |______________________| which Virtually the same as whereis, except it only finds the executable (the physical program). It only looks in the PATH (environment variable) of a users shell. Use the -a option to list all occurances of the particular program_name in your path (so if theres more than one you can see it). Command syntax: ____________________ | | | which program_name| |____________________| ------------------------------------------------------------------------------- 7.2. Working with files and folders mkdir Make a directory. Usemkdir -p to create subdirectories automatically. Note Directories are Folders   Directories are sometimes called folders in other operating systems (such as Microsoft Windows) Examples: ________________________________ | | | mkdir -p /home/matt/work/maths| |________________________________| This would create the directories “work” and “maths” under matt's home directory (if matt's home directory didn't exist it would create that too). ___________ | | | mkdir foo| |___________| This would create a directory in the current path named “foo”. rm Remove/delete a file(s) or directories(s). You can use standard wildcards with this command Section_20.4.1. Command syntax: ____________________________ | | | rm -options file_or_folder| |____________________________| You can of course use standard wildcards to delete multiple files or multiple directories and files. Use the-R or -r option to remove recursively, this removes everything within subdirectories. Also try the -f option to force removal (useful when you don't want to be prompted). Tip Disabling Aliases (per execution) On some systems such as Mandrake an alias will send rm to rm -i   (prompting you for every file you wish to delete). To override this use: \rm -R directory(using the \ disables the alias for this run only) rmdir Remove an empty directory. If you want to remove a directory with files in it type “ rm -R directory”, read above for information onrm -R Command syntax: _________________ | | | rmdir directory| |_________________| This will only remove directory if it's empty otherwise it will exit with an error message. mv Move a file or a directory to a new location or rename a file/directory. Rename example: ________________________ | | | mv filename1 filename2| |________________________| Renames filename1 to filename2. To move a file or directory, simply type: _________________________________________ | | | mv original_file_or_folder new_location| |_________________________________________| Note that this command can use standard wildcards Section_20.4.1 to move files (not for renaming). Tip Move and rename Note that you can also move and rename a file in a single command. The difference is with the destination (right hand side) you change the filename to the new name of the file. For example typing: __________________________________________________   | | | mv /etc/configuration.txt /home/joe/backupconfig| |__________________________________________________| This would move the file "configuration.txt" to /home/joe/ and rename it "backupconfig" cp Copy a file. Has a number of useful options, such as-R(or -r) which recursively copies directories and subdirectories. Command syntax: ________________________________________ | | | cp -options file_or_files new_location| |________________________________________| Examples: ________________ | | | cp file1 file2| |________________| Simply copy file1 to file2 (in the same directory). __________________________________ | | | cp /tmp/file1 ~/file2 /mnt/win_c| |__________________________________| Where the last option is the directory to be copied to. The above example copies two files from different areas of the file system to /mnt/win_c ___________________________________________ | | | cp -R directory_and_or_files new_location| |___________________________________________| This command will copy directories (and all subdirectories) and/or files to new_location Note that this command can use standard wildcards Section_20.4.1 to copy multiple files. You may also like to try the “-u” when moving large directories around, this copies only if the source file is newer than the destination to where you are copying to, or if the destination file does not exist at all. ln Create a link to a file. There are two types of links: Hard links Hard links are considered pointers to a file (the number is listed by typingls -l). Each hard-link is a reference to a file. The file itself only goes away when all hard-links are deleted. If you delete the original file and there are hard links to it the original file will remain. Example: ___________________________ | | | ln target_name link_name | |___________________________| Will create a “hard link” to target_name called link_name, you need to delete both of these to remove the file. Symbolic links Symbolic links are created by typing “ln -s”.When you remove the original file the symbolic link becomes broken, a symbolic link is similar to a windows “short-cut”. The advantage of symbolic links is that the target can be to something on another file-system, while hard-links can only exist on the same file-system. For example: _____________________________ | | | ln -s target_name link_name| |_____________________________| This creates a symbolic link to “target_name” called “link_name”, if you delete the original file the symbolic link won't work (it becomes a broken link). shred Securely remove a file by overwriting it first. Prevents the data from being recovered by software (and even by most hardware), please be very careful when using shred as you may never be able to retrieve the data you have run the application on. For example: ____________________________ | | | shred -n 2 -z -v /dev/hda1| |____________________________| “What this tells shred, is to overwrite the partition 2 times with random data (- n 2) then finish it up by writing over it with zeroes (-z) and show you its progress (-v). Of course, change /dev/hda1 to the correct partition . Each pass can take some time, which is why I set it to only do 2 random passes instead of the default 25. You can adjust this number, of course, to your particular level of paranoia and the amount of time you have. Since shred writes on such a low-level, it doesn't actually matter what kind of filesystem is on the partition--everything will be unrecoverable. Once shred is finished, you can shutdown the machine and sell or throw away the drive with peace of mind. ...However, even shre dding devices is not always completely reliable. For example, most disks map out bad sectors invisibly to the application; if the bad sectors contain sensitive data, `shred' won't be able to destroy it. [ shred info page ].”[2] Note Shredding files doesn't work with all filesystems Please note that as mentioned in the shred manual page (please see the manual and preferably info pages for more information).   shreddoes not work correctlyon log-structured or journaled filesystems, such as JFS, ReiserFS, XFS, Ext3 and many other modern filesystems Tip Alternatives to using shred shred has its disadvantages when run on a filesystem. First of all since it has to be installed you cannot run shred on your operating systems filesystem, you also cannot use shred on a windows machine   easily since you cannot install shred on this machine. You may like to try alternatives such as the DBAN project that create self-booting floppy disks that can completely erase a machines hard disk. You may also like to see how chattr can assist you in shredding files once they are removed (it has similar problems to shred, only ext2 and ext3 style filesystems...), please see Section_14.2. du Displays information about file size. Usedu filenameto display the size of a particular file. If you use it on directories it will display the information on the size of the files in the directory and each subdirectory. Options for du (usedu -option(s)): * -c-- this will make du print a grand total after all arguments have being processed. * -s-- summarises for each argument (prints the total). * -h -- prints things in “ human readable” mode; for example printing 1M (megabyte) rather than 1,024,000 (bytes). Using the -hs options on a directory will display the total size of the directory and all subdirectories. Command syntax: _____________________________________ | | | du -options file_directory_or_files| |_____________________________________| Example: __________ | | | du -hs *| |__________| This command will list the size of all files in the current directory and it will list the size of subdirectories, it will list things in human- readable sizes using 1024 Kb is a Megabyte, M for megabyte, K for kilobyte etc. file Attempts to find out what type of file it is, for example it may say it's: binary, an image file (well it will say jpeg, bmp et cetera), ASCII text, C header file and many other kinds of files, it's a very useful utility. Command syntax: ________________ | | | file file_name| |________________| stat Tells you detailed information about a file, including inode number creation/access date. Also has many advanced options and uses. For simple use type: ___________ | | | stat file| |___________| dd Copies data on a very low level and can be used to create copies of disks Section_20.3 and many other things (for example CD image files). dd can also perform conversions on files and vary the block size used when writing the file. Command syntax, note the block size and count are optional and you can use files instead of devices... Note Please note   dd is an advanced and difficult to use command. Its also very powerful, so be careful what you do with it Command syntax: _____________________________________________ | | | dd if=/dev/xxx of=/dev/xxx bs=xxxx count=x | |_____________________________________________| Warning Warning The command dd is used to work on a very low level. It can be used to overwrite important information such as your master-   boot record or various important sections of your hard-disk. Please be careful when using it (especially when working with devices instead of files). touch This command is used to create empty files, simply dotouch file_name. It is also used to update the timestamps on files. touch can be used to change the time and/or date of a file: ____________________________________ | | | touch -t 05070915 my_report.txt[3]| |____________________________________| This command would change the timestamp on my_report.txt so that it would look like you created it at 9:15. The first four digits stand for May 7th (0507), in MM-DD (American style), and the last four (0915) the time, 9: 15 in the morning. Instead of using plain numbers to change the time, you can use options similar to that of the date tool. For example: _____________________________________ | | | touch -d '5 May 2000' some_file.txt| |_____________________________________| You can also use --date= instead of -d.Also have a look at the date command under Section_8.1 for examples on using -d and --date= (the syntax for the date part is exactly the same when using -d or --date). split Splits files into several smaller files. Use the -b xx option to split into xx bytes, also try -k for kilobytes, and -m for megabytes. You can use it to split text files and any other files... you can use cat to re-combine the files. This may be useful if you have to transfer something to floppy disks or you wish to divide text files into certain sizes. Command syntax: _____________________ | | | split -options file| |_____________________| This will split the input file into 1000 lines of input each (thats the default...), and output (using the above example), with the input name file, “fileaa” (1st part of file), “fileab” (2nd part of file), “fileac” (3rd part of file) etc. until the there is no more of the file left to split. ------------------------------------------------------------------------------- 7.3. Mass Rename/copy/link Tools There are a few different ways to perform mass renaming of files in GNU/Linux (yes, mass renaming is possible!). There is also a perl script that renames the extentions on files, see Chapter_19. Below are three ways to perform mass renaming of files, using the commands mmv, rename (a perl script) or some bash shell scripting.   mmv mmv is a mass move/copy/renaming tool that uses standard wildcards to perform its functions. mmv's manual page is quite difficult to understand, I have only a limited understanding of this tool. However mmv supports some standard wildcards. According to the manual the “;” wildcard is useful for matching files at any depth in the directory tree (ie it will go below the current directory, recursively). An example of how to usemmvis shown below: _____________________ | | | mmv \*.JPG \#1.jpg | |_____________________| The first pattern matches anything with a “.JPG” and renames each file (the “#1” matches the first wildcard) to “.jpg”. Each time you use a \(wildcard) you can use a #x to get that wildcard. Where x is a positive number starting at 1. Tip mmv Homepage You can find mmv on the web here. Also be aware that certain options used with mmv are also   applicable to other tools in the suite, these include mcp (mass copy), mad (mass append contents of source file to target name), mln (mass link to a source file). Tip Tip:   A Java alternative to mmv which runs on both GNU/Linux and Windows is available, Esomaniac rename rename is a perl script which can be used to mass rename files according to a regular expression. An example for renaming all “.JPG” files to “.jpg” is: ________________________________ | | | rename 's/\.JPG$/.jpg/' *.JPG | |________________________________| Note Finding rename You can get rename from various places. I would recommend trying   CPAN_Search_Site, I found the script here Rename_Script_Version 1.4 Bash scripting Bash scripting is one way to rename files. You can develop a set of instructions (a script) to rename files. Scripts are useful if you don't have mmv or rename... One way to this is shown below: _________________________________ | | | for i in *.JPG; | | do mv $i `basename $i JPG`jpg; | | done | |_________________________________| Note that the above script came from a usenet post. Unfortunately I do not know the author's name. The first line says find everything with the “.JPG” extension (capitals only, because the UNIX system is case sensitive). The second line uses basename (type man basename for more details) with the '$i' argument. The '$i' is a string containing the name of the file that matches. The next portion of the line removes the JPG extension from the end and adds the jpg extention to each file. The command mv is run on the output. An alternative is: ___________________________ | | | for i in *.JPG; | | do mv $i ${i%%.JPG}.jpg; | | done | |___________________________| The above script renames files using a built-in bash function. For more information on bash scripting you may like to see the advanced_bash scripting_guide, authored by Mendel Cooper. ------------------------------------------------------------------------------- Chapter 8. Finding information about the system time If you are looking for how to change the time please refer to date here: Section_8.1. timeis a utility to measure the amount of time it takes a program to execute. It also measures CPU usage and displays statistics. Usetime -v(verbose mode) to display even more detailed statistics about the particular program. Example usage: ___________________________ | | | time program_name options| |___________________________| /proc The files under the /proc (process information pseudo file-system) show various information about the system. Consider it a window to the information that the kernel uses. For example: ___________________ | | | cat /proc/cpuinfo| |___________________| Displays information about the CPU. _____________________ | | | less /proc/modules | |_____________________| Use the above command to view information about what kernel-modules are loaded on your system. dmesg dmesg can be used to print (or control) the “ kernel ring buffer”. dmesg is generally used to print the contents of your bootup messages displayed by the kernel. This is often useful when debugging problems. Simply type: _______ | | | dmesg| |_______| df Displays information about the space on mounted file-systems. Use the- h option to have df list the space in a 'human readable' format. ie. if there are 1024 kilobytes left (approximately) then df will say there is 1MB left. Command syntax: ______________________ | | | df -options /dev/hdx| |______________________| The latter part is optional, you can simply use df with or without options to list space on all file-systems. who Displays information on which users are logged into the system including the time they logged in. Command syntax: _____ | | | who| |_____| w Displays information on who is logged into the system and what they are doing (ie. the processes they are running). It's similar to who but displays slightly different information. Command syntax: ___ | | | w| |___| users Very similar to who except it only prints out the user names who are currently logged in. (Doesn't need or take any options). Command syntax: ________ | | | users | |________| last Displays records of when various users have logged in or out. This includes information on when the computer was rebooted. To execute this simply type: ______ | | | last| |______| lastlog Displays a list of users and what day/time they logged into the system. Simply type: _________ | | | lastlog| |_________| whoami Tells the user who they are currently logged in as, this is normally the usename they logged in with but can be changed with commands like su). whoami does not need or take any options. Simply type: ________ | | | whoami| |________| free Displays memory statistics (total, free, used, cached, swap). Use the- t option to display totals of everything and use the-mto display memory in megabytes. Example: __________ | | | free -tm| |__________| This will display the memory usage including totals in megabytes. uptime Print how long the computer has been “up”, how long the computer has been running. It also displays the number of users and the processor load (how hard the CPU has been working...). Tip The w command   The w command displays the output of the uptime command when you run this command. You could use the w command instead of uptime. uname uname is used to print information on the system such as OS type, kernel version et cetera. Some uname options: * -a --- print all the available information. * -m --- print only information related to the machine itself. * -n --- print only the machine hostname. * -r --- print the release number of the current kernel. * -s --- print the operating system name * -p --- print the processor type. Command syntax: ________________ | | | uname -options| |________________| xargs Note that xargs is an advanced, confusing, yet powerful command. xargs is a command used to run other commands as many times as necessary, this way it prevents any kind of overload... When you run a command then add a“| xargs command2”. The results of command1 will be passed to command2, possibly on a line-by-line basis or something similar. Understanding xargs tends to be very difficult and my explanation is not the best. Refer to the examples below or try [6] of the Bibliography for another xargs tutorial. Note Alternatives to using xargs Please note that the below explanation of xargs is not the strongest (at the time of writing I could not find anything better   :()). Alternatives may include writing a simple bash script to do the job which is not the most difficult task in the world. Examples: ______________________ | | | ls | xargs grep work| |______________________| The first command is obvious, it will list the files in the current directory. For each line of output of ls, xargs will run grep on that particular line and look for the string “work”. The output have the each time grep is executed on a new line, the output would look like: _____________________________ | | | file_name: results_of_grep | |_____________________________| If grep didn't find the word then there would be no output if it had an error then it will output the error. Obviously this isn't very useful (you could just do: _______________ | | | grep 'word' *| |_______________| This is just a simple example... xargsalso takes various options: * -nx --- will group the first x commands together * -lx --- xargs will execute the command for every x number of lines of input * -p --- prompt whether or not to execute this particular string * -t --- (tell) be verbose, echo each command before performing it * -i --- will use substitution similar to find's -exec option, it will execute certain commands on something. Example: ___________________________________________ | | | ls dir1 | xargs -i mv dir1/'{}' dir2/'{}'| |___________________________________________| The {} would be substituted for the current input (in this example the current file/directory) listed within the directory. The above command would move every file listed in dir1 to dir2. Obviously this command won't be too useful, it would be easier to go to dir1 and type mv * ../ dir2 Here is a more useful example: ____________________________________________ | | | \ls *.wav | xargs -i lame -h '{}' '{}'.mp3| |____________________________________________| This would find all wave files within the current directory and convert them to mp3 files (encoded with lame) and append a “.mp3” to the end of the filename, unfortunately it doesn't remove the .wav and so its not too useful...but it works. ------------------------------------------------------------------------------- 8.1. Date/Time/Calendars There is one command to change both the date and time on a UNIX like system, date, there is also a simple calendar utility, cal. If you are looking to change the timestamps on files please see Chapter_8 date Tells you the date (and the time) and is also used to set the date/time. To set the date, typedate MM:DD:YYYY(American style date) where MM is month, DD is the number of days within the month and YYYY is the year. For example to set the date to the 1st January 2000 you would type: _________________ | | | date 01:01:2000| |_________________| To set the time (where the -s option is to set a new time), type: __________________ | | | date -s hh:mm:ss| |__________________| Another useful option you can use is --date=“string” (or -d “string”) option to display a date from x days ago or in x days (or x weeks, months, years et cetera). See the examples below. Examples: __________________________________ | | | date --date="3 months 1 day ago"| |__________________________________| Will print the date 3 months and 1 day ago from the current date. Note that --date=”x month x day ago” and-d “x month x day ago” are equivalent. __________________ | | | date -d "3 days"| |__________________| The above command will print the date 3 days in the future from now. cal Typing cal will give you the calendar of the present month on your screen, in the nice standard calendar format. There are various options to customise the calendar, refer to the info/man page. Example: _____________ | | | cal -y year| |_____________| Will display a calendar for a specific year, simply use cal -y to print the calendar for the current year. ____________ | | | cal 2 2004| |____________| This will display the calendar for February 2004 ------------------------------------------------------------------------------- 8.2. Finding information about partitions There are a number of ways to find out information on your hard disk drives, for information on mounted partitions also trydfin Chapter_8 Using the proc filesystem You can look through the information in the relevant area of the proc filesystem, under the directory of either /proc/ide/ or /proc/ide?/hd? where the first question mark is a number and the second is a letter (starting with 'a'). For example: ___________________ | | | cd /proc/ide0/hda| |___________________| Under this directory there will be various information on the hard drive or cdrom connected. Using fdisk Using fdisk with the -l option will output information on any hard drives connected to the system and information on their partitions (for example, the type of partition). Information relating to using fdisk to partition hard disks can be found in your distributions documentation, the fdisk manual page or online. Note Root Access Required   This command needs root access to work ------------------------------------------------------------------------------- Chapter 9. Controlling the system The controlling the system chapter details commands that you may wish to use to interact with devices on your system and then details how to control processes and services/daemons. eject eject simply tells a device to open (eject) the drive. Useful for cdrom/ DVD drives. For example the command below would eject the cdrom-drive (if your cdrom is linked to /dev/cdrom): __________________ | | | eject /dev/cdrom| |__________________| Note This won't work unless   This will only work if the user has permission to mount the partition. Please see the tip in Section_9.1 for more information. ------------------------------------------------------------------------------- 9.1. Mounting and Unmounting (Floppy/CDROM/Hard-drive Partitions) Tip Allowing Users to mount partitions By default a UNIX system will allow normal users to unmount partitions. However unless given permission by the superuser, users will not be allowed to mount partitions. The commands listed below will not work for normal users unless users have permission to mount that device. If your particular distribution is setup not to allow users to mount partitions its not very hard to change this, simply edit the /etc/fstab file (as root) and: ____________________________________________   | | | Replace the word "defaults" with "user" or| |____________________________________________| ______________________________________________________________ | | | Add "user" to the end of the options list for the particular| | partition(s). | |______________________________________________________________| mount Mount a device. Attach the device to the file-system hierarchy (the tree ( / )). This needs to be done so you can access the drive (see below, Section_9.1 for an example). umount 'Unmount' a device. The command umount (no 'n') unmount's a device. It removes it from the file-system hierarchy (the tree ( / )). This needs to be done before you remove a floppy/CDROM or any other removable device (see below, Section_9.1 for an example). smbmount //wincomp/c /mnt/win Where “win” would be the place you want it mounted and “wincomp” is the IP address or name of your windows computer. Note Please note Using ping/smbmount/ssh or other UNIX system programs with a computer name rather than IP address will only work if you have the computer listed in your /etc/hosts file. Here is an example: ____________________ | |   | 192.168.1.100 new | |____________________| This line says that their is a computer called “new” with IP address 192.168.1.100. Now that it exists in the /etc/hosts file I don't have to type the IP address anymore, just the name “new”. smbmount is a tool from the samba package, it can mount a remote windows file-system onto your current computer. Un-mounting uses the same syntax as 'umount', as listed above, or you may like to use: _______________________ | | | smbumount /mountpoint| |_______________________| Here are some more examples of how to mount a file-system: ___________________________________________________________ | | | mount -t ext2 /dev/fd0 /mnt/floppy (1) | | mount -t iso9660 /dev/hdb /mnt/cdrom (2) | | mount -t iso /tmp/image_file /mnt/iso_file/ -o loop (3) | |___________________________________________________________| _(1)_ The windows filesystem is known as vfat (standard on Windows 9x) or NFTS (standard on Windows 2000 and XP). _(2)_ for CDROM's _(3)_ This will mount an image file (usually a CD image file) so you can view/change the files (it will appear to be like any other device). Note The -t option   On any system running a newer version of the Linux kernel the - t option is not always necessary and can be left out. Examples of how to unmount a file-system (necessary before you eject/ remove disk): _____________________ | | | umount /mount_point| |_____________________| An example unmount point could be “/mnt/floppy” or “/mnt/cdrom” ------------------------------------------------------------------------------- 9.2. Shutting Down/Rebooting the System shutdown now Shutdown the computer immediately (don't power down). Note that in UNIX systems this kind of shutdown means to go to “ single-user mode”. Single- user mode is a mode where only the administrator (root) has access to the computer, this mode is designed for maintenance and is often used for repairs. For example this would take you to single user mode ______________ | | | shutdown now| |______________| shutdown -h now Shutdown (-h = halt)the computer immediately. It begins the shutdown procedure, press CTRL-C (break-key) to stop it. After the end of the command you can also leave a message in quotation marks which will be broad-casted to all users, for example: ______________________________________________________________________ | | | shutdown -h now "Warning system malfunction, self-destruct imminent"| |______________________________________________________________________| This would halt the system and send the message to anyone who is currently logged in. Tip Shutting down at a particular time You can also put a time that the system should shutdown instead of “now”. Typing “+x minutes” (any number of minutes is appropriate) or you can even set an exact time. For example to shutdown at 11:50 type:   ___________________ | | | shutdown -h 11:50| |___________________| Note Shutdown -h vs poweroff On some systems, shutdown -hand haltdo not actually turn the   system's power off. On systems that do not power off with these commands use the poweroff command halt The same as shutdown -h now doesn't take any options, this command simply shuts down immediately. shutdown -r now Shutdown (-r = reboot) the computer immediately. It begins the reboot procedure, press CTRL-C (break-key) to stop it. After the end of the command you can also leave a message in quotation marks which will be broad-casted to all users, for example: ______________________________________________________________ | | | shutdown -r now "Warning system rebooting, all files will be| | destroyed" | |______________________________________________________________| This would reboot the system and send the message to anyone who was logged in. Tip Rebooting at a particular time You can also put a time that the system should reboot instead of “now”. Typing “+x minutes” (any number of minutes is appropriate) or you can even set an exact time. For example to reboot at 11:50 type:   ___________________ | | | shutdown -r 11:50| |___________________| reboot The same as shutdown -r now, doesn't take any options, simply reboots the computer immediately. CTRL-ALT-DEL (key-combination) May be used from a terminal to reboot or shutdown, it depends on your system configuration. Note that this doesn't work from an xterminal. CTRL-ALT-DEL begins the reboot/shutdown immediately, the user does not have to be logged in. Tip You can change the behaviour of CTRL-ALT-DEL from rebooting To disable CTRL-ALT-DEL from rebooting your computer (or to have it do something different), you can edit the /etc/inittab file (as root). Here is how it looks on a Mandrake/Mandriva Linux system: ___________________________________________ | | | # Trap | | CTRL-ALT-DEL | | |   | ca::ctrlaltdel:/sbin/shutdown -t3 -r now | |___________________________________________| Note that the # means a comment (and is not used). If you simply put a # (hash) before the command it would disable it (it would become a comment). You could also change the command it runs for example if you changed the -r to a -hthe computer would turn off instead of rebooting, or you could have it do anything you want. It's up to your creativity to make it do something interesting. ------------------------------------------------------------------------------- 9.3. Controlling Processes ps Will give you a list of the processes running on your system. With no options, ps will list processes that belong to the current user and have a controlling terminal. Example options include: * -aux --- list all running processes (by all users with some information). * -a --- list all processes from all users. * -u --- list more information including user names, %cpu usage, and %mem usage et cetera. * -x --- list processes without controlling terminals. * -l --- display different information including UID and nice value. * --forest --- this makes it easier to see the process hierarchy, which will give you an indication of how the various processes on your system interrelate (although you should also try pstree). For example to list all running processes with additional information, simply type: _________ | | | ps -aux| |_________| pstree Displays the processes in the form of a tree structure (similar to how tree does it for directories). Use the-p option to show process id's. Example: ___________ | | | pstree -p| |___________| This would list all processes and their id's. pgrep This command is useful for finding the process id of a particular process when you know part of its name. Use the -l option to list the name of the process as well and the - u option to search via a particular user(s). Normally pgrep will only return the pid number; this way you can use it with other commands. Examples: _______________________ | | | kill $(pgrep mozilla)| |_______________________| This would kill any process name that starts with mozilla. Note that this is the same as using pkill (see below). If you are unfamiliar with the $( ) part of this command, please refer to Section_6.4. To list processes id's and names type: _______________________ | | | pgrep -l process_name| |_______________________| top Displays the 'top' (as in CPU usage) processes, provides more detail than ps. top also provides an updated display, it has many options that make it fully customisable, refer to the manual or info page for details. kill To kill processes on your system, you will need their pid's or id's . Use ps or pstree to find out the process id's (pid's), or use jobs to find out id's. Tip killall and pkill - kill a process by name pkill and killallcan be a lot easier to use than kill. pkill allows   you to type part of the name of a process to kill it, while killall requires the full process name. See below for more information. Examples: __________ | | | kill pid| |__________| Simply kill a process (allow it time to save it's files and exit) __________ | | | kill %id| |__________| Same as above, except it uses an id instead of a pid, you need to use a % (percent) when using an id to kill. ________________ | | | kill -kill pid| |________________| Force a process to be killed (won't allow files to be saved or updated); only use when necessary because all data that the program had will be lost. There are also many other kill options such as kill -HUP(hangup)... refer to the manual/info pages for more information. killall Kill a process by it's name, uses names instead of process id's (pid's). Use-vto have killall report whether the kill was successful or not and - ifor interactive mode (will prompt you before attempting to kill). Tip pkill - a little like a killall with regular expressions   pkill is another command that allows processes to be killed but does so using regular expressions. See below for more information. For example: _____________________ | | | killall -iv mozilla| |_____________________| Would kill anything named “mozilla” and prompt you before each kill and report whether the kill was successful or not. Unfortunately you need to get the name exactly right for killall to work, you would need to use “mozilla-bin” to kill the mozilla browser. If you want something where you don't need to know the exact name try pkill(below). pkill pkill is used to kill processes according to an extended regular expression. Use the -u option to kill using a user name(s) and process name (for example to only kill a process of a certain user). pkill can also send specific signals to processes. For normal usage simply type: ____________________ | | | pkill process_name| |____________________| Note that the “process_name” doesn't have to be an exact match... Or to kill the “process_name” of only the users “fred” and “anon” type: _________________________________ | | | pkill -u fred anon process_name| |_________________________________| skill skill is used to send a command/username/tty a particular signal. skill has a number of options available to ensure correct interpretation (otherwise it just guesses what it is), simply typeskill -option(s) * -L --- list the various signals that can be sent * -u --- specify a username; this is obviously followed by the user name or a space-seperated list of usernames. * -p --- process id (followed by the process id) * -c --- command name (this is the same as killall) * -t --- (tty number) * -v --- verbose mode * -i --- interactive mode. skill can be used to stop, continue, or kill processes using the username, command name or process id (or send them any variety of signals you like). Useful example: _______________________________ | | | skill -STOP abusive_user_name| |_______________________________| The above command will stop all of that users processes, this will cause his screen to freeze until you type: _______________________________ | | | skill -CONT abusive_user_name| |_______________________________| This would tell that all processes may continue as before. Note that this would only work if you are root. Also note you can list more than one user name with the command so it will apply to multiple users. CTRL-C The break key, will kill (break, stop) something that's running on your terminal. jobs Prints currently running jobs, as in processes you have executed within the shell. bg Backgrounds a process. To start a program in the background (so it doesn't take over the terminal) use an “&” (ampersand) sign at the end of the command. You usually use CTRL-Z to suspend something you are currently using. You can simply use bg to resume in the background the last job suspended... Command syntax: _______________ | | | bg job_number| |_______________| or _____________ | | | bg job_name| |_____________| fg Bring a process to the foreground, so you can interact with it. The process will use your current terminal. Note simply use fg to foreground the last job number suspended... You can bring jobs to the foreground by name or by number (use jobs to find the number). Command syntax: _______________ | | | fg job_number| |_______________| or _____________ | | | fg job_name| |_____________| nice Sets the priority for a process.nice -20 is the maximum priority (only administrative users can assign negative priorities),nice 20 is the minimum priority. You must be root to give a process a higher priority, but you can always lower the priority of your own processes... Example: _______________ | | | nice -20 make| |_______________| Would execute make and it would run at maximum priority. renice Changes the priority of an existing command. You may use the options - u to change the priorities of all processes for a particular user name and -g to change priorities for all processes of a particular group. The default is to change via the process id number. Example: _________________ | | | renice +20 2222| |_________________| This would change the priority of process 2222 to +20 (minimum priority). snice snice works very similarly to skill, only it changes the priority of the process(es). Its function is similar to that of renice. To use options (to ensure correct interpretation) you simply typesnice - option(s): * -u --- specify a username; this is obviously followed by the user name or a space-seperated list of usernames. * -p --- process id (followed by the process id) * -c --- command name (this is the same as killall) * -t --- tty number * -v --- verbose mode * -i --- interactive mode. Example: ___________________ | | | snice -10 -u root| |___________________| This would increase the priority of all root's processes. ------------------------------------------------------------------------------- 9.4. Controlling services Concept Definitions   UNIX systems use scripts to control “daemons” which provide “services” (for example your sound output) to run a UNIX system. UNIX systems consist of a variety of services (daemons). A “daemon” is a system process which runs in the background (zero interaction) performing a particular task. Daemons normally have a “d” on the end of their name and either listen for certain events or perform a system task, for example sshd listens for secure shell requests to the particular machine and handles them when they occur. Daemons usually perform critical system tasks such as control swap-space, memory management and various other tasks. service service is a shell script available on Mandrake/Mandriva and Redhat systems which allows you to perform various tasks on services. * Use the -s option to print the status of all services available * Use the -f option followed by a service name to restart that particular service. * Use the -R option to restart all services (note that this will kill any current services running, including the X windows system). For example to restart the daemon sshdyou would type: _________________ | | | service -f sshd| |_________________| Using the script directly You may also execute the shell script directly from /etc/init.d. Simply go to that directory then type ./script_name. Executing the script should return the options it can take, by default they will be: * restart --- this will make the service stop and then start again. * start --- this option will start a service (assuming its not running). * stop --- this option will stop a service (assuming its running). * status --- this option will tell you about the service ------------------------------------------------------------------------------- Chapter 10. Managing users su username (Switch User), change to a different user. Use su - to switch to root orsu username, to switch to a different username. Tip Using sudo Its often considered better practice to use the sudocommand rather than switch to the root user The sudo command allows you to perform actions as root but logs the actions you take (so you can trace anything that was done to the system by yourself or others). sudo has a very good manual page which provides plenty of information about it. You use sudo similar to how you execute a normal command with sudo   prepended to it, for example: ______________________________ | | | sudo rpm -U myrpm.i386.rpm | |______________________________| This would allow you to install a rpm even if you have the correct sudo access Note that if you want to return to your original user you don't use su again, type exit or press CTRL-D . Simply typing su will give you some root privileges, but there are minor complications relating to environment variables. It's generally considered better practice to use su -because it has no restrictions. root The superuser. This user has power over everything and all, and can do anything with the system (including destroy it, and of course fix it :)). This user is used to perform most administration functions on the system. ------------------------------------------------------------------------------- 10.1. Users/Groups All user information is normally listed in the “/etc/passwd” file and the group information in the “/etc/groups” file. If you need to edit either file it is recommended that you use vipw to edit the password file and vigr to edit the group file. These particular commands take care of any processing and locking of the files before and after editing them. There is a lot of information about adding/removing/controlling users and groups, this information is only the minimal information required. chsh Used to change your login shell. To list the shells available type: ____________________ | | | chsh --list-shells| |____________________| Simply typechshthen [Enter], then type the name of the shell you would like to use every time you login. chfn Change finger information. The information this command changes is reflected in the /etc/passwd file, use this utility to update your real name, office and home phone numbers (if they exist). Use the -f option to change a users full name. Use this tool as either chfn orchfn user_name(usable by root only). Command syntax: ________________ | | | chfn user_name| |________________| passwd Changes the password of a user. You will need to be root if you want to change other users passwords. Simply typepasswdto change your own password or to change another users password type: _________________ | | | passwd username| |_________________| ------------------------------------------------------------------------------- Chapter 11. Text Related Tools The text related tools chapter is the largest in this guide, most of the time on a GNU/Linux machine you will spend time interacting with text. This chapter briefly covers text editors and goes into more depth on viewing text, using tools to manipulate text, finding text within files and changing text formats between windows based systems and GNU/Linux based systems. ------------------------------------------------------------------------------- 11.1. Text Editors vi A traditional UNIX system text editor, should be on any UNIX system. It requires learning a few key combinations, but is very powerful, and it is also quite small. vi is well known for its minimal use of resources. Note vim   vim - vi improved. A newer version of the vulnerable vieditor. Many systems use vim rather than vi. emacs More than just a text editor. This text editor has a steep learning curve but is also very powerful, it is both advanced and quite large. emacs can do anything, surf the internet, chat, play games and many other tasks. Others There are too many different text editors to list here. Have a look on the internet, either search for them using any search engine or you will find many of them at Sourceforge or Freshmeat. ------------------------------------------------------------------------------- 11.2. Text Viewing Tools head With no options it shows the first ten lines of a text file. Usehead -n x(where “x” is a number) to display the first xlines. Try head -Fto use a continually updated version of head (if the file changes it will be reloaded and displayed), please note that using this option will run head is a continuous loop so you'll need to use CTRL-C to exit. For example: _________________________ | | | head -n 20 somelog.txt | |_________________________| Will display the top 20 entries of the file “somelog.txt”. tail With no options it shows the last ten lines of a file. Usetail -n x(where “x” is a number) to display the last xlines. Trytail -Fto use a continually updated version of tail (if the file changes it will be reloaded and displayed), please note that using this option will run tail is a continuous loop so you'll need to use CTRL-C to exit. For example: ________________________ | | | tail -n 20 somelog.txt| |________________________| Will display the last 20 entries of the file “somelog.txt”. less Views text, can scroll backwards and forwards. Has many different options which are all described in the manual page. When less is already running, use :n and :p (type a colon then the character) to move to the next and previous files (when there are multiple open files). Command syntax: ___________________ | | | less filename.txt| |___________________| Or using a tool (in this example cat): _____________________ | | | cat file.txt | less| |_____________________| more Displays text, one page full at a time, more limited than less. In this case less is better than more. ___________________ | | | more filename.txt| |___________________| Or using a tool (is this example cat): _____________________ | | | cat file.txt | more| |_____________________| cat Combines (concatenates) multiple documents into one document. Can be used on individual files as well. Some useful options: * -b --- number all non-blank lines * -n --- number all lines. Also try using nl to number lines (it can do more complex numbering), you will find it under this section, Section_11.4 Example: ___________________________________________________ | | | cat filepart1 filepart2 filepart3 > wholefile.txt| |___________________________________________________| This will combine (concatenate) filepart1, filepart2 and filepart3 into the single file “wholefile.txt”. tac Combines (concatenates) multiple documents into one document and outputs them in reverse order. Can also be used on individual files. Notice that tac is cat written backwards. Example: ___________________________________________________ | | | tac filepart1 filepart2 filepart3 > wholefile.txt| |___________________________________________________| This will combine (concatenate) filepart1, filepart2 and filepart3 into the single file but have each of the files written in reverse. z* commands Many commands can be prefixed with a “z” to read/work within a gzip compressed file. Some examples are zcat, zless, zmore, zgrep, zcmp, zdiff. There are many utilities for working with text within compressed files without trying to manually de-compress them somewhere first...most begin with a “z”. You will find some of them mentioned over here, Section_15.3. bz* commands There are also a few commands that prefixed with a “bz” to read/work within a file compressed with bzip2. The tools are bzcat, bzless, bzgrep. You will find some of them mentioned over here, Section_15.3. ------------------------------------------------------------------------------- 11.3. Text Information Tools wc Word count, count how many words you have in a text document. Can also be used to count the lines or bytes within the file. Use the options-wfor words, -lfor lines and -cfor bytes. Or simply run wc with no options to get all three. Command syntax: _____________________ | | | wc -option file.txt| |_____________________| style To run various readability tests on a particular text file. Will output scores on a number of different readability tests (with no options). Command syntax: __________________________ | | | style -options text_file| |__________________________| Note Find style in the diction package   This command is part of the diction package and does not appear to be used too often these days cmp Determines whether or not two files differ, works on any type of file. Very similar to diff only it compares on the binary level instead of just the text. diff Compares two text files and output a difference report (sometimes called a "diff") containing the text that differs between two files. Can be used to create a 'patch' file (which can be used by patch). Example: __________________________ | | | diff file1.txt file2.txt| |__________________________| diff will output a '>' (followed by the line) for each line that isn't in the first file but is in the second file, and it will output a '<' (followed by the line) for each line that is in the first file but not in the second file. sdiff Instead of giving a difference report, it outputs the files in two columns, side by side, separated by spaces. diff3 Same as diff except for three files.   comm Compares two files, line-by-line and prints lines that are unique to file1 (1st column), unique to file2 (2nd column) and common to both files (3rd column). Use comm with the -1, -2, or -3 to suppress the printing of those particular lines. Simply run comm to have all three listed (ie. unique to files 1 and 2 and common to both). Command syntax: __________________ | | | comm file1 file2| |__________________| look To output a list of words in the system dictionary that begin with a given string -- this is useful for finding words that begin with a particular phrase or prefix. Give the string as an argument; it is not case sensitive. Command syntax: _____________ | | | look string| |_____________| ------------------------------------------------------------------------------- 11.4. Text manipulation tools Tip Also see   Also see tac, and cat over in this section, Section_11.2, as they can perform text manipulation too sort Sorting text with no options the sort is alphabetical. Can be run on text files to sort them alphabetically (note it also concatenates files), can also be used with a pipe '|' to sort the output of a command. Usesort -r to reverse the sort output, use the-g option to sort 'numerically' (ie read the entire number, not just the first digit). Examples: _____________________________ | | | cat shoppinglist.txt | sort| |_____________________________| The above command would run cat on the shopping list then sort the results and display them in alphabetical order. __________________________ | | | sort -r shoppinglist.txt| |__________________________| The above command would run sort on a file and sort the file in reverse alphabetical order. Advanced sort commands: sort is a powerful utility, here are some of the more hard to learn (and lesser used) commands. Use the -t option to use a particular symbol as the separator then use the -k option to specify which column you would like to sort by, where column 1 is the first column before the separator. Also use the -g option if numeric sorting is not working correctly (without the -g option sort just looks at the first digit of the number). Here is a complex example: ____________________________________________ | | | sort -t : -k 4 -k 1 -g /etc/passwd | more | |____________________________________________| This will sort the “/etc/passwd” file, using the colon ':' as the separator. It will sort via the 4th column (GID section, in the file) and then sort within that sort using the first (name) to resolve any ties. The -g is there so it sorts via full numbers, otherwise it will have 4000 before 50 (it will just look at the first digit...). join Will put two lines together assuming they share at least one common value on the relevant line. It won't print lines if they don't have a common value. Command syntax: __________________ | | | join file1 file2| |__________________| cut Prints selected parts of lines (of a text file), or, in other words, removes certain sections of a line. You may wish to remove things according to tabs or commas, or anything else you can think of... Options for cut: * -d --- allows you to specify another delimiter, for example ':' is often used with /etc/passwd: ______________________________________________________________ | | | cut -d ':' (and probably some more options here) /etc/passwd| |______________________________________________________________| * -f--- this option works with the text by columns, separated according to the delimiter. For example if your file had lines like “result,somethingelse,somethingelse” and you only wanted result you would use: ______________________________ | | | cut -d ',' -f 1 /etc/passwd | |______________________________| This would get you only the usernames in /etc/passwd * “,” (commas) --- used to separate numbers, these allow you to cut particular columns. For example: _______________________________ | | | cut -d ':' -f 1,7 /etc/passwd| |_______________________________| This would only show the username and the shell that each person is setup for in /etc/passwd. * “-” (hyphen) --- used to show from line x to line y, for example 1-4, (would be from lines 1 to line 4). _______________________ | | | cut -c 1-50 file1.txt| |_______________________| This would cut (display) characters (columns) 1 to 50 of each line (and anything else on that line is ignored) * -x --- where x is a number, to cut from line 1 to “x” * x- --- where x is a number, to cut from “x” to the end. __________________________ | | | cut -5, 20-, 8 file2.txt| |__________________________| This would display (“cut”) characters (columns) 1 to 5, 8 and from 20 to the end. ispell/aspell To spell check a file interactively, prompts for you to replace word or continue. aspell is said to be better at suggesting replacement words, but its probably best to find out for yourself. aspell example: ____________________ | | | aspell -c FILE.txt| |____________________| This will run aspell on a particular file called “FILE.txt”, aspell will run interactively and prompt for user input. ispell example: _________________ | | | ispell FILE.txt| |_________________| This will run ispell on a particular file called “FILE.txt” ispell will run interactively and prompt for user input. chcase Is used to change the uppercase letters in a file name to lowercase (or vice versa). You could also use tr to do the same thing... __________________________________________________________ | | | cat fileName.txt | tr '[A-Z]' '[a-z]' > newFileName.txt| |__________________________________________________________| The above would convert uppercase to lowercase using the file “fileName.txt” as input and outputting the results to “newFileName.txt”. _________________________________________________________ | | | cat fileName.txt | tr '[a-z]' '[A-Z]' > newFileName.txt| |_________________________________________________________| The above would convert lowercase to uppercase using the file “fileName.txt” as input and outputting the results to “newFileName.txt”. chcase (a perl script) can be found at the chcase_homepage. fmt (format) a simple text formatter. Usefmtwith the -u option to output text with "uniform spacing", where the space between words is reduced to one space character and the space between sentences is reduced to two space characters. Example: ____________________ | | | fmt -u myessay.txt| |____________________| Will make sure the amount of space between sentences is two spaces and the amount of space between words is one space. paste Puts lines from two files together, either lines of each file side by side (normally separated by a tab-stop but you can have any symbols(s) you like...) or it can have words from each file (the first file then the second file) side by side. To obtain a list of lines side by side, the first lines from the first file on the left side separated by a tab-stop then the first lines from the second file. You would type: ___________________________ | | | paste file1.txt file2.txt| |___________________________| To have the list displayed in serial, first line from first file, [Tab], second line from first file, then third and fourth until the end of the first file type: ____________________________________ | | | paste --serial file1.txt file2.txt| |____________________________________| Tip This command is very simple to understand if you make yourself an example Its much easier if you create an example for yourself. With just a   couple of lines, I used "first line first file" and "first line second file" et cetera for a quick example. expand Will convert tabs to spaces and output it. Use the option-t num to specify the size of a “tapstop”, the number of characters between each tab. Command syntax: ______________________ | | | expand file_name.txt| |______________________| unexpand Will convert spaces to tabs and output it. Command syntax: ________________________ | | | unexpand file_name.txt| |________________________| uniq Eliminates duplicate entries from a file and it sometimes greatly simplifies the display. uniq options: * -c --- count the number of occurances of each duplicate * -u--- list only unique entries * -d--- list only duplicate entries For example: _________________________ | | | uniq -cd phone_list.txt| |_________________________| This would display any duplicate entries only and a count of the number of times that entry has appeared. tr (translation). A filter useful to replace all instances of characters in a text file or "squeeze" the whitespace. Example: _______________________________________ | | | cat some_file | tr '3' '5' > new_file| |_______________________________________| This will run the cat program on some file, the output of this command will be sent to the tr command, tr will replace all the instances of 3 with 5, like a search and replace. You can also do other things such as: _______________________________________________ | | | cat some_file | tr '[A-Z]' '[a-z]' > new_file| |_______________________________________________| This will run cat on some_file and convert any capital letters to lowercase letters (you could use this to change the case of file names too...). Tip Alternatives   You can also do a search and replace with a one line Perl command, read about it at the end of this section. nl The number lines tool, it's default action is to write it's input (either the file names given as an argument, or the standard input) to the standard output. Line numbers are added to every line and the text is indented. This command can do take some more advanced numbering options, simply read the info page on it. These advanced options mainly relate to customisation of the numbering, including different forms of separation for sections/pages/footers etc. Also try cat -n (number all lines) orcat -b (number all non-blank lines). For more info on cat check under this section: Section_11.2 There are two ways you can use nl: _______________________ | | | nl some_text_file.txt| |_______________________| The above command would add numbers to each line of some_text_file. You could use nl to number the output of something as shown in the example below; _________________________________ | | | grep some_string some_file | nl| |_________________________________| Perl search and replace text To search and replace text in a file is to use the following one-line Perl command[4]: _________________________________________________________ | | | $ perl -pi -e "s/oldstring/newstring/g;" filespec [RET]| |_________________________________________________________| In this example, “oldstring”is the string to search, “newstring” is the string to replace it with, and “filespec” is the name of the file or files to work on. You can use this for more than one file. Example: To replace the string “helpless” with the string “helpful” in all files in the current directory, type: _______________________________________________ | | | $ perl -pi -e "s/helpless/helpful/g;" * [RET]| |_______________________________________________| Also try using tr to do the same thing (see further above in this section). Tip If these tools are too primitive If these text tools are too simple for your purposes then you are probably looking at doing some programming or scripting. If you would like more information on bash scripting then please see the advanced_bash_scripting_guide, authored by Mendel Cooper. sed and awk are traditional UNIX system tools for working with text, this   guide does not provide an explanation of them. sed works on a line-by- line basis performing substitution and awk can perform a similar task or assist by working on a file and printing out certain information (its a programming language). You will normally find them installed on your GNU/Linux system and will find many tutorials all over the internet, feel free to look them up if you ever have to perform many similar operations on a text file. ------------------------------------------------------------------------------- 11.5. Text Conversion/Filter Tools Filters (UNIX System/dos formats) The following filters allow you to change text from Dos-style to UNIX system style and vice-versa, or convert a file to other formats. Also note that many modern text editors can do this for you... Why use filters? Because UNIX systems and Microsoft use two different standards to represent the end-of-line in an ASCII text file. This can sometimes causes problems in editors or viewers which aren't familiar with the other operating systems end-of-line style. The following tools allow you to get around this difference. Whats the difference? The difference is very simple, on a Windows text file, a newline is signalled by a carriage return followed by a newline, '\r\n' in ASCII. On a UNIX system a newline is simply a newline, '\n' in ASCII. dos2unix This converts Microsoft-style end-of-line characters to UNIX system style end-of-line characters. Simply type: ___________________ | | | dos2unix file.txt| |___________________| fromdos This does the same asdos2unix(above). Simply type: __________________ | | | fromdos file.txt| |__________________| fromdos can be obtained from the_from/to_dos_website. unix2dos This converts UNIX system style end-of-line characters to Microsoft-style end-of-line characters. Simply type: ___________________ | | | unix2dos file.txt| |___________________| todos This does the same as unix2dos (above). Simply type: ________________ | | | todos file.txt| |________________| todos can be obtained from the_from/to_dos_website. antiword This filter converts Microsoft word documents into plain ASCII text documents. Simply type: ___________________ | | | antiword file.doc| |___________________| You can get antiword from the_antiword_homepage. recode Converts text files between various formats including HTML and dozens of different forms of text encodings. Userecode -l for a full listing. It can also be used to convert text to and from Windows and UNIX system formats (so you don't get the weird symbols). Caution Warning   By default recode overwrites the input file, use '<' to use recode as a filter only (and to not overwrite the file). Examples:   UNIX system text to Windows text: _______________________ | | | recode ..pc file_name| |_______________________| Windows text to UNIX system text: ________________________ | | | recode ..pc/ file_name| |________________________| UNIX system text to Windows text without overwriting the original file (and creating a new output file): ________________________________________ | | | recode ..pc < file_name > recoded_file| |________________________________________| tr (Windows to UNIX system style conversion only). While tr is not specifically designed to convert files from Windows-format to UNIX system format by doing: _____________________________________________ | | | tr -d '\r' < inputFile.txt > outputFile.txt| |_____________________________________________| The -d switch means to simply delete any occurances of the string. Since we are looking for '\r', carriage returns it will remove any it finds, making the file a UNIX system text file. You can read more about tr over here, Section_11.4. ------------------------------------------------------------------------------- 11.5.1. Conversion tools enscript Converts text files to postscript, rtf, HTML (use ghostview to view the postscript file). enscript has a large number of options which can be used to customise the output. Examples:[5] _____________________________________________________________ | | | enscript --language=html input_file.txt -o output_file.html| |_____________________________________________________________| This will take some file and output it as a html file. ___________________________ | | | enscript --help-highlight| |___________________________| Display help on using the highlight feature (list all different types of highlighting available) ___________________________ | | | enscript --help-highlight| |___________________________| Highlight (pretty print), example: ______________________________________________________________________ | | | enscript -E --color --language=html --toc --output=foo.html *.h *.c | |______________________________________________________________________| Add all the files with a .h and a .c (C source and header files) into a file called foo.html, use colour and add a table of contents For further options refer to the well written manual page of enscript. figlet Used to create ASCII “art”. Figlet can create several different forms (fonts) of ASCII art, its one of the more unusual programs around. ------------------------------------------------------------------------------- 11.6. Finding Text Within Files grep Looks for text within files. For example: _______________________________ | | | grep this_word this_file.txt | |_______________________________| Example options: * -v --- this option is used to display lines which do not contain the string. * -n --- this option displays the line numbers * -w --- this option makes grep match the whole word * -A xor-Bx (where x is a number) --- display “x” lines After or Before the section where the particular word is found. * -r or rgrep --- search for text within files recursively. This command uses regular expressions, for more information please see, Section_20.4.2. For example, this command would look in the file “rpmlist.txt” for anything starting with “rpm”: ______________________ | | | grep rpm rpmlist.txt| |______________________| Or you could use it like this, to search through the output of another file: ____________________ | | | rpm -qa | grep ogg| |____________________| The first command lists all RPM's installed on your system, the second finds any containing the string “ogg” and outputs them. rgrep A "recursive" version of grep (this is a different program to grep). This will search all the files in the current directory and all it's subdirectories and print the names of the files and the matching line. Follows similar syntax to grep (see above). You could also use grep with the -r option to achieve the same affect. fgrep This version of grep calls grep with the -F option. This will look for literal strings only, it won't use or expand any kind of regular expression. For example you could type: ________________________ | | | fgrep 'a$*b?' file.txt| |________________________| And fgrep would look for the string “a$*b?” in the file “file.txt”. Tip Other Versions There are various versions of grep which are designed to do different   things try searching for them on the internet or within your distribution. ------------------------------------------------------------------------------- Chapter 12. Mathematical tools Note num-utils homepage The “num-utils” homepage, Num_Utils, contains a variety of command line   programs that could be useful when performing maths on your GNU/Linux machine. units Convert units of measurement between different scales. For example, centimeters to inches, litres to gallons. Simply run the program, I recommend running it as follows: _________________ | | | units --verbose| |_________________| This will run the program and it will tell you exactly what it is doing. Example: you enter “60 meters” then you want it worked out in “kilometers”. The first line will tell you what this evaluates to. If you wanted the conversion rate for “meters” to “kilometers” read the second line of the output (which will tell you meters/1000). Note To exit   Press CTRL-D (end-of-file key) when you are finished using units. python Python is a very powerful, easy to learn, general purpose, interpreted programming language. And it makes a great calculator! If you don't have a calculator installed then simply type python, then hit [Enter]. This will execute the Python interpreter in interactive mode. Type your sums just like you would use a calculator. Note that if you want to work out fractions make sure you use a decimal point and a zero to obtain the correct answer (otherwise it will use integer division). To start python in interactive mode, simply type: ________ | | | python| |________| Once python is started you can use it to add up sums or maybe do some python programming. Use CTRL-D (end-of-file key) to exit the Python interpreter. numgrep A little bit like grep only this is designed for numbers only. Use '/' (forward slashes) to contain each expression. Use m to find multiples of the number n and use f to find factors of the number n. Use commas to seperate expressions and .. (two dots) to represent a range. For example, to input from standard input you could simply type: _________ | | | numgrep| |_________| To input from a file and look for numbers between 1 and 1000 you could type: _____________________________ | | | numgrep /1..1000/ file_name| |_____________________________| Note This tool comes from the num-utils package   Please note that this tool is part of the num-utils package. ------------------------------------------------------------------------------- Chapter 13. Network Commands The network commands chapter explains various tools which can be useful when networking with other computers both within the network and accross the internet, obtaining more information about other computers. This chapter also includes information on tools for network configuration, file transfer and working with remote machines. netstat Displays contents of /proc/net files. It works with the Linux Network Subsystem, it will tell you what the status of ports are ie. open, closed, waiting, masquerade connections. It will also display various other things. It has many different options. tcpdump This is a sniffer, a program that captures packets off a network interface and interprets them for you. It understands all basic internet protocols, and can be used to save entire packets for later inspection. ping The ping command (named after the sound of an active sonar system) sends echo requests to the host you specify on the command line, and lists the responses received their round trip time. You simply use ping as: ______________________ | | | ping ip_or_host_name| |______________________| Note to stop ping (otherwise it goes forever) use CTRL-C (break). Note Please note Using ping/smbmount/ssh or other UNIX system programs with a computer name rather than IP address will only work if you have the computer listed in your /etc/hosts file. Here is an example: ____________________ | |   | 192.168.1.100 new | |____________________| This line says that their is a computer called “new” with IP address 192.168.1.100. Now that it exists in the /etc/hosts file I don't have to type the IP address anymore, just the name “new”. hostname Tells the user the host name of the computer they are logged into. Note: may be called host. traceroute traceroute will show the route of a packet. It attempts to list the series of hosts through which your packets travel on their way to a given destination. Also have a look at xtraceroute (one of several graphical equivalents of this program). Command syntax: _______________________________ | | | traceroute machine_name_or_ip| |_______________________________| tracepath tracepath performs a very simlar function to traceroute the main difference is that tracepath doesn't take complicated options. Command syntax: ______________________________ | | | tracepath machine_name_or_ip| |______________________________| findsmb findsmb is used to list info about machines that respond to SMB name queries (for example windows based machines sharing their hard disk's). Command syntax: _________ | | | findsmb| |_________| This would find all machines possible, you may need to specify a particular subnet to query those machines only... nmap “ network exploration tool and security scanner”. nmap is a very advanced network tool used to query machines (local or remote) as to whether they are up and what ports are open on these machines. A simple usage example: ___________________ | | | nmap machine_name| |___________________| This would query your own machine as to what ports it keeps open. nmap is a very powerful tool, documentation is available on the nmap_site as well as the information in the manual page. ------------------------------------------------------------------------------- 13.1. Network Configuration ifconfig This command is used to configure network interfaces, or to display their current configuration. In addition to activating and deactivating interfaces with the “up” and “down” settings, this command is necessary for setting an interface's address information if you don't have the ifcfg script. Use ifconfig as either: __________ | | | ifconfig| |__________| This will simply list all information on all network devices currently up. ____________________ | | | ifconfig eth0 down| |____________________| This will take eth0 (assuming the device exists) down, it won't be able to receive or send anything until you put the device back “up” again. Clearly there are a lot more options for this tool, you will need to read the manual/info page to learn more about them. ifup Use ifup device-nameto bring an interface up by following a script (which will contain your default networking settings). Simply typeifupand you will get help on using the script. For example typing: ___________ | | | ifup eth0| |___________| Will bring eth0 up if it is currently down. ifdown Useifdown device-nameto bring an interface down using a script (which will contain your default network settings). Simply typeifdownand you will get help on using the script. For example typing: _____________ | | | ifdown eth0| |_____________| Will bring eth0 down if it is currently up. ifcfg Use ifcfg to configure a particular interface. Simply type ifcfg to get help on using this script. For example, to change eth0 from 192.168.0.1 to 192.168.0.2 you could do: ____________________________ | | | ifcfg eth0 del 192.168.0.1| | ifcfg eth0 add 192.168.0.2| |____________________________| The first command takes eth0 down and removes that stored IP address and the second one brings it back up with the new address. route The route command is the tool used to display or modify the routing table. To add a gateway as the default you would type: ____________________________________ | | | route add default gw some_computer| |____________________________________| ------------------------------------------------------------------------------- 13.2. Internet Specific Commands Note that should DNS not be configured correctly on your machine, you need to edit “/etc/resolv.conf” to make things work... host Performs a simple lookup of an internet address (using the Domain Name System, DNS). Simply type: _________________ | | | host ip_address| |_________________| or __________________ | | | host domain_name| |__________________| dig The "domain information groper" tool. More advanced then host... If you give a hostname as an argument to output information about that host, including it's IP address, hostname and various other information. For example, to look up information about “www.amazon.com” type: ____________________ | | | dig www.amazon.com| |____________________| To find the host name for a given IP address (ie a reverse lookup), use dig with the `-x' option. _____________________ | | | dig -x 100.42.30.95| |_____________________| This will look up the address (which may or may not exist) and returns the address of the host, for example if that was the address of “http:// slashdot.org” then it would return “http://slashdot.org”. dig takes a huge number of options (at the point of being too many), refer to the manual page for more information. whois (now BW whois) is used to look up the contact information from the “whois” databases, the servers are only likely to hold major sites. Note that contact information is likely to be hidden or restricted as it is often abused by crackers and others looking for a way to cause malicious damage to organisation's. wget (GNU Web get) used to download files from the World Wide Web. To archive a single web-site, use the -m or --mirror (mirror) option. Usethe-nc(no clobber) option to stop wget from overwriting a file if you already have it. Use the -c or --continue option to continue a file that was unfinished by wget or another program. Simple usage example: ___________________ | | | wget url_for_file| |___________________| This would simply get a file from a site. wget can also retrieve multiple files using standard wildcards, the same as the type used in bash, like *, [ ], ?. Simply use wget as per normal but use single quotation marks (' ') on the URL to prevent bash from expanding the wildcards. There are complications if you are retrieving from a http site (see below...). Advanced usage example, (used from wget manual page): ______________________________________________ | | | wget --spider --force-html -i bookmarks.html| |______________________________________________| This will parse the file bookmarks.html and check that all the links exist. Advanced usage: this is how you can download multiple files using http (using a wildcard...). Notes: http doesn't support downloading using standard wildcards, ftp does so you may use wildcards with ftp and it will work fine. A work- around for this http limitation is shown below: __________________________________________________________ | | | wget -r -l1 --no-parent -A.gif http://www.website.com[6]| |__________________________________________________________| This will download (recursively), to a depth of one, in other words in the current directory and not below that. This command will ignore references to the parent directory, and downloads anything that ends in “.gif”. If you wanted to download say, anything that ends with “.pdf” as well than add a -A.pdf before the website address. Simply change the website address and the type of file being downloaded to download something else. Note that doing -A.gif is the same as doing -A “*.gif” (double quotes only, single quotes will not work). wget has many more options refer to the examples section of the manual page, this tool is very well documented. Note Alternative website downloaders   You may like to try alternatives like httrack. A full GUI website downloader written in python and available for GNU/Linux curl curl is another remote downloader. This remote downloader is designed to work without user interaction and supports a variety of protocols, can upload/download and has a large number of tricks/work-arounds for various things. It can access dictionary servers (dict), ldap servers, ftp, http, gopher, see the manual page for full details. To access the full manual (which is huge) for this command type: _________ | | | curl -M| |_________| For general usage you can use it like wget. You can also login using a user name by using the -u option and typing your username and password like this: ___________________________________________________________ | | | curl -u username:password http://www.placetodownload/file| |___________________________________________________________| To upload using ftp you the -T option: ____________________________________________ | | | curl -T file_name ftp://ftp.uploadsite.com| |____________________________________________| To continue a file use the -C option: _______________________________________ | | | curl -C - -o file http://www.site.com| |_______________________________________| ------------------------------------------------------------------------------- 13.3. Remote Administration Related ssh Secure shell, remotely login on a machine running the sshd daemon. Once you are logged in you have a secure shell and are able to execute various commands on that computer such as copy files, reboot the computer, just like it was your own GNU/Linux PC. Or you can use ssh with a full hostname to connect to a remote machine (as in across the internet). Examples: ______________ | | | ssh hostname| |______________| Connect to a remote system with your current username, you will obviously need the password of the user on the other machine. ________________________ | | | ssh username@hostname | |________________________| Connect to a remote system with your a different username, you will obviously need the password of the user on the other machine. scp Secure copy, part of the ssh package. Allows you to copy files from one computer to another computer, use-rto copy recursively (copy entire directories and subdirectories). scp's syntax is always _______________________________________________ | | | scp machineToBeCopiedFrom machineToBeCopiedTo| |_______________________________________________| Where either machine can be a local directory (on the current filesystem /) or a remote machine. Remote machines are usually machinesFullName:/ directory (if you omit the directory part it will just assume the home directory of the username you are logging in with). The example below copies all files from the current directory (not including any directories), the command will login to “new” using the username of the person currently logged in on the local computer, the files will be copied to the root directory of the remote computer called “new” (which is probably on the LAN): _____________ | | | scp * new:/| |_____________| You could also copy files from another computer to another computer. Let's say you are on a computer called “p100”. And you want to copy files (and directories) from “hp166” (in the /tmp directory and anything below that) to “new” and put the files in new's temporary directory. You could do: ____________________________ | | | scp -r hp166:/tmp new:/tmp| |____________________________| Assuming you were logged in as “fred” you would need passwords for user “fred” on the computers hp166 and new. Add an user_name@ before the computer name to login under a different user name. For example to perform the above command with user “root” on hp166 and “anon” on new you would type: ______________________________________ | | | scp -r root@hp166:/tmp anon@new:/tmp| |______________________________________| To copy from a remote machine to a local computer you simply do things in reverse: ________________________________ | | | scp remoteMachine:/mystuff/* .| |________________________________| This will copy files on the remote machine in the directory “mystuff” to your local computer. Note Remote Machines Please note that when working with a remote machine you need to   have a : (colon) after the machine name even if you want the files in their home directory. Otherwise the command will fail. sftp Secure ftp, another part of the ssh package. This command is similar to ftp but uses an encrypted tunnel to connect to an ftp server and is therefore more secure than just plain ftp. The command usage is very similar to ftp (the command-line tool), sftp (once running) uses commands such ashelp(for help), put (send files to the server), get (download files from the server) and various others, refer to the manual page and internal documentation for further details. Tip Graphical programs Sometimes its easier to manage files with a GUI, many of these   programs do have good GUI equivalents, try searching the internet or sites like Sourceforge or Freshmeat. ------------------------------------------------------------------------------- Chapter 14. Security The security chapter is designed to give the user a very basic level of understanding of security within the GNU/Linux operating system. This chapter also has information on the UNIX system style file permissions used on most GNU/Linux machines. More comprehensive guides can be found at the Linux_Documentation_Project, such as the Linux_Security_howto authored by Kevin Fenzi and Dave Wreski. There are also sites such as Linux_Security. If your looking for a program to assist in locking down your operating system you may want to check Bastille Linux that runs on RPM based distributions (Redhat/Mandriva/SuSE). Changing root's password This trick works well if you have forgotten your superuser password, typelinux single at a LILO/Grub prompt. Then passwd once the system has started and you are at a console. Grub: If you are using grub go to the relevant line (the one with the kernel and various options) then press 'e' for edit and add “single” on to the end of the lines that boot the kernel. Then hit [Enter] and press 'b' (to boot). Lilo: If you are using lilo press escape and type “ linux single” and then hit [Enter] to boot. Caution Security Warning This is also a basic security hazard if you have others using   your computer and security is a concern, you may like to add a password to your LILO or Grub prompt to stop this from being done. umask The umask is a value set by the shell. It controls the default permissions of any file created during that shell session. This information is inherited from the shell's parent and is normally set in some configuration file by the root user (in my case /etc/profile). umask has an unusual way of doing things ...to set the umask you must describe file permissions by saying what will be disabled. You can do this by doing 777 minus the file permissions you want. Note that umask works with numbers only, for an explanation please see, Section_14.2 For example: You want the default during a particular shell session to be equivalent tochmod 750 (user has r/w/x, group has r/x and other has no permissions), then the command you would use would be: ___________ | | | umask 027| |___________| ------------------------------------------------------------------------------- 14.1. Some basic Security Tools md5sum Compute an md5 checksum (128-bit) for file “file_name” to verify it's integrity. You normally use the “ md5sum -c” option to check against a given file (often with a “.asc” extention) to check whether the various files are correct, this comes in handy when downloading isos as the checking is automated for you. Command syntax: __________________ | | | md5sum file_name| |__________________| mkpasswd -l 10 This command will make a random password of length ten characters. This password generator creates passwords that are designed to be hard to guess. There are similar alternatives to this program scattered around the internet. ------------------------------------------------------------------------------- 14.2. File Permissions Use ls -lto see the permissions of files (list-long). They will appear like this, note that I have added spaces between permissions to make it easier to read: Where: r = read, w = write, x = execute _______________________________________________ | | | - rwx rw- r-- 1 (1) newuser newuser| | type (2) owner (3) group (4) others (5) | |_______________________________________________| _(1)_ This number is the number of hard links (pointers) to this file. You can use lnto create another hard-link to the file. _(2)_ This is the type of file. '-' means a regular file, 'd' would mean a directory, 'l' would mean a link. There are also other types such as 'c' for character device and 'b' for block device (found in the /dev/ directory). _(3)_ These are the permissions for the owner of the file (the user who created the file). _(4)_ These are the permissions for the group, any users who belong is the same group as the user who created the file will have these permissions. _(5)_ These are the permissions for everyone else. Any user who is outside the group will have these permissions to the file. The two names at the end are the username and group respectively. chmod Change file access permissions for a file(s). There are two methods to change permissions using chmod; letters or numbers. Letters Method: use a + or - (plus or minus sign) to add or remove permissions for a file respectively. Use an equals sign =, to specify new permissions and remove the old ones for the particular type of user (s). You can usechmod letter where the letters are: a (all (everyone)), u (user), g (group) and o (other). Examples: _____________________ | | | chmod u+rw somefile| |_____________________| This would give the user read and write permission. ______________________ | | | chmod o-rwx somefile| |______________________| This will remove read/write/execute permissions from other users (doesn't include users within your group). ____________________ | | | chmod a+r somefile| |____________________| This will give everyone read permission for the file. _____________________ | | | chmod a=rx somefile| |_____________________| This would give everyone execute and read permission to the file, if anyone had write permission it would be removed. Numbers Method: you can also use numbers (instead of letters) to change file permissions. Where: r (read) = 4 w (write) = 2 x (execute) = 1 Numbers can be added together so you can specify read/write/execute permissions; read+write = 6, read+execute = 5, read+write+execute = 7 Examples: ____________________ | | | chmod 777 somefile| |____________________| This would give everyone read/write/execute permission on “this_file”. The first number is user, second is group and third is everyone else (other). ____________________ | | | chmod 521 somefile| |____________________| This would give the user read and execute permission, and the group write permission (but not read permission!) and everyone else execute permission. (Note that it's just an example, settings like that don't really make sense...). chown Changes the ownership rights of a file (hence the name 'chown' - change owner). This program can only be used by root. Use the-R option to change things recursively, in other words, all matching files including those in subdirectories. Command syntax: _________________________________ | | | chown owner:group the_file_name| |_________________________________| sticky bit Only the person who created the file within a directory may delete it, even if other people have write permission. You can turn it on by typing: _________________________________________________ | | | chmod 1700 somedirectory (where 1 = sticky bit)| |_________________________________________________| or (where t represents the sticky bit) ________________________ | | | chmod +t somedirectory| |________________________| To turn it off you would need to type: _______________________________________________________________ | | | chmod 0700 somefile (where the zero would mean no sticky bit)| |_______________________________________________________________| or (where t represents the sticky bit) ___________________ | | | chmod -t somefile| |___________________| Note that the permissions aren't relevant in the numbers example, only the first number (1 = on, 0 = off). An example of a sticky directory is usually /tmp suid Allow SUID/SGID (switch user ID/switch group ID) access. You would normally use chmod to turn this on or off for a particular file, suid is generally considered a security hazard so be careful when using this. Example: _____________________ | | | chmod u+s file_name| |_____________________| This will give everyone permission to execute the file with the permissions of the user who set the +s switch. Caution Security Hazard   This is obviously a security hazard. You should avoid using the suid flag unless necessary. chattr Change file system attributes (works on ext2fs and possibly others...). Use the -R option to change files recursively,chattrhas a large number of attributes which can be set on a file, read the manual page for further information. Example: ______________________________ | | | chattr +i /sbin/lilo.conf[7]| |______________________________| This sets the 'immutable' flag on a file. Use a '+' to add attributes and a '-' to take them away. The +i will prevent any changes (accidental or otherwise) to the “lilo.conf” file. If you wish to modify the lilo.conf file you will need to unset the immutable flag:chattr -i. Note some flags can only be used by root; -i, -a and probably many others. Note there are many different attributes that chattr can change, here are a few more which may be useful: * A (no Access time) --- if a file or directory has this attribute set, whenever it is accessed, either for reading of for writing, it's last access time will not be updated. This can be useful, for example, on files or directories which are very often accessed for reading, especially since this parameter is the only one which changes on an inode when it's opened. * a (append only) --- if a file has this attribute set and is open for writing, the only operation possible will be to append data to it's previous contents. For a directory, this means that you can only add files to it, but not rename or delete any existing file. Only root can set or clear this attribute. * s (secure deletion) --- when such a file or directory with this attribute set is deleted, the blocks it was occupying on disk are written back with zeroes (similar to using shred). Note that this does work on the ext2, and ext3 filesystems but is unlikely to work on others (please see the documentation for the filesystem you are using). You may also like to see shred, please see Chapter_7 lsattr (list attributes). This will list if whether a file has any special attributes (as set by chattr). Use the -R option to list recursively and try using the -d option to list directories like other files rather than listing their contents. Command syntax: ________ | | | lsattr| |________| This will list files in the current directory, you may also like to specify a directory or a file: ___________________________ | | | lsattr /directory/or/file| |___________________________| ------------------------------------------------------------------------------- Chapter 15. Archiving Files The archiving files chapter provides some basic information on the simple programs that you can use to archive files. You will often see these programs used when you try to install programs without using a package management tool. Note This is not a backup guide Please note that while tar is useful for regular purposes, and possibly combined with bash sciprting or similar it can become useful, it is not   a great program for performing real backups of data. You should try searching the internet if you are looking for backup programs on GNU/Linux or try Sourceforge or Freshmeat for programs that you can use. You may also like to see rsync, Section_15.2. ------------------------------------------------------------------------------- 15.1. tar (tape archiver) Type tar then -option(s) Options list: * -c --- create. * -v --- verbose, give more output, show what files are being worked with (extracted or added). * -f --- file (create or extract from file) - should always be the last option otherwise the command will not work. * -z --- put the file though gzip or use gunzip on the file first. * -x --- extract the files from the tarball. * -p --- preserves dates, permissions of the original files. * -j --- send archive through bzip2. * --exclude=pattern --- this will stop certain files from being archived (using a standard wild-card pattern) or a single file name. tar examples   __________________________________________________ | | | tar -cvpf name_of_file.tar files_to_be_backed_up| |__________________________________________________| This would create a tape archive (no compressing). _______________________________ | | | tar -zxvpf my_tar_file.tar.gz| |_______________________________| This would extract files (verbosely) from a gzipped tape archive. ------------------------------------------------------------------------------- 15.2. rsync rsync rsync is a replacement for the old rcp (remote-copy) command. It can use ssh for encryption and is a very flexible tool, it can copy from local machine to local machine, from local to remote (and vice-versa), and to and from rsync servers. rsync uses an advanced differencing algorithm, so when to copies or syncs something it will (a) only copy new/changed files and (b) if the files have being changed it will copy the differences between the files (not the entire file). Using this method rsync saves time and bandwidth. rsync also has advanced exclusion options similar to GNU tar. rsync has a well written manual page, for further information read the rsync documentation online or type: ___________ | | | man rsync| |___________| If you wish to visit the rsync site you will find it over here ------------------------------------------------------------------------------- 15.3. Compression There are two main compression utilities used in GNU/Linux. It's normal to first “tar” a bunch of files (using the tar program of course) and then compress them with either bzip2 or gzip. Of course either of these tools could be used without tar, although they are not designed to work on more than one file (they use the UNIX tools philosophy, let tar group the files, they will do the compression...this simplifies their program). It's normal to use tar and then use these tools on them, or use tar with the correct options to use these compression programs. GNU zip (gzip) gzip is the GNU zip compression program and probably the most common compression format on UNIX-like operating systems. ________________________ | | | gzip your_tar_file.tar| |________________________| This will compress a tar archive with GNU zip, usually with a .gz extension. Gzip can compress any type of file, it doesn't have to be a tar archive. ______________________ | | | gunzip your_file.gz | |______________________| This will decompress a gzipped file, and leave the contents in the current directory. bzip2 bzip2 is a newer compression program taht offers superior compression to gzip at the cost of more processor time. __________________________ | | | bzip2 your_tar_file.tar | |__________________________| This will compress a tar archive with the bzip2 compression program, usually with a .bz extension. bzip2 can compress any type of file, it doesn't have to be a tar archive. ____________________________ | | | bunzip2 your_file.tar.bz2 | |____________________________| This will decompress a file compressed by bzip2, and leave the contents in the current directory. zipinfo Use zipinfo to find detailed information about a zip archive (the ones usually generally used by ms-dos and windows, for example winzip). Command syntax: ______________________ | | | zipinfo zip_file.zip| |______________________| zipgrep Will run grep to look for files within a zip file (ms-dos style, for example winzip) without manually decompressing the file first. Command syntax: ______________________________ | | | zipgrep pattern zip_file.zip| |______________________________| bzip2recover Used to recover files from a damaged bzip2 archive. It simply extracts out all the working blocks as there own bzip2 archives, you can than usebzip2 -ton each file to test the integrity of them and extract the working files. bzme Will convert a file that is zipped or gzipped to a file compressed using bzip2. Command syntax: _______________ | | | bzme filename| |_______________| Tip Tip Both gzip and bzip2 supply tools to work within compressed files for example listing the files within the archive, running less on them, using   grep to find files within the archive et cetera. For gzip the commands are prefixed with z, zcat, zless, zgrep. For bzip2 the commands are prefixed with bz, bzcat, bzless, bzgrep. ------------------------------------------------------------------------------- Chapter 16. Graphics tools (command line based) The graphics tools chapter explains some image programs that can be called from the command-line. While I have found image programs that can be used from the command-line, zgv is the only one I've ever heard of, I did not find them very useful. All the tools listed use the X windowing system to work and simply run from the command line (so they can be scripted/automated if necessary). montage Creates a 'montage', an image created of many other images, arranged in a random fashion. Command syntax: _______________________________________________________ | | | montage r34.jpg r32.jpg skylines* skyline_images.miff| |_______________________________________________________| The above would create a “montage” of images (it would tile a certain number of images) into a composite image called “skyline_images.miff”, you could always use displayto view the image. Note Note   Note that the images are converted to the same size (scaled) so they can be tiled together. convert To convert the file format of an image to another image format. convert is used to change a files format, for example from a jpeg to a bitmap or one of many other formats.convertcan also manipulate the images as well (see the man page or the ImageMagick site). Example from Jpeg to PNG format: _______________________________________________ | | | convert JPEG: thisfile.jpg PNG: thisfile.png | |_______________________________________________| import Captures screen-shots from the X server and saves them to a file. A screen-dump of what X is doing. Command syntax: __________________ | | | import file_name| |__________________| display display is used to display (output) images on the screen. Once open you are can also perform editing functions and are able to read/write images. It has various interesting options such as the ability to display images as a slide show and the ability to capture screenshots of a single window on-screen. Command syntax (for displaying an image): ____________________ | | | display image_name| |____________________| To display a slide show of images, open the images you want possibly using a wildcard, for example: _______________ | | | display *.jpg| |_______________| And then click on the image to bring up the menu and then look under the miscellaneous menu for the slide show option. Caution Speed Warning Be careful when opening multiple large sized images (especially on a slow machine) and putting the slide show on a small delay   between image changes. Your processor will be overloaded and it will take a significant amount of time to be able to close ImageMagick. identify Will identify the type of image as well as it's size, colour depth and various other information. Use the-verbose option to show detailed information on the particular file(s). Command syntax: _____________________ | | | identify image_name| |_____________________| mogrify mogrify is another ImageMagick command which is used to transform images in a number of different ways, including scaling, rotation and various other effects. This command can work on a single file or in batch. For example, to convert a large number of tiff files to jpeg files you could type: _____________________________ | | | mogrify -format jpeg *.tiff| |_____________________________| This command has the power to do a number of things in batch including making thumbnails of sets of images. For this you could type:[8] _________________________________ | | | mogrify -geometry 120x120 *.jpg| |_________________________________| showrgb showrgb is used to uncompile an rgb colour-name database. The default is the one that X was built with. This database can be used to find the correct colour combination for a particular colour (well it can be used as a rough guide anyway). To list the colours from the X database, simply type: _________ | | | showrgb| |_________| Note Please note: All tools listed, excluding showrgb are part of the ImageMagick package.   Type man ImageMagickfor a full list of available commands. Or see the ImageMagick site ImageMagick for further information. ------------------------------------------------------------------------------- Chapter 17. Working with MS-DOS files Use the mtools programs to work with ms-dos based files, execute mtools for a full listing of available m* tools. There are a lot of files within the mtools package for working with ms-dos disks, also try the info documentation of mtools for more details. Note The use of slashes Note that with mtools commands you can use the slashes on the a: part   either way (ie. backslash (windows-style) or forward slash (UNIX system style)). mformat Formats an unmounted disk as an ms-dos floppy disk. Usage is similar to the ms-dos format utility, to format the first floppy disk you can type: ____________ | | | mformat a:| |____________| mcopy Copies files from an ms-dos disk when it's not mounted. Similar to the ms-dos copy command except it's more advanced. Command syntax: _______________________________________________ | | | mcopy a:/file_or_files /destination/directory| |_______________________________________________| mmount Mount an ms-dos disk, without using the normal UNIX system mount. For example: _______________________ | | | mmount a: /mnt/floppy| |_______________________| This will mount the floppy under /mnt/floppy (this option may or may not be necessary, it depends on your /etc/fstab setup). mbadblocks Scans an ms-dos (fat formatted disk) for bad blocks, it marks any unused bad blocks as “bad” so they won't be used. Example: _______________ | | | mbadblocks a:| |_______________| dosfsck This program is used to check and repair ms-dos based filesystems. Use the -a option to automatically repair the filesystem (ie don't ask the user questions), the -t option to mark un-readable clusters as bad and the -v option to be more verbose (print more information). Example: ______________________ | | | dosfsck -at /dev/fd0| |______________________| This would check your floppy disk for any errors (and bad sectors) and repair them automatically. ------------------------------------------------------------------------------- Chapter 18. Scheduling Commands to run in the background There are two main tools used to perform scheduled tasks, at and cron. You may also like to try anacron if your computer does not run continuously, as cron will only work if your computer is left on (anacron can catch up with the scheduled tasks the next time the computer is on...). at 'at' executes a command once on a particular day, at a particular time. at will add a particular command to be executed. Examples: __________ | | | at 21:30| |__________| You then type the commands you want executed then press the end-of-file key (normally CTRL-D ). Also try: _______________ | | | at now + time| |_______________| This will run at the current time + the hours/mins/seconds you specify (useat now + 1 hourto have command(s) run in 1 hour from now...) You can also use the -f option to have at execute a particular file (a shell script). _________________________________ | | | at -f shell_script now + 1 hour| |_________________________________| This would run the shell script 1 hour from now. atq Will list jobs currently in queue for the user who executed it, if root executes at it will list all jobs in queue for the at daemon. Doesn't need or take any options. atrm Will remove a job from the 'at' queue. Command syntax: _____________ | | | atrm job_no| |_____________| Will delete the job “job_no” (use atq to find out the number of the job) cron cron can be used to schedule a particular function to occur every minute, hour, day, week, or month. It's normal to use the crontab to perform the editing functions as this automates the process for the cron daemon and makes it easier for normal users to use cron. Tip Anacron anacron is another tool designed for systems which are not always on, such as home computers   While cronwill not run if the computer is off, anacronwill simply run the command when the computer is next on (it catches up with things). crontab crontab is used to edit, read and remove the files which the cron daemon reads. Options for crontab (usecrontab -option(s)): * -e --- to edit the file. * -l--- to list the contents of the file. * -u username--- use the -u with a username argument to work with another users crontab file. When using crontab -eyou have a number of fields (6) what they mean is listed below: ___________________________________________________________ |_____Field__|________________________Allowed_Values________| |____minute__|_______________________________0-59___________| |______hour__|_______________________________0-23___________| |day_of_month|_______________________________1-31___________| |_____month__|_______________1-12_(or_names,_see_below)_____| |day_of_week_|0-7_(0_or_7_is_Sun,_or_use_three_letter_names)| There are also a number of shortcut methods for common tasks, including: [9] * @reboot --- run command at reboot * @yearly --- same as 0 0 1 1 * * @annually --- same as @yearly * @monthly --- same as 0 0 1 * * * @weekly --- same as 0 0 * * 0 * @daily --- same as 0 0 * * * * @midnight --- same as @daily * @hourly --- same as 0 * * * * [10] Note that * (asterisk) is used to mean anything (similar to the wildcard). For example if you leave the day part (the 5th place) with an asterisk it would mean everyday. Lists are allowed. A list is a set of numbers (or ranges) separated by commas. Examples: ``1,2,5,9'', ``0-4,8-12”. Step values can be used in conjunction with ranges. Following a range with ``/'' specifies skips of the number's value through the range. For example, ``0-23/2'' can be used in the hours field to specify command execution every other hour (the alternative in the V7 standard is ``0,2,4,6,8,10,12,14,16,18,20,22''). Steps are also permitted after an asterisk, so if you want to say ``every two hours'', just use ``*/2''. When writing a crontab entry you simply type in six fields separated by spaces, the first five are those listed in the table (using numbers or letters and numbers as appropriate), the 6th field is the command to be executed and any options, cron will read everything up until the newline. Example: __________________________________________________ | | | 5 4 * * sun echo "run at 5 after 4 every sunday"| |__________________________________________________| This would run the echo command with the string shown at 4:05 every Sunday. ------------------------------------------------------------------------------- Chapter 19. Miscellaneous The miscellaneous chapter contains commands that don't really fit into the other sections of this guide. renaming extensions To rename all of the files in the current directory with a '.htm' extension to '.html', type: ___________________________________ | | | $ chcase -x 's/htm/html/' '*.htm'| |___________________________________| You can get a copy of the chcase perl scripthere. For more complex renaming you should read Section_7.3 rel[11] Use rel to analyze text files for relevance to a given set of keywords. It outputs the names of those files that are relevant to the given keywords, ranked in order of relevance; if a file does not meet the criteria, it is not outputted in the relevance listing. units man page There is a man page, part of the Linux Programmers Manual called “units”. It displays various information on the various scientific measurements (such as mega, giga et cetera). This manual page also has a short discussion about the argument over which standard should be used to measure data (ie. the kibibyte vs kilobyte). To access this man page type: _____________ | | | man 7 units| |_____________| fortune fortune is a tool which will print a random, hopefully interesting quote or entertaining short piece of writing. There are options to customise which area the epigrams should come from. Just type fortune to get a random epigram from any section. Simply type: _________ | | | fortune| |_________| ------------------------------------------------------------------------------- Chapter 20. Mini-Guides The mini-guides chapter is a section of the document that describes certain concepts in more depth than the usual command descriptions. The information listed is fairly specific as I have tried to avoid the duplication of too much information that is already online. ------------------------------------------------------------------------------- 20.1. RPM: Redhat Package Management System Checking Installed RPM's Use the rpm -V option to check whether or not a package has been modified. For example: __________________ | | | rpm -V textutils| |__________________| If none of the files from the textutils package have changed then rpm will exit without outputting any data. If, on the other hand, the program has changed, you may see something like this: ___________________ | | | U.5....T /bin/cat| |___________________| This isn't as cryptic as it appears. The line returned from rpm -V contains any number of eight characters plus the full path to the file. Here are the characters and their meaning:[12] * S --- File size differs * M --- Mode differs (includes permissions and file type) * 5 --- MD5 sum differs * D --- Device major/minor number mis-match * L --- ReadLink(2) path mis-match * U --- User ownership differs * G --- Group ownership differs * T --- mTime differs Tip Mandriva Users Note Mandriva Linux uses a customised version of RPM called urpmi (It consists of the urpm* commands, urpmi to install, urpme to remove and urpmf and urpmq to query). This customised version has advantages over standard RPM, including   automatic-dependency solving and Debian apt-get style functions (ability to download programs over the internet and have all dependencies resolved automatically). The urpm* commands are all described in detail in Mandriva's documentation and various sources online. ------------------------------------------------------------------------------- 20.2. Checking the Hard Disk for errors Checking the hard disk for errors on your primary drive is very, very rarely required in GNU/Linux, most checking is automated on start-up if it is required. If you do need to check the hard disk for errors you will first need to unmount it. Then use the file system checker, fsck. _______________________ | | | fsck.file_system_type| |_______________________| If you had an ext3 file-system then it would be: ___________ | | | fsck.ext3| |___________| Tip Also try You can also try using: __________________________   | | | fsck -t file_system_type| |__________________________| ------------------------------------------------------------------------------- 20.3. Duplicating disks This simple technique shows you how you would duplicate floppy disks in a GNU/ Linux system using dd. This technique is not as useful as it used to be but can still be used for creating an image of a cd (although that is best done through the cd burning program). This information has been taken from the Linux Online Classroom, see [4] in the Bibliography for further details. ___________________________________ | | | $ dd if=/dev/fd0 of=floppy-image | | $ dd if=floppy-image of=/dev/fd0 | |___________________________________| The first dd makes an exact image of the floppy to the file floppy-image, the second one writes the image to the floppy. (The user has presumably switched the floppy before the second command. Otherwise the command pair is of doubtful usefulness). Similar techinques can be used when creating bootdisks, you simply use dd to transfer the image to the floppy disk. ------------------------------------------------------------------------------- 20.4. Wildcards Wildcards are useful in many ways for a GNU/Linux system and for various other uses. Commands can use wildcards to perform actions on more than one file at a time, or to find part of a phrase in a text file. There are many uses for wildcards, there are two different major ways that wildcards are used, they are globbing patterns/standard wildcards that are often used by the shell. The alternative is regular expressions, popular with many other commands and popular for use with text searching and manipulation. Tip Tip If you have a file with wildcard expressions in it then you can use single quotes to stop bash expanding them or use backslashes (escape characters), or both. For example if you wanted to create a file called 'fo*' (fo and asterisk) you would have to do it like this (note that you shouldn't create files   with names like this, this is just an example): ________________ | | | touch 'fo*' | |________________| Note that parts of both subsections on wildcards are based (at least in part) off the grep manual and info pages. Please see the Bibliography for further information. ------------------------------------------------------------------------------- 20.4.1. Standard Wildcards (globbing patterns) Standard wildcards (also known as globbing patterns) are used by various command-line utilities to work with multiple files. For more information on standard wildcards (globbing patterns) refer to the manual page by typing: ____________ | | | man 7 glob| |____________| Note Can be used by   Standard wildcards are used by nearly any command (including mv, cp, rm and many others). ? (question mark) this can represent any singlecharacter. If you specified something at the command line like "hd?" GNU/Linux would look for hda, hdb, hdc and every other letter/number between a-z, 0-9. * (asterisk) this can represent any number of characters (including zero, in other words, zero or more characters). If you specified a "cd*" it would use "cda", "cdrom", "cdrecord" and anything that starts with “cd” also including “cd” itself. "m*l" could by mill, mull, ml, and anything that starts with an m and ends with an l. [ ] (square brackets) specifies a range. If you did m[a,o,u]m it can become: mam, mum, mom if you did: m[a-d]m it can become anything that starts and ends with m and has any character a to d inbetween. For example, these would work: mam, mbm, mcm, mdm. This kind of wildcard specifies an “or” relationship (you only need one to match). { } (curly brackets) terms are separated by commas and each term must be the name of something or a wildcard. This wildcard will copy anything that matches either wildcard(s), or exact name(s) (an “or” relationship, one or the other). For example, this would be valid: ____________________ | | | cp {*.doc,*.pdf} ~| |____________________| This will copy anything ending with .doc or .pdf to the users home directory. Note that spaces are not allowed after the commas (or anywhere else). [!] This construct is similar to the [ ] construct, except rather than matching any characters inside the brackets, it'll match any character, as long as it is not listed between the [ and ]. This is a logical NOT. For examplerm myfile[!9] will remove all myfiles* (ie. myfiles1, myfiles2 etc) but won't remove a file with the number 9 anywhere within it's name. \ (backslash) is used as an "escape" character, i.e. to protect a subsequent special character. Thus, "\\” searches for a backslash. Note you may need to use quotation marks and backslash(es). ------------------------------------------------------------------------------- 20.4.2. Regular Expressions Regular expressions are a type of globbing pattern used when working with text. They are used for any form of manipulation of multiple parts of text and by various programming languages that work with text. For more information on regular expressions refer to the manual page or try an online tutorial, for example IBM Developerworks using_regular_expressions. For the manual page type: Type: _____________ | | | man 7 regex| |_____________| Note Regular expressions can be used by   Regular Expressions are used by grep (and can be used) by findand many other programs. Tip Tip If your regular expressions don't seem to be working then you probably   need to use single quotation marks over the sentence and then use backslashes on every single special character. . (dot) will match any single character, equivalent to ? (question mark) in standard wildcard expressions. Thus, "m.a" matches "mpa" and "mea" but not "ma" or "mppa". \ (backslash) is used as an "escape" character, i.e. to protect a subsequent special character. Thus, "\\" searches for a backslash. Note you may need to use quotation marks and backslash(es). .* (dot and asterisk) is used to match any string, equivalent to * in standard wildcards. * (asterisk) the proceeding item is to be matched zero or more times. ie. n* will match n, nn, nnnn, nnnnnnn but not na or any other character. ^ (caret) means "the beginning of the line". So "^a" means find a line starting with an "a". $ (dollar sign) means "the end of the line". So "a$" means find a line ending with an "a". For example, this command searches the file myfile for lines starting with an "s" and ending with an "n", and prints them to the standard output (screen): ____________________________ | | | cat myfile | grep '^s.*n$'| |____________________________| [ ] (square brackets) specifies a range. If you did m[a,o,u]m it can become: mam, mum, mom if you did: m[a-d]m it can become anything that starts and ends with m and has any character a to d inbetween. For example, these would work: mam, mbm, mcm, mdm. This kind of wildcard specifies an “or” relationship (you only need one to match). | This wildcard makes a logical OR relationship between wildcards. This way you can search for something or something else (possibly using two different regular expressions). You may need to add a '\' (backslash) before this command to work, because the shell may attempt to interpret this as a pipe. [^] This is the equivalent of [!] in standard wildcards. This performs a logical “not”. This will match anything that is not listed within those square brackets. For example,rm myfile[^9] will remove all myfiles* (ie. myfiles1, myfiles2 etc) but won't remove a file with the number 9 anywhere within it's name. ------------------------------------------------------------------------------- 20.4.3. Useful categories of characters (as defined by the POSIX standard) This information has been taken from the grep info page with a tiny amount of editing, see [10] in the Bibliography for further information. * [:upper:] uppercase letters * [:lower:] lowercase letters * [:alpha:] alphabetic (letters) meaning upper+lower (both uppercase and lowercase letters) * [:digit:] numbers in decimal, 0 to 9 * [:alnum:] alphanumeric meaning alpha+digits (any uppercase or lowercase letters or any decimal digits) * [:space:] whitespace meaning spaces, tabs, newlines and similar * [:graph:] graphically printable characters excluding space * [:print:] printable characters including space * [:punct:] punctuation characters meaning graphical characters minus alpha and digits * [:cntrl:] control characters meaning non-printable characters * [:xdigit:] characters that are hexadecimal digits. Note These are used with   The above commands will work with most tools which work with text (for example: tr). For example (advanced example), this command scans the output of the dir command, and prints lines containing a capital letter followed by a digit: _______________________________________ | | | ls -l | grep '[[:upper:]][[:digit:]]'| |_______________________________________| The command greps for [upper_case_letter][any_digit], meaning any uppercase letter followed by any digit. If you remove the [ ] (square brackets) in the middle it would look for an uppercase letter or a digit, because it would become [upper_case_letter any_digit] ------------------------------------------------------------------------------- Appendix A. Appendix A.1. Finding Packages/Tools A.1.1. Finding more useful tools If you are looking to find more tools, the GNU project (GNU's Not Unix) maintains a directory, a website listing categorized links to various free- software tools (which they consider useful) called the_GNU_Directory. Also try sites such as Sweet_Code which offer mailing lists of useful tools which they find. You may also try looking at the most highly rated, most active or most downloaded programs at SourceForge and FreshMeat. ------------------------------------------------------------------------------- A.1.2. Finding a particular tool(s) Many of the tools listed in this guide are part of a package of tools, such as diffutilswhich contains the various tools used to find differences between files, such as diff, sdiff, diff3, cmp. Most small tools are bundled together in this fashion. Most major distribution's will offer a search function to help you search the packages by file, you can of course do this via the command-line interface or a GUI. If you need to search the distribution's available packages via the command- line, the method will vary depending on the distribution you are using, see the subsections below or consult your distribution's documentation (or of course the internet): ------------------------------------------------------------------------------- A.1.2.1. Mandriva (urpm* commands, rpm based) To find where a particular file came from use urpmf. Command syntax: _________________ | | | urpmf file_name| |_________________| The results are often overwhelming as this particular command will take a string and list every file of every package in it's database that contains the particular keyword (ie. both uninstalled and installed packages). To refine the results you may want to add a pipe to it and send it through grep -w file_name (the -w option will only show you only exact (whole word) matches). How you would do this is shown below: _____________________________________ | | | urpmf file_name | grep -w file_name| |_____________________________________| For more information on the urpm* commands, please refer to the tip towards the end of this section: Section_20.1. ------------------------------------------------------------------------------- A.1.2.2. Red Hat (rpm) To find which package a particular file came from use rpm with the -qf option. Command syntax: ___________________________ | | | rpm -qf /path/to/the/file| |___________________________| This will find which package the file came from. You need to use rpm -qf not with a keyword but with the location of the actual file. To find more information on the particular package listed use rpm with the -qi option. Command syntax: ______________________ | | | rpm -qi package_name| |______________________| Note that the package name is the name of the package without the .arch.rpm (often .i386.rpm) extension on the end. For more information on the usage of rpm, please refer to this section Section 20.1. ------------------------------------------------------------------------------- A.1.2.3. Debian (deb) To find where a particular file came from use dpkg with the -S option. There are two ways to do this: ___________________ | | | dpkg -S file_name| |___________________| or: _______________________ | | | dpkg -S /path/to/file| |_______________________| You may also like to try (if it's installed, it's generally a lot faster than the dpkg search): ______________________ | | | dlocate -S file_name| |______________________| For more information on dpkg and dlocate please refer to the relevant manual pages and online sources of information. ------------------------------------------------------------------------------- A.1.3. Finding package(s) Packages can be found via the internet utilizing sites such as: * RPMFind for RPM based packages. * Debian_Package_Listfor deb packages. * RPMSeek, this site intends to index Debian packages as well as RPM. * TuxFinder where you can search for deb, rpm, tgz, iso and even documentation. Also try the author's homepage and large sites such as FreshMeat and SourceForge. ------------------------------------------------------------------------------- A.2. Further Reading A.2.1. General Further Reading This guide is simply a short summary of some of the available tools of a GNU/ Linux based distribution. If you find a particular command interesting and useful, you can look up the on-line manual, or/and info page to learn more about how to use this command or check the HOWTO's online at Linux Documentation_Project. The manual/info pages will always be an up-to-date source of information on how to use the command. Also have a look at the documentation installed on your distribution, its normally located in /usr/share/doc. Check the references section of this document, Bibliography, for some links to useful resources which were used in the creation of this document. Of course if you are having trouble with a particular command try using a search engine such as Google or AllTheWeb, or search the usenet groups Google Groups. If you still can't find a solution, look for a mailing list which is related to the topic you are having trouble with, or try a forum which is related to the topic. Readers who would like another reference to commands may want to have at: * Commands_from_"Linux_in_a_Nutshell_3rd_Edition" as published by Orielly -- - this document was not used in the creation of this guide, however it is a comprehensive guide to GNU/Linux Commands (it's an indexed listing). It lists and explains 379 commands taken from Linux in a Nutshell 3rd Edition. * The_Linux_Newbie_Admin_guide_list_of_commands --- another list of commands from an excellent system administration guide for GNU/Linux. * Comptechdoc's_Linux_Command_Quickreference_Guide --- a good list of commands but only one line explanations of what they actually do... * SS64.com_list_of_bash_commands --- this page lists commands and links to their man pages online. If you wish to learn more about GNU/Linux on a variety of subjects also see the various online (free) tutorials published by IBM_Developerworks. If you wish to explore all of Linux distributions, visit List_of_all_secure Linux_distributions, List_of_all_special_purpose_Linux_distributions, and List of_popular_Linux_distributions If you are looking for a general reference to everything GNU/Linux try the Rute User's_Tutorial_and_Exposition. Or take a look at your distributions documentation, Debian maintains comprehensive documentation, debian documentation_site. ------------------------------------------------------------------------------- A.2.2. Specific Further reading The most obvious place to look for documentation is to find the homepage of the program. Although sometimes there are other sources of information such as the Linux_Documentation_Project or various online HOWTO's or similar guides. They are usually easily found using search engines. Try large sites such as (ibiblio)_the_publics_library_and_digital_archive or TuxFinder which can search for documentation. Below is a very short list of some further reading for a few of the more complex tools: * OpenSSH OpenSSH_manual_page * vim The_Vim_HOWTO * emacs The_Emacs_HOWTO * RPM RPM_HOWTO * Samba Samba_documentation_site * ImageMagick ImageMagick_command-line_tools * BASH BASH_reference_manual * Bash scripting Advanced_bash_scripting_guide * rsync rsync_homepage ------------------------------------------------------------------------------- A.2.2.1. The UNIX tools philosophy further reading * An article within the coreutils documentation (installed on nearly every GNU/ Linux distro) provides further explanation of the UNIX tools philosophy. To access the article simply type: ________________ | | | info coreutils| |________________| Then type / (slash; runs a search) then the string “toolbox” (toolbox is the string to be searched for) then hit enter (follow hyperlink) and then go down to the “Toolbox introduction” section and hit enter. This will give you access to the article. * Other articles online include an: Orielly_article_on_the_UNIX_tools philosophy. * A_listing_of_important_qualities_of_the_philosophy. * Linux_Exposed_The_Unix_Philosophy_Explained * Or an entire book which is considered the authoritative guide toward understanding the philosophy behind how the UNIX system was built. The book is called “The Unix Philosophy” ISBN: 1555581234. ------------------------------------------------------------------------------- A.2.3. Online Manual And Info Pages While manual pages and info pages are usually installed with the program itself they are also available online if you need them, the listed links are usually listed by category or by the man page sections. ------------------------------------------------------------------------------- A.2.3.1. Online Manual Page Websites: * Manual_Page_Resource_Links_(from_the_Linux_Documentation_Project) * A_RedHat_Based_Searchable_Index * Another_Searchable_Index * Another_Manual_Page_Site_(searchable) ------------------------------------------------------------------------------- A.2.3.2. Downloadable Manual Pages: * Downloadable_Man_Pages_hosted_by_Ibiblio ------------------------------------------------------------------------------- A.2.3.3. Online Info Page Website: * GNU_Manual's ------------------------------------------------------------------------------- A.3. GNU Free Documentation License GNU Free Documentation License Version 1.1, March 2000 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. ------------------------------------------------------------------------------- A.3.1. PREAMBLE The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. ------------------------------------------------------------------------------- A.3.2. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. The "Cover Texts" are certain short passages of text that are listed, as Front- Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. ------------------------------------------------------------------------------- A.3.3. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. ------------------------------------------------------------------------------- A.3.4. COPYING IN QUANTITY If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. ------------------------------------------------------------------------------- A.3.5. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five). C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back- Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. ------------------------------------------------------------------------------- A.3.6. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements." ------------------------------------------------------------------------------- A.3.7. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. ------------------------------------------------------------------------------- A.3.8. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate. ------------------------------------------------------------------------------- A.3.9. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail. ------------------------------------------------------------------------------- A.3.10. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. ------------------------------------------------------------------------------- A.3.11. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See Copyleft. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. ------------------------------------------------------------------------------- Bibliography (1) Tony Steidler-Dennison, Lockergnome_Penguin_Shell_Series, Lockergnome. Responsible for many of the commands listed in this document. In particular Lockergnome inspired much of the wildcards section: Section_20.4 (2) Brandon Rhodes, Linux_Network_Commands_Page. Responsible for parts of the network commands section: Chapter_13 (3) Michael Stutz, Linux_Cookbook_Homepage, No Starch Press. Many of these commands have come from the Linux Cookbook (version 1.2). I highly recommend this book to any novice or intermediate GNU/Linux user, have a look at it online, and then of course buy it :). (4) Michael Jordan, Linux_Online_Classroom, Linux Online. Some very small sections of this document were taken from the Beginner's course on the Linux_Online_Website. (5) man and info pages. The man and info pages of various tools listed in this document have been used as a resource to assist in the creation of this document. They are a useful resource of up-to-date information on a program and should be consulted when you require information about a particular tool. (6) Focus_On_Unix_--_Unix.about.com. Some of the tutorials under the power_commands_section of the unix.about.com site were used in the construction of this guide. In particular parts of the xargs command: Chapter_8 and parts of the cut command: Section_11.4 were used from their tutorials. (7) MandrakeSoft_Command_Line_Manual, MandrakeSoft. The Command Line Manual developed for Mandake Linux 9.0 was used in the creation of this document. A small section (in regard to command-line completion) was used from this document. If you are running mandrake you will most likely find this guide here. (8) MandrakeSoft_Starter_Guide, MandrakeSoft. The MandrakeSoft Starter Guide, a guide developed for Mandake Linux 9.0 was used in the creation of this document. A small section (in regard to how to recover from a system freeze) was used from this document. If you are running a mandrake system you will most likely find the document here. (9) Hrvoje Niksic, Wget_Manual_page, Free Software Foundation. A section of the wget manual page was used in this guide, from this page, Wget Manual_page. In particular relating to downloading multiple files while using the http protocol. (10) Grep, Free Software Foundation. Both wildcards subsections are based off the grep manual and info pages. The Useful Categories of Characters (as defined from the POSIX standard) was taken from the grep info page. (11) Marc Ewing, Jeff Johnson, and Erik Troan, RPM Manual Page, Red Hat. A small section of the RPM manual page was used in the creation of the RPM verifying subsection, without any kind of editing. (12) Markku Rossi, Enscript Manual Page, Free Software Foundation. The examples for enscript are based off those shown in the enscript manual page. (13) Paul Vixie, Cron Manual Page, 4th Berkeley Distribution. The information from the crontab section (below and including the table) was taken (unedited, but with small additions) from the crontab manual pages. Type man 1 crontab and man 5 crontab to access the 2 different manual pages. (14) IBM_Developerworks. Some parts of the IBM Developerworks tutorials have been used in the creation of this document. IBM Developerworks frequently publishes new tutorials on a variety of subjects, visit the IBM Developerworks Linux site (see link above) for more information on their GNU/Linux tutorials. (15) Suso Banderas, Num-utils_homepage. The num-utils manual pages were used in the creation of the maths section. In particular all the description of the num-utils tools are based off the manual pages on the num-utils_homepage. (16) Carla Schroder, Archive_of_the_LinuxChix_posting. This particular LinuxChix posting was made through a mailing list discussion about cron under the TechTalk mailing list. The posters homepage is http:// www.tuxcomputing.com. (17) Joe Barr, CLI_for_noobies:_import,_display,_mogrify. This particular article by Joe Barr was used in the description of the mogrify tool in particular the example on creating thumbnails. (18) Kyle Rankin, Please,_For_the_Love_of_All_That's_Recoverable,_Shred_Your Hard_Drive!. This particular article by Kyle Rankin was used (only a paragraph) for information on the shred command. ------------------------------------------------------------------------------- Index Symbols !, General_Shell_Tips !!, The_command-line_history !-n, The_command-line_history !n, The_command-line_history !string, The_command-line_history $, General_Shell_Tips, Regular_Expressions %cpu, Controlling_Processes %mem, Controlling_Processes &&, Performing_more_than_one_command &>, Usage >, Usage >>, Usage <, Usage <<, Usage *, Standard_Wildcards_(globbing_patterns), Regular_Expressions --color=auto, General_Shell_Tips --date=, Working_with_files_and_folders, Date/Time/Calendars --forest, Controlling_Processes --h, Help --help, Help --mirror, Internet_Specific_Commands --verbose, Mathematical_tools -?, Help -a, Moving_around_the_filesystem, Finding_files, Finding_information_about the_system, Controlling_Processes, Finding_Text_Within_Files, Internet Specific_Commands, Working_with_MS-DOS_files -b, Working_with_files_and_folders, Text_Viewing_Tools, Text_manipulation tools, Finding_Text_Within_Files -c, Working_with_files_and_folders, Controlling_Processes, Text_Information Tools, Text_manipulation_tools, Internet_Specific_Commands, Some_basic Security_Tools, tar_(tape_archiver) -CONT, Controlling_Processes -d, Moving_around_the_filesystem, Working_with_files_and_folders, Date/Time/ Calendars, Text_manipulation_tools, Text_Conversion/Filter_Tools, File Permissions -e, General_Shell_Tips, Scheduling_Commands_to_run_in_the_background -exec, Finding_files, Finding_information_about_the_system -F, General_Shell_Tips, Help, Moving_around_the_filesystem, Working_with files_and_folders, Controlling_services, Text_Viewing_Tools, Text manipulation_tools, tar_(tape_archiver), Scheduling_Commands_to_run_in_the background -format, Graphics_tools_(command_line_based) -g, Controlling_Processes, Text_manipulation_tools -geometry, Graphics_tools_(command_line_based) -h, Help, Working_with_files_and_folders, Finding_information_about_the system, Shutting_Down/Rebooting_the_System -HUP, Controlling_Processes -i, General_Shell_Tips, Working_with_files_and_folders, Finding_information about_the_system, Controlling_Processes, File_Permissions -iregex, Finding_files -jj, tar_(tape_archiver) -k, Working_with_files_and_folders, Text_manipulation_tools -kill, Controlling_Processes -l, Moving_around_the_filesystem, Finding_information_about_partitions, Controlling_Processes, Text_Information_Tools, Text_Conversion/Filter_Tools, File_Permissions, Scheduling_Commands_to_run_in_the_background -lx, Finding_information_about_the_system -m, Working_with_files_and_folders, Finding_information_about_the_system, Internet_Specific_Commands -n, Working_with_files_and_folders, Finding_information_about_the_system, Text_Viewing_Tools, Text_manipulation_tools, Finding_Text_Within_Files, Internet_Specific_Commands -name, Finding_files -nx, Finding_information_about_the_system -o, Finding_files -p, Working_with_files_and_folders, Finding_information_about_the_system, Controlling_Processes, tar_(tape_archiver) -path, Finding_files -print, Finding_files -prune, Finding_files -q, Finding_Text_Within_Files -R, Moving_around_the_filesystem, Working_with_files_and_folders, Finding information_about_the_system, Shutting_Down/Rebooting_the_System, Controlling services, Text_manipulation_tools, Finding_Text_Within_Files, Remote Administration_Related, File_Permissions -regex, Finding_files -S, Moving_around_the_filesystem, Working_with_files_and_folders, Finding information_about_the_system, Date/Time/Calendars, Controlling_services -STOP, Controlling_Processes -t, Working_with_files_and_folders, Finding_information_about_the_system, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions), Controlling Processes, Text_manipulation_tools, Internet_Specific_Commands, File Permissions, Compression, Working_with_MS-DOS_files, Checking_the_Hard_Disk for_errors -u, Finding_files, Working_with_files_and_folders, Controlling_Processes, Text_manipulation_tools, Internet_Specific_Commands, Scheduling_Commands_to run_in_the_background -v, Working_with_files_and_folders, Finding_information_about_the_system, Controlling_Processes, Finding_Text_Within_Files, tar_(tape_archiver), RPM: Redhat_Package_Management_System -verbose, Graphics_tools_(command_line_based) -w, Text_Information_Tools, Finding_Text_Within_Files -x, General_Shell_Tips, Controlling_Processes, Text_manipulation_tools, Internet_Specific_Commands, tar_(tape_archiver), Miscellaneous -y, Date/Time/Calendars -z, Working_with_files_and_folders, tar_(tape_archiver) ., Moving_around_the_filesystem, Regular_Expressions .*, Regular_Expressions .bz, Compression .doc, Standard_Wildcards_(globbing_patterns) .gz, Compression .h, Conversion_tools .pdf, Standard_Wildcards_(globbing_patterns) /, Moving_around_the_filesystem /dev/null, Usage /etc/groups, Users/Groups /etc/hosts, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions), Network_Commands /etc/init.d, Controlling_services /etc/inittab, Shutting_Down/Rebooting_the_System /etc/passwd, Users/Groups, Text_manipulation_tools /etc/profile, Security /etc/resolv.conf, Internet_Specific_Commands /proc, Finding_information_about_the_system, Finding_information_about partitions /proc/net, Network_Commands 192.168.0.1, Network_Configuration 192.168.0.2, Network_Configuration 192.168.1.100, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions), Network_Commands 1MB, Finding_information_about_the_system 2>, Usage :n, Text_Viewing_Tools :p, Text_Viewing_Tools ;, Performing_more_than_one_command, Mass_Rename/copy/link_Tools ?, Standard_Wildcards_(globbing_patterns) @, General_Shell_Tips [ ], Standard_Wildcards_(globbing_patterns), Regular_Expressions [!], Standard_Wildcards_(globbing_patterns), Regular_Expressions [http://www.linuxexposed.com/Articles/General/Linux Exposed, The_UNIX_tools philosophy_further_reading [http://www.tldp.org/dman pages, Online_Manual_Page_Websites: [^], Regular_Expressions \, General_Shell_Tips, Standard_Wildcards_(globbing_patterns), Regular Expressions \r, Text_Conversion/Filter_Tools ^, Regular_Expressions { }, Standard_Wildcards_(globbing_patterns) |, Usage, Regular_Expressions ||, Performing_more_than_one_command ~, General_Shell_Tips ------------------------------------------------------------------------------- A A, File_Permissions a-z, Standard_Wildcards_(globbing_patterns) abilities, Virtual_Terminals_and_screen ability, Graphics_tools_(command_line_based) able, Working_with_files_and_folders, Network_Configuration, Remote Administration_Related, Graphics_tools_(command_line_based) absolute, Moving_around_the_filesystem Absolute path, Moving_around_the_filesystem access, The_command-line_history, Mounting_and_Unmounting_(Floppy/CDROM/Hard- drive_Partitions), Shutting_Down/Rebooting_the_System, Internet_Specific Commands, File_Permissions, Miscellaneous access keys, Conventions_used_in_this_guide access time, File_Permissions accessed, File_Permissions add, General_Shell_Tips, Finding_files, Text_manipulation_tools, Conversion tools, Mathematical_tools, Network_Configuration, Internet_Specific_Commands, Remote_Administration_Related, Security, File_Permissions, Scheduling Commands_to_run_in_the_background, Regular_Expressions addition, Network_Configuration additional, Controlling_Processes address, Network_Configuration, Internet_Specific_Commands addressed, Contributors adjust, Working_with_files_and_folders administration, Managing_users administrative, Controlling_Processes administrator, Shutting_Down/Rebooting_the_System administrators, Who_would_want_to_read_this_guide? admonitions, Conventions_used_in_this_guide advanced, Finding_files, Working_with_files_and_folders, Finding_information about_the_system, Text_Editors, Text_manipulation_tools, Network_Commands, Internet_Specific_Commands, rsync, Working_with_MS-DOS_files advanced bash scripting, Mass_Rename/copy/link_Tools advanced bash scripting guide, Text_manipulation_tools advancement, Feedback advantage, Working_with_files_and_folders advice, Feedback, Contributors affect, Finding_Text_Within_Files algorithm, rsync alias, General_Shell_Tips aliases, General_Shell_Tips allow, General_Shell_Tips, Controlling_Processes, Text_manipulation_tools allowed, Scheduling_Commands_to_run_in_the_background, Standard_Wildcards_ (globbing_patterns) allows, Virtual_Terminals_and_screen, Controlling_services, Text_manipulation tools AllTheWeb, General_Further_Reading alpha, Useful categories of characters (as defined by the POSIX standard) alphabetic, Useful categories of characters  (as defined by the POSIX standard) alphabetical, Text_manipulation_tools alphabetically, Text_manipulation_tools alphanumeric, Useful categories of characters  (as defined by the POSIX standard) alternative, General_Shell_Tips, Usage, Mass_Rename/copy/link_Tools, Scheduling_Commands_to_run_in_the_background, Wildcards alternatively, The_command-line_history alternatives, Some_basic_Security_Tools American text encoding standard, The_Unix_Tools_Philosophy amount, Working_with_files_and_folders, Finding_information_about_the_system, Text_manipulation_tools, Useful categories of characters  (as defined by the POSIX standard) anacron, Scheduling_Commands_to_run_in_the_background analyze, Miscellaneous AND, Performing_more_than_one_command antiword, Text_Conversion/Filter_Tools antiword homepage, Text_Conversion/Filter_Tools append, Moving_around_the_filesystem, Finding_information_about_the_system, File_Permissions appendix, Introduction, Who_would_want_to_read_this_guide? application, The_Unix_Tools_Philosophy, Working_with_files_and_folders apply, Controlling_Processes apropos, Help apt-get, RPM:_Redhat_Package_Management_System archive, Internet_Specific_Commands, Archiving_Files, Compression archived, tar_(tape_archiver) archives, Compression archiving, Archiving_Files argument, Working_with_files_and_folders, Mass_Rename/copy/link_Tools, Text Information_Tools, Text_manipulation_tools, Internet_Specific_Commands, Scheduling_Commands_to_run_in_the_background, Miscellaneous arguments, The_command-line_history, Working_with_files_and_folders arranged, Graphics_tools_(command_line_based) arrow, The_command-line_history arrow keys, The_command-line_history art, Conversion_tools article, Contributors ASCII, The_Unix_Tools_Philosophy, Moving_around_the_filesystem, Working_with files_and_folders, Text_Conversion/Filter_Tools, Conversion_tools aspell, Text_manipulation_tools assign, Controlling_Processes assist, Working_with_files_and_folders, Security assistance, Resources_used_to_create_this_document associated, Help asterisk, Scheduling_Commands_to_run_in_the_background at, Shutting_Down/Rebooting_the_System, Scheduling_Commands_to_run_in_the background atq, Scheduling_Commands_to_run_in_the_background atrm, Scheduling_Commands_to_run_in_the_background Attach, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions) attempt, General_Shell_Tips, The_command-line_history, Regular_Expressions attempting, Controlling_Processes Attempts, Working_with_files_and_folders, Network_Commands attribute, File_Permissions attributes, File_Permissions audible, General_Shell_Tips author, Feedback, Disclaimer authored, Who_would_want_to_read_this_guide?, Security authors, Who_would_want_to_read_this_guide? authors opinion, Who_would_want_to_read_this_guide? automated, Some_basic_Security_Tools, Checking_the_Hard_Disk_for_errors automates, Scheduling_Commands_to_run_in_the_background Automatic Command Completion, General_Shell_Tips automatically, General_Shell_Tips, Working_with_files_and_folders, Working with_MS-DOS_files available, Availability_of_sources, Finding_information_about_the_system, Controlling_Processes, Controlling_services, Users/Groups, Network_Commands, Working_with_MS-DOS_files avoid, Mini-Guides ------------------------------------------------------------------------------- B back off, General_Shell_Tips Back-Cover, License background, Controlling_Processes, Controlling_services Backgrounds, Controlling_Processes backslash, General_Shell_Tips, Standard_Wildcards_(globbing_patterns), Regular_Expressions bandwidth, rsync based off, Contributors bash, Introduction, General_Shell_Tips, Finding_files, Mass_Rename/copy/link Tools, Internet_Specific_Commands, Specific_Further_reading bash scripting, Mass_Rename/copy/link_Tools, Specific_Further_reading Basic, Finding_files, Network_Commands, Security, Archiving_Files Bastille Linux, Security batch, Graphics_tools_(command_line_based) beep, General_Shell_Tips beginners, Who_would_want_to_read_this_guide? beginning, Regular_Expressions bell, General_Shell_Tips bg, Controlling_Processes binary, Finding_files, Working_with_files_and_folders, Text_Information_Tools bit, Mathematical_tools, File_Permissions bitmap, Graphics_tools_(command_line_based) block, Working_with_files_and_folders blocks, File_Permissions, Compression, Working_with_MS-DOS_files bmp, Working_with_files_and_folders book, Who_would_want_to_read_this_guide?, Availability_of_sources bookmarks.html, Internet_Specific_Commands boot, Security bootdisks, Duplicating_disks boots, Security bootup, Finding_information_about_the_system Bourne-Again-SHell, Introduction brackets, Standard_Wildcards_(globbing_patterns) brands, Disclaimer break key, Controlling_Processes broad-casted, Shutting_Down/Rebooting_the_System broken, Working_with_files_and_folders built, Graphics_tools_(command_line_based) built-in, Mass_Rename/copy/link_Tools bunch, Compression burning, Duplicating_disks bytes, Working_with_files_and_folders, Text_Information_Tools bz* commands, Text_Viewing_Tools bzgrep, Text_Viewing_Tools bzip2, Text_Viewing_Tools, tar_(tape_archiver), Compression bzip2recover, Compression bzless, Text_Viewing_Tools bzme, Compression ------------------------------------------------------------------------------- C cached, Finding_information_about_the_system cal, Date/Time/Calendars calculator, Mathematical_tools calendar, Date/Time/Calendars calls, Finding_Text_Within_Files capital, Text_manipulation_tools, Useful categories of characters  (as defined by the POSIX standard) capture, Graphics_tools_(command_line_based) captures, Network_Commands careful, Working_with_files_and_folders, File_Permissions carriage, Text_Conversion/Filter_Tools carriage returns, Text_Conversion/Filter_Tools cat, Usage, Text_manipulation_tools catch, Scheduling_Commands_to_run_in_the_background cause, General_Shell_Tips, Moving_around_the_filesystem, Controlling Processes, Internet_Specific_Commands causes, Text_Conversion/Filter_Tools caution, Disclaimer cd, General_Shell_Tips, Moving_around_the_filesystem, Duplicating_disks cdrecord, Standard_Wildcards_(globbing_patterns) cdrom, Finding_information_about_partitions, Controlling_the_system, Standard Wildcards_(globbing_patterns) cdrom-drive, Controlling_the_system centimeters, Mathematical_tools change, Working_with_files_and_folders, Finding_information_about_the_system, Date/Time/Calendars, Controlling_Processes, Managing_users, Users/Groups, Text_Conversion/Filter_Tools, Network_Configuration, Internet_Specific Commands, File_Permissions, Graphics_tools_(command_line_based) change owner, File_Permissions character, General_Shell_Tips, Text_manipulation_tools, Scheduling_Commands to_run_in_the_background, Standard_Wildcards_(globbing_patterns), Regular Expressions character sequences, General_Shell_Tips characters, Finding_files, Text_manipulation_tools, Some_basic_Security Tools, RPM:_Redhat_Package_Management_System, Standard_Wildcards_(globbing patterns), Useful categories of characters (as defined by the POSIX standard) chat, Text_Editors chattr, Working_with_files_and_folders, File_Permissions chcase, Text_manipulation_tools, Miscellaneous chcase homepage, Text_manipulation_tools check, Text_manipulation_tools, Internet_Specific_Commands, Security, Some basic_Security_Tools, Working_with_MS-DOS_files, RPM:_Redhat_Package Management_System, Checking_the_Hard_Disk_for_errors checker, The_Unix_Tools_Philosophy checking, Some_basic_Security_Tools, RPM:_Redhat_Package_Management_System, Checking_the_Hard_Disk_for_errors chfn, Users/Groups chmod, Security, File_Permissions chown, File_Permissions Chris Karakas, Availability_of_sources, Resources_used_to_create_this document chronological, Contributors chsh, Users/Groups clarity, Conventions_used_in_this_guide CLI, Who_would_want_to_read_this_guide? click, Graphics_tools_(command_line_based) closed, Network_Commands clusters, Working_with_MS-DOS_files cmp, Text_Information_Tools, Finding_a_particular_tool(s) Code, Conventions_used_in_this_guide, The_Unix_Tools_Philosophy colon, Text_Viewing_Tools, Text_manipulation_tools colour, Conversion_tools, Graphics_tools_(command_line_based) colours, Graphics_tools_(command_line_based) column, Text_manipulation_tools columns, Contributors, Text_Information_Tools, Text_manipulation_tools combination, Conventions_used_in_this_guide combinations, Conventions_used_in_this_guide combine, Text_Viewing_Tools Combines, Text_Viewing_Tools comm, Text_Information_Tools command history, Shell_Tips, The_command-line_history command line-interface, Who_would_want_to_read_this_guide? command list, Who_would_want_to_read_this_guide? command name, General_Shell_Tips command number, The_command-line_history command substitution, Command_Substitution command syntax, Conventions_used_in_this_guide command-line, Who_would_want_to_read_this_guide?, Who_would_not_want_to_read this_guide?, Resources_used_to_create_this_document, The_Unix_Tools Philosophy, Shell_Tips, General_Shell_Tips, The_command-line_history, Virtual Terminals_and_screen, Graphics_tools_(command_line_based), Finding_a particular_tool(s) command-line interface, Who_would_not_want_to_read_this_guide?, Finding_a particular_tool(s) command-line-based, Introduction command-lists, General_Further_Reading command1, Performing_more_than_one_command, Finding_information_about_the system command2, Performing_more_than_one_command, Finding_information_about_the system commandName, The_command-line_history commas, Text_manipulation_tools, Mathematical_tools, Scheduling_Commands_to run_in_the_background, Standard_Wildcards_(globbing_patterns) Commmand, Finding_files common, Text_Information_Tools, Text_manipulation_tools, Compression, Scheduling_Commands_to_run_in_the_background commonly, General_Shell_Tips compares, Text_Information_Tools complete, Who_would_not_want_to_read_this_guide?, General_Shell_Tips completions, General_Shell_Tips complex, Introduction, The_Unix_Tools_Philosophy, General_Shell_Tips, Text Viewing_Tools, Text_manipulation_tools, Miscellaneous complicated, Network_Commands composite, Graphics_tools_(command_line_based) comprehensive, Who_would_want_to_read_this_guide?, Security compress, Compression compressed, Text_Viewing_Tools, Compression compression, Compression Comptechdoc's Linux Command Quickreference, General_Further_Reading computer, Finding_information_about_the_system, Remote_Administration Related, Scheduling_Commands_to_run_in_the_background computers, Network_Commands concatenate, Usage Concatenates, Usage, Text_manipulation_tools concepts, Disclaimer, Mini-Guides configuration, Network_Configuration, Security configure, Network_Configuration confirm, General_Shell_Tips confusing, Finding_information_about_the_system conjunction, The_Unix_Tools_Philosophy, Scheduling_Commands_to_run_in_the background connect, Remote_Administration_Related connected, The_Unix_Tools_Philosophy, Finding_information_about_partitions consistency, Contributors console, The_command-line_history, Security contact, Internet_Specific_Commands content, Disclaimer contents, Disclaimer, Usage, Moving_around_the_filesystem, Finding information_about_the_system, Conversion_tools, Network_Commands, File Permissions, Compression, Scheduling_Commands_to_run_in_the_background continuous, Text_Viewing_Tools contribution, Contributors contributions, Contributors contributors, Resources_used_to_create_this_document control, Controlling_the_system, Controlling_services, Useful categories of characters (as defined by the POSIX standard) Control key, Conventions_used_in_this_guide controlling, Controlling_the_system, Controlling_Processes controls, Security conventions, Conventions_used_in_this_guide conversion, Text_Conversion/Filter_Tools, Mathematical_tools convert, Resources_used_to_create_this_document, Finding_information_about the_system, Text_manipulation_tools, Mathematical_tools, Compression converts, Text_Conversion/Filter_Tools copies, Working_with_files_and_folders, Remote_Administration_Related, rsync copy, License, General_Shell_Tips, Finding_files, Working_with_files_and folders, Remote_Administration_Related, Miscellaneous copying, General_Shell_Tips, Working_with_files_and_folders Copyright, License copyrights, Disclaimer core, The_Unix_Tools_Philosophy coreutils, The_UNIX_tools_philosophy_further_reading correct, Contributors, Controlling_Processes, Mathematical_tools, Some_basic Security_Tools, Compression, Graphics_tools_(command_line_based) correctly, Internet_Specific_Commands cost, Compression count, Working_with_files_and_folders, Text_Information_Tools, Text manipulation_tools cp, Working_with_files_and_folders CPU, Finding_information_about_the_system, Controlling_Processes crackers, Internet_Specific_Commands criteria, Miscellaneous critical, Controlling_services criticism, Feedback, Contributors criticisms, Contributors cron, Scheduling_Commands_to_run_in_the_background crontab, Scheduling_Commands_to_run_in_the_background cryptic, RPM:_Redhat_Package_Management_System CSS, Contributors CTRL-A, Other_Key_combinations, Virtual_Terminals_and_screen CTRL-ALT-DEL, Shutting_Down/Rebooting_the_System CTRL-ALT-F*, Virtual_Terminals_and_screen CTRL-C, Shutting_Down/Rebooting_the_System, Controlling_Processes, Text Viewing_Tools, Network_Commands CTRL-D, General_Shell_Tips, Other_Key_combinations, Usage, Managing_users, Mathematical_tools, Scheduling_Commands_to_run_in_the_background CTRL-E, Other_Key_combinations CTRL-K, Other_Key_combinations CTRL-N, Virtual_Terminals_and_screen CTRL-P, Virtual_Terminals_and_screen CTRL-R, The_command-line_history, Other_Key_combinations CTRL-W, Other_Key_combinations CTRL-X-$, General_Shell_Tips CTRL-X-Y, General_Shell_Tips CTRL-Y, Other_Key_combinations CTRL-Z, Conventions_used_in_this_guide, Other_Key_combinations, Controlling Processes curl, Internet_Specific_Commands current, Conventions_used_in_this_guide, Moving_around_the_filesystem, Finding_information_about_the_system, Mounting_and_Unmounting_(Floppy/CDROM/ Hard-drive_Partitions), Text_manipulation_tools, Internet_Specific_Commands, File_Permissions, Compression, Miscellaneous current directory, Moving_around_the_filesystem customisable, Controlling_Processes customisation, Text_manipulation_tools customisations, Contributors customise, Finding_files, Date/Time/Calendars, Conversion_tools, Miscellaneous cut, Text_manipulation_tools ------------------------------------------------------------------------------- D daemon, Controlling_services, Remote_Administration_Related, Scheduling Commands_to_run_in_the_background Daemons, Controlling_services damage, Disclaimer, Internet_Specific_Commands damaged, Compression dash sign, Conventions_used_in_this_guide data, Working_with_files_and_folders, Controlling_Processes, File Permissions, RPM:_Redhat_Package_Management_System database, Graphics_tools_(command_line_based) databases, Internet_Specific_Commands date, Moving_around_the_filesystem, Working_with_files_and_folders, Date/ Time/Calendars dates, tar_(tape_archiver) Dave Wreski, Security David Lawyer, Contributors day, Date/Time/Calendars, Scheduling_Commands_to_run_in_the_background days, Date/Time/Calendars db2lyx, Resources_used_to_create_this_document dd, Working_with_files_and_folders, Date/Time/Calendars, Duplicating_disks deactivating, Network_Configuration deb, Debian_(deb), Finding_package(s) Debian documentation, General_Further_Reading Debian Package List, Finding_package(s) debugging, Finding_information_about_the_system decending, Moving_around_the_filesystem decimal, Mathematical_tools, Useful categories of characters  (as defined by the POSIX standard) decompress, Compression default, Moving_around_the_filesystem, Working_with_files_and_folders, Controlling_Processes, Controlling_services, Text_manipulation_tools, Network Configuration, Security, Graphics_tools_(command_line_based) definitions, Concept_Definitions delete, General_Shell_Tips, Working_with_files_and_folders, Text_Conversion/ Filter_Tools, File_Permissions, Scheduling_Commands_to_run_in_the_background deleted, Working_with_files_and_folders, File_Permissions delimiter, Text_manipulation_tools dependent, Moving_around_the_filesystem Depending, Moving_around_the_filesystem depth, Mass_Rename/copy/link_Tools, Text_Related_Tools, Internet_Specific Commands, Mini-Guides describe, Security described, Text_Viewing_Tools describes, Mini-Guides description, Introduction, Help descriptions, Mini-Guides designed, Who_would_want_to_read_this_guide?, The_Unix_Tools_Philosophy, Usage, Shutting_Down/Rebooting_the_System, Mathematical_tools, Internet Specific_Commands, Security, Some_basic_Security_Tools, Compression destination, Working_with_files_and_folders, Network_Commands destroy, Working_with_files_and_folders, Managing_users detail, Controlling_Processes detailed, Introduction, Who_would_not_want_to_read_this_guide?, Contributors, Help, Working_with_files_and_folders, Finding_information_about_the_system, Compression, Graphics_tools_(command_line_based) details, Help, Moving_around_the_filesystem, Controlling_the_system, Internet Specific_Commands, Working_with_MS-DOS_files, Duplicating_disks develop, Mass_Rename/copy/link_Tools device, Controlling_the_system, Mounting_and_Unmounting_(Floppy/CDROM/Hard- drive_Partitions), Network_Configuration, RPM:_Redhat_Package_Management System devices, Working_with_files_and_folders, Controlling_the_system df, Finding_information_about_the_system, Finding_information_about partitions dictionary, Internet_Specific_Commands diff, Text_Information_Tools, Finding_a_particular_tool(s) diff3, Text_Information_Tools, Finding_a_particular_tool(s) difference, Concept_Definitions, Text_Information_Tools, Text_Conversion/ Filter_Tools, Network_Commands differences, rsync different, Finding_files, Managing_users, Text_Information_Tools, Text Conversion/Filter_Tools, Finding_Text_Within_Files, Remote_Administration Related, File_Permissions, Wildcards diffutils, Finding_a_particular_tool(s) dig, Internet_Specific_Commands digit, Text_manipulation_tools, Useful categories of characters  (as defined by the POSIX standard) digits, Working_with_files_and_folders, Useful categories of characters  (as defined by the POSIX standard) dir, Useful categories of characters (as defined by the POSIX standard) dir1, Finding_information_about_the_system dir2, Finding_information_about_the_system directories, Moving_around_the_filesystem, Finding_files, Working_with_files and_folders, Remote_Administration_Related, File_Permissions directory, General_Shell_Tips, Moving_around_the_filesystem, Working_with files_and_folders, Finding_information_about_the_system, Finding_information about_partitions, Controlling_services, Text_manipulation_tools, Finding_Text Within_Files, Internet_Specific_Commands, Compression, Miscellaneous, Standard_Wildcards_(globbing_patterns) disable, General_Shell_Tips disabled, Security disclaimer, Legal discuss list, Contributors disk, Finding_files, Finding_information_about_partitions, File_Permissions, Working_with_MS-DOS_files, Checking_the_Hard_Disk_for_errors disks, Working_with_files_and_folders, Finding_information_about_partitions, Working_with_MS-DOS_files, Duplicating_disks display, Working_with_files_and_folders, Finding_information_about_the system, Date/Time/Calendars, Text_Viewing_Tools, Text_manipulation_tools, Finding_Text_Within_Files, Network_Configuration, Graphics_tools_(command line_based) distinct, Command_Substitution distribute, License distributions, Finding_information_about_partitions, Security divide, Working_with_files_and_folders dlocate, Debian_(deb) dmesg, Finding_information_about_the_system DNS, Internet_Specific_Commands DocBook, Resources_used_to_create_this_document document, Introduction, Contributors, Help, Text_Viewing_Tools, Mini-Guides document processor, Availability_of_sources, Resources_used_to_create_this document documentation, Virtual_Terminals_and_screen, Help, Finding_information_about partitions, Network_Commands, Remote_Administration_Related, File Permissions, rsync, Working_with_MS-DOS_files documents, Contributors, Disclaimer, Text_Viewing_Tools, Text_Conversion/ Filter_Tools domain information groper, Internet_Specific_Commands Dos-style, Text_Conversion/Filter_Tools dos2unix, Text_Conversion/Filter_Tools dosfsck, Working_with_MS-DOS_files dot, Moving_around_the_filesystem dots, Moving_around_the_filesystem double, Help download, Internet_Specific_Commands downloadable, Availability_of_sources downloaded, Internet_Specific_Commands downloader, Internet_Specific_Commands downloading, Internet_Specific_Commands, Some_basic_Security_Tools downloads, Internet_Specific_Commands downwards, Moving_around_the_filesystem dpkg, Debian_(deb) dpkg -S, Debian_(deb) Dr. B. Guillion, Resources_used_to_create_this_document drive, Working_with_files_and_folders, Finding_information_about_partitions, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions) drives, Finding_information_about_partitions, Controlling_the_system du, Working_with_files_and_folders duplicate, Text_manipulation_tools, Duplicating_disks duplication, Mini-Guides ------------------------------------------------------------------------------- E echo, General_Shell_Tips, Finding_information_about_the_system, Scheduling Commands_to_run_in_the_background edit, The_command-line_history, Users/Groups, Internet_Specific_Commands, Security, Scheduling_Commands_to_run_in_the_background editing, Users/Groups, Graphics_tools_(command_line_based), Scheduling Commands_to_run_in_the_background, Useful categories of characters  (as defined by the POSIX standard) editor, Text_Editors editors, The_Unix_Tools_Philosophy, Text_Related_Tools, Text_Editors, Text Conversion/Filter_Tools effects, Graphics_tools_(command_line_based) efficient, Who_would_want_to_read_this_guide? eject, Controlling_the_system emacs, The_command-line_history, Text_Editors, Specific_Further_reading email, Feedback emerged, The_Unix_Tools_Philosophy emphasize, Conventions_used_in_this_guide emphasized, Conventions_used_in_this_guide empty, Working_with_files_and_folders enable, Introduction, Conventions_used_in_this_guide encodings, Text_Conversion/Filter_Tools encouraged, Feedback encrypted, Remote_Administration_Related encryption, rsync end, Usage, Finding_files, Mass_Rename/copy/link_Tools, Text_manipulation tools, Security, Regular_Expressions end-of-file, Scheduling_Commands_to_run_in_the_background end-of-line, Text_Conversion/Filter_Tools ending, Standard_Wildcards_(globbing_patterns), Regular_Expressions endorsements, Disclaimer ends, Internet_Specific_Commands, Standard_Wildcards_(globbing_patterns), Regular_Expressions english, Conventions_used_in_this_guide enhancements, Availability_of_sources enscript, Conversion_tools enter, Mathematical_tools entered, The_command-line_history entries, Text_Viewing_Tools entry, Text_manipulation_tools, Scheduling_Commands_to_run_in_the_background environment, Managing_users environment variable, General_Shell_Tips epigram, Miscellaneous epigrams, Miscellaneous equals, File_Permissions equivalent, The_command-line_history, Moving_around_the_filesystem, Date/ Time/Calendars, Security, Regular_Expressions error, Concept_Definitions, Working_with_files_and_folders, Finding information_about_the_system Error output, Concept_Definitions, Usage errors, Contributors, Disclaimer, Working_with_MS-DOS_files, Checking_the Hard_Disk_for_errors ESC-$, General_Shell_Tips ESC-Y, General_Shell_Tips escape, General_Shell_Tips, Security escape character, Standard_Wildcards_(globbing_patterns), Regular_Expressions eth0, Network_Configuration evaluates, Mathematical_tools events, Controlling_services everyday, Scheduling_Commands_to_run_in_the_background everyone, File_Permissions everything, Moving_around_the_filesystem, Working_with_files_and_folders, Mass_Rename/copy/link_Tools, Finding_information_about_the_system, Managing users, Scheduling_Commands_to_run_in_the_background exact, Help, Moving_around_the_filesystem, Finding_files, Shutting_Down/ Rebooting_the_System, Controlling_Processes, Duplicating_disks, Standard Wildcards_(globbing_patterns) exactly, General_Shell_Tips, Command_Substitution, Working_with_files_and folders, Controlling_Processes, Mathematical_tools examples, Introduction, Conventions_used_in_this_guide, Disclaimer, Moving around_the_filesystem, Working_with_files_and_folders, Finding_information about_the_system, Text_Viewing_Tools, Scheduling_Commands_to_run_in_the background exclude, Finding_files exclude=pattern, tar_(tape_archiver) Excluding, Finding_files, Useful categories of characters  (as defined by the POSIX standard) executable, Conventions_used_in_this_guide, Moving_around_the_filesystem, Finding_files execute, The_command-line_history, Command_Substitution, Finding_information about_the_system, Controlling_Processes, Mathematical_tools, Remote Administration_Related, File_Permissions, Working_with_MS-DOS_files execution, Scheduling_Commands_to_run_in_the_background exist, Usage, Working_with_files_and_folders, Internet_Specific_Commands existing, Usage, Controlling_Processes, File_Permissions exit, General_Shell_Tips, Working_with_files_and_folders, Text_Viewing_Tools, Mathematical_tools, RPM:_Redhat_Package_Management_System expand, General_Shell_Tips, Text_manipulation_tools, Finding_Text_Within Files expanding, General_Shell_Tips, Internet_Specific_Commands expands, General_Shell_Tips expert, Who_would_not_want_to_read_this_guide? explaining, Conventions_used_in_this_guide explains, Directing_Input/Output, Network_Commands, Graphics_tools_(command line_based) explanation, Finding_information_about_the_system, Security explanations, Who_would_want_to_read_this_guide? explicitly, Conventions_used_in_this_guide expression, Mathematical_tools expressions, Mathematical_tools, Regular_Expressions ext2, Working_with_files_and_folders, File_Permissions ext3, Working_with_files_and_folders, File_Permissions, Checking_the_Hard Disk_for_errors extended, Controlling_Processes extension, Finding_files, Mass_Rename/copy/link_Tools, Miscellaneous extentions, Mass_Rename/copy/link_Tools extract, tar_(tape_archiver), Compression ------------------------------------------------------------------------------- F factors, Mathematical_tools fail, The_command-line_history fails, Performing_more_than_one_command familiar, Text_Conversion/Filter_Tools fdisk, Finding_information_about_partitions Feedback, Feedback fg, Other_Key_combinations, Controlling_Processes fgrep, Finding_Text_Within_Files field, Scheduling_Commands_to_run_in_the_background fields, Scheduling_Commands_to_run_in_the_background figlet, Conversion_tools file access, File_Permissions file name, General_Shell_Tips file permissions, Security File Streams, Concept_Definitions file system, Working_with_the_file-system file-system, General_Shell_Tips, Working_with_the_file-system, Working_with files_and_folders, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive Partitions) file-systems, Finding_information_about_the_system file1, Working_with_files_and_folders, Text_Information_Tools file2, Working_with_files_and_folders, Text_Information_Tools filename1, Working_with_files_and_folders filename2, Working_with_files_and_folders filepart1, Text_Viewing_Tools filepart2, Text_Viewing_Tools filepart3, Text_Viewing_Tools filespec, Text_manipulation_tools filesystem, Moving_around_the_filesystem, Finding_files, Working_with_files and_folders, Finding_information_about_partitions, Remote_Administration Related, File_Permissions, Working_with_MS-DOS_files filesystems, Working_with_MS-DOS_files filter, Text_manipulation_tools, Text_Conversion/Filter_Tools filters, Text_Conversion/Filter_Tools find, General_Shell_Tips, The_command-line_history, Finding_files, Working with_files_and_folders, Finding_information_about_the_system, Controlling Processes, Text_manipulation_tools, Mathematical_tools, rsync, Graphics_tools (command_line_based), Wildcards finding, Working_with_the_file-system, Controlling_Processes, Text Information_Tools finding tools, Finding_a_particular_tool(s) finds, Help, Finding_files, Text_Conversion/Filter_Tools, Finding_Text_Within Files findsmb, Network_Commands finger, Users/Groups finish, Working_with_files_and_folders finished, Usage, Working_with_files_and_folders, Mathematical_tools five, Scheduling_Commands_to_run_in_the_background fix, General_Shell_Tips, Managing_users fixing, Contributors flag, File_Permissions flags, File_Permissions flash, General_Shell_Tips flexible, rsync floppy, Working_with_files_and_folders, Working_with_MS-DOS_files, Duplicating_disks floppy-image, Duplicating_disks fmt, Text_manipulation_tools folders, Finding_files followed, Controlling_Processes, Controlling_services, Useful categories of characters (as defined by the POSIX standard) following, General_Shell_Tips, Concept_Definitions, Text_manipulation_tools, Text_Conversion/Filter_Tools, Scheduling_Commands_to_run_in_the_background Follows, Finding_Text_Within_Files, Mathematical_tools force, Working_with_files_and_folders, Controlling_Processes foreground, Controlling_Processes forgotten, Security form, Controlling_Processes, Regular_Expressions format, Availability_of_sources, General_Shell_Tips, Finding_information about_the_system, Text_Conversion/Filter_Tools, Compression, Graphics_tools_ (command_line_based), Working_with_MS-DOS_files formats, Text_Related_Tools, Text_Conversion/Filter_Tools, Graphics_tools_ (command_line_based), Working_with_MS-DOS_files formatted, Working_with_MS-DOS_files forms, Text_manipulation_tools fortune, Miscellaneous forwards, Text_Viewing_Tools found, Contributors, The_command-line_history, Finding_information_about partitions, Text_manipulation_tools, Finding_Text_Within_Files, Security, Graphics_tools_(command_line_based) fractions, Mathematical_tools frame, Conventions_used_in_this_guide frameset, Conventions_used_in_this_guide free, Finding_information_about_the_system Free Software Foundation, License FreeBSD, The_Unix_Tools_Philosophy freeze, Controlling_Processes Freshmeat, Text_Editors, Archiving_Files, Finding_more_useful_tools, Finding package(s) Freshmeat., Remote_Administration_Related from/to dos website, Text_Conversion/Filter_Tools fromdos, Text_Conversion/Filter_Tools Front-Cover, License FSF, License ftp, Internet_Specific_Commands full, Text_manipulation_tools, Text_Conversion/Filter_Tools, Internet Specific_Commands, Working_with_MS-DOS_files, RPM:_Redhat_Package_Management System function, Introduction, General_Shell_Tips, Controlling_Processes, Network Commands, Scheduling_Commands_to_run_in_the_background functions, Mass_Rename/copy/link_Tools, Managing_users further reading, The_Unix_Tools_Philosophy, Specific_Further_reading ------------------------------------------------------------------------------- G gallons, Mathematical_tools garbled, General_Shell_Tips Gareth Anderson, Feedback, License gateway, Network_Configuration general, Contributors, Mathematical_tools, Internet_Specific_Commands generator, Some_basic_Security_Tools George Harmon, Contributors GFDL, License, GNU_Free_Documentation_License giga, Miscellaneous global aliases, General_Shell_Tips globbing, Wildcards globbing pattern, Regular_Expressions globbing patterns, Conventions_used_in_this_guide, Standard_Wildcards_ (globbing_patterns) GNU, License, Compression, Finding_more_useful_tools GNU Directory, Finding_more_useful_tools GNU Documentation License Site, License GNU Free Documentation License, License, GNU_Free_Documentation_License GNU Manual's, Online_Info_Page_Website: GNU/Linux Tools Summary Homepage, Availability_of_sources Google, General_Further_Reading Google Groups, General_Further_Reading gopher, Internet_Specific_Commands grammar, Contributors grand, Working_with_files_and_folders granted, License graph, Moving_around_the_filesystem graphical, Network_Commands, Useful categories of characters  (as defined by the POSIX standard) graphically printable, Useful categories of characters  (as defined by the POSIX standard) Graphics, Introduction, Graphics_tools_(command_line_based) great, Mathematical_tools greater, Usage greatly, Text_manipulation_tools grep, Finding_information_about_the_system, Finding_Text_Within_Files, Mathematical_tools, Wildcards, Useful categories of characters  (as defined by the POSIX standard), Mandriva_(urpm*_commands,_rpm_based) group, Finding_information_about_the_system, Controlling_Processes, Users/ Groups, Security, File_Permissions, RPM:_Redhat_Package_Management_System groups, Users/Groups grub, Security GUI, Introduction, Who_would_want_to_read_this_guide?, Finding_a_particular tool(s) guide, Introduction, Contributors, Text_Related_Tools, Graphics_tools_ (command_line_based) gunzip, tar_(tape_archiver) gzip, Text_Viewing_Tools, tar_(tape_archiver), Compression gzipped, tar_(tape_archiver), Compression ------------------------------------------------------------------------------- H halt, Shutting_Down/Rebooting_the_System hand, RPM:_Redhat_Package_Management_System handles, Controlling_services handy, Shell_Tips, Some_basic_Security_Tools hard links, Working_with_files_and_folders hard-link, Working_with_files_and_folders hard-links, Working_with_files_and_folders harmless, General_Shell_Tips hda, Standard_Wildcards_(globbing_patterns) hdb, Standard_Wildcards_(globbing_patterns) hdc, Standard_Wildcards_(globbing_patterns) head, Text_Viewing_Tools header, Working_with_files_and_folders, Conversion_tools help, Help, Network_Configuration, Remote_Administration_Related hexadecimal, Useful categories of characters  (as defined by the POSIX standard) hidden, Moving_around_the_filesystem, Internet_Specific_Commands hierarchy, Working_with_the_file-system, Mounting_and_Unmounting_(Floppy/ CDROM/Hard-drive_Partitions) higher, Controlling_Processes highlight, Conversion_tools highlighting, Conversion_tools highly, Disclaimer history, The_command-line_history, Other_Key_combinations hit, Mathematical_tools, Security hitting, Usage Home, Conventions_used_in_this_guide, General_Shell_Tips, Moving_around_the filesystem, Working_with_files_and_folders, Users/Groups, Remote Administration_Related, Standard_Wildcards_(globbing_patterns) host, Network_Commands, Internet_Specific_Commands hosted, Availability_of_sources hostname, Network_Commands, Internet_Specific_Commands, Remote_Administration Related hosts, Network_Commands hour, Scheduling_Commands_to_run_in_the_background hours, Scheduling_Commands_to_run_in_the_background HOWTO's, Specific_Further_reading hp166, Remote_Administration_Related HTML, Contributors, Text_Conversion/Filter_Tools, Conversion_tools http, Internet_Specific_Commands http://slashdot.org, Internet_Specific_Commands httrack, Internet_Specific_Commands huge, Internet_Specific_Commands human readable, Working_with_files_and_folders human-readable, Working_with_files_and_folders ------------------------------------------------------------------------------- I ibiblio, Specific_Further_reading IBM Developerworks, Regular_Expressions, General_Further_Reading id, Controlling_Processes id's, Controlling_Processes idea, Who_would_want_to_read_this_guide? ideas, Feedback identify, Graphics_tools_(command_line_based) ifcfg, Network_Configuration ifconfig, Network_Configuration ifdown, Network_Configuration ifup, Network_Configuration image, Working_with_files_and_folders, Graphics_tools_(command_line_based), Duplicating_disks ImageMagick, Graphics_tools_(command_line_based), Specific_Further_reading images, Graphics_tools_(command_line_based) immutable, File_Permissions import, Graphics_tools_(command_line_based) importance, Conventions_used_in_this_guide improve, Contributors improved, Contributors improvements, Contributors inaccuracies, Disclaimer inbuilt, General_Shell_Tips inches, Mathematical_tools include, Contributors, File_Permissions includes, Finding_information_about_the_system, Network_Commands including, General_Shell_Tips, Finding_files, Working_with_files_and_folders, Finding_information_about_the_system, Text_manipulation_tools, Internet Specific_Commands, Remote_Administration_Related, File_Permissions, Graphics tools_(command_line_based), Scheduling_Commands_to_run_in_the_background, Standard_Wildcards_(globbing_patterns), Useful categories of characters  (as defined by the POSIX standard) increase, Controlling_Processes indented, Text_manipulation_tools index, Who_would_want_to_read_this_guide?, Contributors indication, Controlling_Processes individual, Help, Text_Viewing_Tools info, Help, Controlling_Processes, Text_manipulation_tools, Network_Commands, Working_with_MS-DOS_files, Wildcards, Useful categories of characters  (as defined by the POSIX standard), General_Further_Reading Info Pages, Online_Info_Page_Website: information, Who_would_not_want_to_read_this_guide?, Legal, General_Shell Tips, Help, Working_with_files_and_folders, Mass_Rename/copy/link_Tools, Finding_information_about_the_system, Finding_information_about_partitions, Controlling_Processes, Users/Groups, Finding_Text_Within_Files, Network Commands, Network_Configuration, Internet_Specific_Commands, Security, Archiving_Files, rsync, Miscellaneous, Mini-Guides, Duplicating_disks, Regular_Expressions inode, File_Permissions input, The_Unix_Tools_Philosophy, Concept_Definitions, Usage, Working_with files_and_folders, Finding_information_about_the_system, Text_manipulation tools, Mathematical_tools insensitive, Finding_files insert, Usage inside, Standard_Wildcards_(globbing_patterns) inspection, Network_Commands install, Archiving_Files installed, Help, Finding_Text_Within_Files, Mathematical_tools, RPM:_Redhat Package_Management_System instances, Text_manipulation_tools instructions, Mass_Rename/copy/link_Tools integer, Mathematical_tools integrated, Contributors integrity, Some_basic_Security_Tools, Compression interact, Controlling_the_system, Controlling_Processes interactive, Controlling_Processes, Mathematical_tools interchangeably, Introduction, Command_Substitution interface, Network_Commands, Network_Configuration interfaces, Network_Configuration intermediate, Who_would_want_to_read_this_guide? internal, Remote_Administration_Related internet, Virtual_Terminals_and_screen, Text_Editors, Network_Commands, Internet_Specific_Commands, Some_basic_Security_Tools interpret, Finding_files, Regular_Expressions interpreted, Mathematical_tools interprets, Network_Commands interrelate, Controlling_Processes Introduction to Linux guide, Who_would_want_to_read_this_guide? Invariant, License invention, The_Unix_Tools_Philosophy IP address, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions), Network_Configuration ispell, Text_manipulation_tools issues, Contributors italic, Conventions_used_in_this_guide italics, Conventions_used_in_this_guide ------------------------------------------------------------------------------- J job, Scheduling_Commands_to_run_in_the_background jobs, Controlling_Processes, Scheduling_Commands_to_run_in_the_background join, Text_manipulation_tools jpeg, Working_with_files_and_folders, Graphics_tools_(command_line_based) JPG, Mass_Rename/copy/link_Tools judged, Who_would_want_to_read_this_guide? ------------------------------------------------------------------------------- K Kb, Working_with_files_and_folders kernel, Finding_information_about_the_system, Security kernel ring buffer, Finding_information_about_the_system kernel version, Finding_information_about_the_system kernel-modules, Finding_information_about_the_system Kevin Fenzi, Security key, The_command-line_history, Text_Editors key combination, The_command-line_history, Other_Key_combinations key combinations, Conventions_used_in_this_guide, Shell_Tips key-combinations, Virtual_Terminals_and_screen keyboard, Concept_Definitions keyword, Mandriva_(urpm*_commands,_rpm_based), Red_Hat_(rpm) keywords, Miscellaneous kibibyte, Miscellaneous kill, Controlling_Processes, Controlling_services killall, Controlling_Processes killed, Controlling_Processes kilobyte, Working_with_files_and_folders kilobytes, Working_with_files_and_folders, Finding_information_about_the system knowledge, Who_would_not_want_to_read_this_guide? ------------------------------------------------------------------------------- L lang, Conversion_tools language, Contributors language review, Contributors last, The_command-line_history, Working_with_files_and_folders, Finding information_about_the_system, Text_Viewing_Tools, File_Permissions lastlog, Finding_information_about_the_system LaTeX, Availability_of_sources, The_Unix_Tools_Philosophy ldap, Internet_Specific_Commands leading, Moving_around_the_filesystem learn, Who_would_want_to_read_this_guide?, Contributors, Moving_around_the filesystem, Text_manipulation_tools, Mathematical_tools, Network Configuration learning, Who_would_want_to_read_this_guide?, Text_Editors least, Text_manipulation_tools, Wildcards legal, Legal length, Some_basic_Security_Tools less, Usage, Text_Viewing_Tools lesser, General_Shell_Tips, Text_manipulation_tools let, Compression letter, Finding_information_about_partitions, Useful categories of characters (as defined by the POSIX standard) letters, File_Permissions, Scheduling_Commands_to_run_in_the_background, Useful categories of characters (as defined by the POSIX standard) level, Conventions_used_in_this_guide, Security levels, Moving_around_the_filesystem liability, Disclaimer license, License, GNU_Free_Documentation_License licensing, Legal lilo, Security limited, Mass_Rename/copy/link_Tools line, General_Shell_Tips, Mass_Rename/copy/link_Tools, Finding_information about_the_system, Text_Information_Tools, Text_manipulation_tools, Finding Text_Within_Files, RPM:_Redhat_Package_Management_System, Regular_Expressions line-by-line, Text_Information_Tools lines, Working_with_files_and_folders, Finding_information_about_the_system, Text_Information_Tools, Text_manipulation_tools, Finding_Text_Within_Files, Regular_Expressions, Useful categories of characters  (as defined by the POSIX standard) link, Working_with_files_and_folders linked, Controlling_the_system links, Working_with_files_and_folders, Internet_Specific_Commands link_name, Working_with_files_and_folders linux, Security Linux Cookbook, Who_would_want_to_read_this_guide? Linux Distributions, General_Further_Reading Linux Documentation Project, Contributors, Security, General_Further_Reading, Specific_Further_reading Linux in a Nutshell, General_Further_Reading Linux in a Nutshell 3rd Edition, Who_would_want_to_read_this_guide? Linux Newbie Admin guide, General_Further_Reading Linux Online Classroom, Duplicating_disks Linux Security, Security Linux Security howto, Security list, Who_would_want_to_read_this_guide?, Contributors, General_Shell_Tips, The_command-line_history, Help, Moving_around_the_filesystem, Finding_files, Working_with_files_and_folders, Finding_information_about_the_system, Controlling_Processes, Users/Groups, Text_manipulation_tools, Network Commands, File_Permissions, tar_(tape_archiver), Graphics_tools_(command_line based), Scheduling_Commands_to_run_in_the_background listed, Introduction, General_Shell_Tips, Working_with_files_and_folders, Finding_information_about_the_system, Text_Information_Tools, Network Commands, Graphics_tools_(command_line_based), Scheduling_Commands_to_run_in the_background, Standard_Wildcards_(globbing_patterns) listen, Controlling_services listens, Controlling_services listing, Who_would_not_want_to_read_this_guide?, Contributors, Text Conversion/Filter_Tools, File_Permissions, Working_with_MS-DOS_files lists, Who_would_not_want_to_read_this_guide?, Usage, Moving_around_the filesystem, Finding_Text_Within_Files, Network_Commands, Scheduling_Commands to_run_in_the_background literal, Finding_Text_Within_Files litres, Mathematical_tools ln, Working_with_files_and_folders loaded, Finding_information_about_the_system local, Remote_Administration_Related, rsync locates, Finding_files location, Usage locking, Users/Groups, Security log, The_command-line_history, Virtual_Terminals_and_screen logged, Finding_information_about_the_system, Shutting_Down/Rebooting_the System, Network_Commands, Remote_Administration_Related logging, Remote_Administration_Related logical, Performing_more_than_one_command, Standard_Wildcards_(globbing patterns), Regular_Expressions login, Users/Groups, Internet_Specific_Commands, Remote_Administration Related logout, General_Shell_Tips logs-out, General_Shell_Tips long, Moving_around_the_filesystem, Finding_information_about_the_system, Standard_Wildcards_(globbing_patterns) look, Usage, Finding_files, Working_with_files_and_folders, Finding information_about_the_system, Finding_information_about_partitions, Text Information_Tools, Finding_Text_Within_Files, Mathematical_tools, Compression, Standard_Wildcards_(globbing_patterns) looking, Introduction, Finding_information_about_the_system, Date/Time/ Calendars, Text_Conversion/Filter_Tools, Internet_Specific_Commands, Security looks, Finding_files, Text_manipulation_tools lookup, Internet_Specific_Commands lost, Controlling_Processes low, Working_with_files_and_folders low-level, Working_with_files_and_folders lowercase, Text_manipulation_tools, Useful categories of characters  (as defined by the POSIX standard) ls, General_Shell_Tips, Moving_around_the_filesystem, Working_with_files_and folders, File_Permissions lsattr, File_Permissions lsd, Moving_around_the_filesystem LyX, Availability_of_sources, Contributors lyxtox, Resources_used_to_create_this_document, Contributors ------------------------------------------------------------------------------- M machine, Working_with_files_and_folders, Finding_information_about_the system, Controlling_services, Text_Related_Tools, Network_Commands, Internet Specific_Commands, rsync machine name, General_Shell_Tips Machine-translated, Availability_of_sources machines, Network_Commands, Security Machtelt Garrels, Who_would_want_to_read_this_guide?, Contributors magic character, General_Shell_Tips maintainers, Availability_of_sources maintenance, Shutting_Down/Rebooting_the_System major, Internet_Specific_Commands, Wildcards majority, Introduction makewhatis, Help man, Help, Mass_Rename/copy/link_Tools, Graphics_tools_(command_line_based) man -f, Help man -K, Help man page, General_Shell_Tips man pages, Who_would_not_want_to_read_this_guide? management, Controlling_services Mandrake, Controlling_services Mandriva, Controlling_services, RPM:_Redhat_Package_Management_System manipulate, Working_with_the_file-system, Text_Related_Tools, Graphics_tools_ (command_line_based) manipulation, Wildcards, Regular_Expressions manual, Virtual_Terminals_and_screen, Help, Moving_around_the_filesystem, Mass_Rename/copy/link_Tools, Finding_information_about_partitions, Text Viewing_Tools, Network_Commands, Internet_Specific_Commands, File Permissions, Miscellaneous, Wildcards, Regular_Expressions, General_Further Reading manually, Compression map, Working_with_files_and_folders mark, Working_with_MS-DOS_files marks, Shutting_Down/Rebooting_the_System, Working_with_MS-DOS_files markup language, Availability_of_sources masquerade, Network_Commands mass, Mass_Rename/copy/link_Tools mass rename, Mass_Rename/copy/link_Tools mass renaming, Mass_Rename/copy/link_Tools mass-rename, Working_with_the_file-system match, Moving_around_the_filesystem, Finding_files, Standard_Wildcards_ (globbing_patterns), Regular_Expressions matched, Regular_Expressions matching, Help, Mass_Rename/copy/link_Tools, Finding_Text_Within_Files, File Permissions, Standard_Wildcards_(globbing_patterns) material, Contributors maximum, Controlling_Processes mbadblocks, Working_with_MS-DOS_files mbm, Standard_Wildcards_(globbing_patterns), Regular_Expressions mcm, Standard_Wildcards_(globbing_patterns), Regular_Expressions mcopy, Working_with_MS-DOS_files md5, Some_basic_Security_Tools, RPM:_Redhat_Package_Management_System md5sum, Some_basic_Security_Tools mdm, Standard_Wildcards_(globbing_patterns), Regular_Expressions measure, Finding_information_about_the_system, Miscellaneous measurement, Mathematical_tools measurements, Miscellaneous measures, Finding_information_about_the_system mega, Miscellaneous Megabyte, Working_with_files_and_folders megabytes, Working_with_files_and_folders, Finding_information_about_the system memory, Finding_information_about_the_system, Controlling_services Mendel Cooper, Mass_Rename/copy/link_Tools, Text_manipulation_tools Menu, Conventions_used_in_this_guide, Graphics_tools_(command_line_based) message, Shutting_Down/Rebooting_the_System meters, Mathematical_tools method, rsync methods, File_Permissions mformat, Working_with_MS-DOS_files Michael Kerrisk, Contributors Microsoft, Text_Conversion/Filter_Tools middle, Useful categories of characters (as defined by the POSIX standard) mind, Working_with_files_and_folders mini-guide, Introduction mini-guides, Introduction, Mini-Guides mini-tutorials, Introduction minimal, Users/Groups, Text_Editors minimum, Controlling_Processes minor, Contributors, Managing_users minus, Security, File_Permissions, Useful categories of characters  (as defined by the POSIX standard) minute, Scheduling_Commands_to_run_in_the_background minutes, Shutting_Down/Rebooting_the_System mis-match, RPM:_Redhat_Package_Management_System miscellaneous, Graphics_tools_(command_line_based), Miscellaneous mixed, Concept_Definitions mkdir, Working_with_files_and_folders mmount, Working_with_MS-DOS_files mmv, Mass_Rename/copy/link_Tools mode, Working_with_files_and_folders, Shutting_Down/Rebooting_the_System, Controlling_Processes modifiable, Availability_of_sources modification, Moving_around_the_filesystem modified, RPM:_Redhat_Package_Management_System modify, License, Network_Configuration, File_Permissions mogrify, Graphics_tools_(command_line_based) mom, Standard_Wildcards_(globbing_patterns), Regular_Expressions montage, Graphics_tools_(command_line_based) month, Date/Time/Calendars, Scheduling_Commands_to_run_in_the_background months, Date/Time/Calendars more, Finding_files, Working_with_files_and_folders, Finding_information about_the_system, Controlling_Processes, Text_Related_Tools, Text manipulation_tools, Conversion_tools, Network_Commands, Network Configuration, Remote_Administration_Related, Compression, Working_with_MS- DOS_files, Miscellaneous, Wildcards, Regular_Expressions morning, Working_with_files_and_folders motivation, Who_would_want_to_read_this_guide? mount, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions), Working with_MS-DOS_files mounted, Finding_files, Finding_information_about_the_system, Finding information_about_partitions, Mounting_and_Unmounting_(Floppy/CDROM/Hard- drive_Partitions), Working_with_MS-DOS_files mouse, Conventions_used_in_this_guide move, Working_with_files_and_folders, Mass_Rename/copy/link_Tools, Finding information_about_the_system, Text_Viewing_Tools moving, Finding_files, Working_with_files_and_folders mozilla, Controlling_Processes mp3, Finding_information_about_the_system ms-dos, Compression, Working_with_MS-DOS_files mTime, RPM:_Redhat_Package_Management_System mtools, Working_with_MS-DOS_files mull, Standard_Wildcards_(globbing_patterns) multiple, Working_with_files_and_folders, Controlling_Processes, Text_Viewing Tools, Standard_Wildcards_(globbing_patterns), Regular_Expressions mum, Standard_Wildcards_(globbing_patterns), Regular_Expressions must, Controlling_Processes mv, Working_with_files_and_folders myfile, Regular_Expressions myfiles1, Standard_Wildcards_(globbing_patterns), Regular_Expressions myfiles2, Standard_Wildcards_(globbing_patterns), Regular_Expressions ------------------------------------------------------------------------------- N named, Finding_files, Controlling_Processes Naming, Disclaimer NetBSD, The_Unix_Tools_Philosophy netstat, Network_Commands network, Network_Commands, Network_Configuration networking, Network_Commands, Network_Configuration new, Working_with_files_and_folders, Finding_information_about_the_system, Date/Time/Calendars, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive Partitions), Text_Conversion/Filter_Tools, Network_Commands, Network Configuration, Remote_Administration_Related, File_Permissions newer, Working_with_files_and_folders, Compression newline, General_Shell_Tips, Text_Conversion/Filter_Tools, Scheduling Commands_to_run_in_the_background newlines, Useful categories of characters (as defined by the POSIX standard) newstring, Text_manipulation_tools new_location, Working_with_files_and_folders Next, Conventions_used_in_this_guide, Mass_Rename/copy/link_Tools, Text Viewing_Tools NFTS, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions) ng, Mass_Rename/copy/link_Tools nice, Date/Time/Calendars, Controlling_Processes nl, Text_manipulation_tools nmap, Network_Commands nmap site, Network_Commands nn, Regular_Expressions nnnn, Regular_Expressions nnnnnnn, Regular_Expressions non-blank, Text_Viewing_Tools, Text_manipulation_tools none, General_Shell_Tips, RPM:_Redhat_Package_Management_System normal, Controlling_Processes, Internet_Specific_Commands, Compression, Working_with_MS-DOS_files, Scheduling_Commands_to_run_in_the_background NOT, Standard_Wildcards_(globbing_patterns) number, Directing_Input/Output, Working_with_the_file-system, Finding_files, Working_with_files_and_folders, Finding_information_about_the_system, Finding information_about_partitions, Shutting_Down/Rebooting_the_System, Controlling Processes, Text_Viewing_Tools, Text_manipulation_tools, Mathematical_tools, Internet_Specific_Commands, File_Permissions, Graphics_tools_(command_line based), Scheduling_Commands_to_run_in_the_background, RPM:_Redhat_Package Management_System, Regular_Expressions number lines, Text_manipulation_tools numbering, Text_manipulation_tools numbers, Users/Groups, Mathematical_tools, Security, File_Permissions, Scheduling_Commands_to_run_in_the_background, Useful categories of characters (as defined by the POSIX standard) numeric, Text_manipulation_tools numgrep, Mathematical_tools ------------------------------------------------------------------------------- O occupying, File_Permissions occurances, Finding_files, Text_manipulation_tools, Text_Conversion/Filter Tools off, Network_Commands, File_Permissions, Wildcards office, Users/Groups official, Availability_of_sources old, File_Permissions, rsync oldstring, Text_manipulation_tools omit, Remote_Administration_Related on-screen, Graphics_tools_(command_line_based) one-line, Text_manipulation_tools online, Help, Finding_information_about_partitions, Mini-Guides online info pages, Online_Manual_And_Info_Pages online man pages, Online_Manual_And_Info_Pages open, Controlling_the_system, Text_Viewing_Tools, Network_Commands, Graphics tools_(command_line_based) OpenBSD, The_Unix_Tools_Philosophy opened, File_Permissions OpenSSH, Specific_Further_reading operate, The_Unix_Tools_Philosophy operating, Finding_information_about_the_system, Text_Conversion/Filter Tools, Security operations, Finding_files option, General_Shell_Tips, Finding_files, Working_with_files_and_folders, Finding_information_about_the_system, Controlling_Processes, Controlling services, Text_Viewing_Tools, Text_manipulation_tools, Finding_Text_Within Files, Internet_Specific_Commands, Some_basic_Security_Tools, File Permissions, Graphics_tools_(command_line_based), Working_with_MS-DOS_files, RPM:_Redhat_Package_Management_System optional, Working_with_files_and_folders, Finding_information_about_the system options, Introduction, Who_would_not_want_to_read_this_guide?, General_Shell Tips, Moving_around_the_filesystem, Working_with_files_and_folders, Finding information_about_the_system, Date/Time/Calendars, Shutting_Down/Rebooting the_System, Controlling_Processes, Text_Viewing_Tools, Text_manipulation tools, Conversion_tools, Network_Commands, Internet_Specific_Commands, rsync, Graphics_tools_(command_line_based), Scheduling_Commands_to_run_in_the background, Miscellaneous OR, Performing_more_than_one_command, Regular_Expressions order, Moving_around_the_filesystem, Text_manipulation_tools, Miscellaneous Orielly, The_UNIX_tools_philosophy_further_reading original, Availability_of_sources, Conventions_used_in_this_guide, Working with_files_and_folders, Managing_users, Text_Conversion/Filter_Tools, tar_ (tape_archiver) OS, Finding_information_about_the_system output, The_Unix_Tools_Philosophy, General_Shell_Tips, Help, Command Substitution, Moving_around_the_filesystem, Working_with_files_and_folders, Finding_information_about_the_system, Text_Information_Tools, Finding_Text Within_Files, Mathematical_tools, Internet_Specific_Commands, tar_(tape archiver), Useful categories of characters (as defined by the POSIX standard) Outputs, Moving_around_the_filesystem, Finding_files, Text_Viewing_Tools, Text_Information_Tools, Finding_Text_Within_Files, Miscellaneous override, General_Shell_Tips overwrite, Usage, Working_with_files_and_folders overwriting, Working_with_files_and_folders, Text_Conversion/Filter_Tools, Internet_Specific_Commands ownership, Moving_around_the_filesystem, File_Permissions, RPM:_Redhat Package_Management_System ------------------------------------------------------------------------------- P package, Resources_used_to_create_this_document, Remote_Administration Related, Working_with_MS-DOS_files, RPM:_Redhat_Package_Management_System, Mandriva_(urpm*_commands,_rpm_based), Red_Hat_(rpm) package management, Archiving_Files packages, Finding_a_particular_tool(s), Mandriva_(urpm*_commands,_rpm_based), Finding_package(s) packet, Network_Commands packets, Network_Commands page, Conventions_used_in_this_guide, Virtual_Terminals_and_screen, Moving around_the_filesystem, Finding_files, Working_with_files_and_folders, Date/ Time/Calendars, Controlling_Processes, Text_Viewing_Tools, Text_manipulation tools, Conversion_tools, Network_Commands, Internet_Specific_Commands, File Permissions, rsync, Graphics_tools_(command_line_based), Miscellaneous, Standard_Wildcards_(globbing_patterns), Regular_Expressions, Useful categories of characters (as defined by the POSIX standard) pages, Controlling_Processes paranoia, Working_with_files_and_folders parent, Internet_Specific_Commands, Security parent directory, Moving_around_the_filesystem parse, Internet_Specific_Commands part, Finding_files, Working_with_files_and_folders, Finding_information about_the_system, Controlling_Processes, Remote_Administration_Related particular, General_Shell_Tips, Working_with_files_and_folders, Finding information_about_the_system, Controlling_Processes, Controlling_services, Users/Groups, Text_Information_Tools, Text_manipulation_tools, Finding_Text Within_Files, Network_Commands, File_Permissions, Graphics_tools_(command line_based), Scheduling_Commands_to_run_in_the_background partition, Working_with_files_and_folders, Finding_information_about partitions partitions, Finding_information_about_partitions parts, Contributors, Wildcards, Regular_Expressions pass, Working_with_files_and_folders passed, General_Shell_Tips, Finding_information_about_the_system passes, Working_with_files_and_folders passwd, Users/Groups password, Users/Groups, Remote_Administration_Related, Some_basic_Security Tools passwords, Users/Groups, Remote_Administration_Related, Some_basic_Security Tools paste, Text_manipulation_tools path, Moving_around_the_filesystem, Finding_files, Working_with_files_and folders, RPM:_Redhat_Package_Management_System pattern, Finding_files, Mass_Rename/copy/link_Tools PC, Remote_Administration_Related peace, Working_with_files_and_folders people, Contributors, File_Permissions perform, The_command-line_history, Usage, Working_with_files_and_folders, Controlling_services, Remote_Administration_Related, Graphics_tools_(command line_based), Scheduling_Commands_to_run_in_the_background, Wildcards performing, Finding_information_about_the_system, Controlling_services performs, Network_Commands, Regular_Expressions perl, Mass_Rename/copy/link_Tools, Text_manipulation_tools, Miscellaneous Permission, License, File_Permissions permissions, Security, File_Permissions, RPM:_Redhat_Package_Management System permitted, Scheduling_Commands_to_run_in_the_background person, Text_manipulation_tools, Remote_Administration_Related, File Permissions pgrep, Controlling_Processes philosophy, The_Unix_Tools_Philosophy, Compression phrase, Text_Information_Tools, Wildcards physical, Virtual_Terminals_and_screen, Finding_files pictures, Conventions_used_in_this_guide pid, Controlling_Processes pid's, Controlling_Processes piece, Miscellaneous ping, Network_Commands pipe, The_Unix_Tools_Philosophy, Usage, Command_Substitution, Text manipulation_tools, Regular_Expressions pipes, The_Unix_Tools_Philosophy, Command_Substitution pkill, Controlling_Processes place, The_command-line_history, Mounting_and_Unmounting_(Floppy/CDROM/Hard- drive_Partitions) plain, Working_with_files_and_folders, Text_Conversion/Filter_Tools, Remote Administration_Related play, Text_Editors PNG, Graphics_tools_(command_line_based) pointers, Working_with_files_and_folders popular, Wildcards ports, Network_Commands Positive, Feedback, Mass_Rename/copy/link_Tools possible, General_Shell_Tips, Network_Commands possibly, Graphics_tools_(command_line_based) post, Mass_Rename/copy/link_Tools postscript, Conversion_tools power, Managing_users, Graphics_tools_(command_line_based) power down, Shutting_Down/Rebooting_the_System power users, Who_would_want_to_read_this_guide? powerful, Directing_Input/Output, Finding_information_about_the_system, Text Editors, Text_manipulation_tools, Mathematical_tools, Network_Commands poweroff, Shutting_Down/Rebooting_the_System practice, Managing_users preceding, Moving_around_the_filesystem prefix, Text_Information_Tools prefixed, Text_Viewing_Tools present, Date/Time/Calendars preserves, tar_(tape_archiver) press, Shutting_Down/Rebooting_the_System, Managing_users, Mathematical tools, Security, Scheduling_Commands_to_run_in_the_background prevent, Internet_Specific_Commands, File_Permissions Prevents, Working_with_files_and_folders Previous, Conventions_used_in_this_guide, Performing_more_than_one_command, Moving_around_the_filesystem, Text_Viewing_Tools primary, Checking_the_Hard_Disk_for_errors Print, Moving_around_the_filesystem, Working_with_files_and_folders, Finding information_about_the_system, Controlling_services, Text_manipulation_tools, Finding_Text_Within_Files, Miscellaneous print working directory, Moving_around_the_filesystem printable, Useful categories of characters (as defined by the POSIX standard) printed, Conventions_used_in_this_guide, General_Shell_Tips, Concept Definitions printing, Working_with_files_and_folders, Text_Information_Tools prints, Help, Working_with_files_and_folders, Finding_information_about_the system, Controlling_Processes, Text_Information_Tools, Text_manipulation tools, Regular_Expressions, Useful categories of characters  (as defined by the POSIX standard) priorities, Controlling_Processes priority, Controlling_Processes privileges, Managing_users probably, Text_manipulation_tools, Remote_Administration_Related, File Permissions, Compression problems, Feedback, Contributors, Working_with_files_and_folders, Finding information_about_the_system, Text_Conversion/Filter_Tools proc filesystem, Finding_information_about_partitions procedure, Shutting_Down/Rebooting_the_System proceed, Disclaimer proceeding, Regular_Expressions process, Usage, Controlling_Processes, Scheduling_Commands_to_run_in_the background process id, Controlling_Processes process information, Finding_information_about_the_system processed, Working_with_files_and_folders processes, Finding_information_about_the_system, Controlling_the_system, Controlling_Processes processing, Users/Groups processor, Finding_information_about_the_system, Compression products, Disclaimer program, The_Unix_Tools_Philosophy, Help, Finding_information_about_the system, Controlling_Processes, Text_manipulation_tools, Mathematical_tools, Internet_Specific_Commands, Security, Compression, Working_with_MS-DOS_files, RPM:_Redhat_Package_Management_System programmers, Who_would_want_to_read_this_guide?, The_Unix_Tools_Philosophy, Miscellaneous programming, Mathematical_tools, Regular_Expressions programs, Concept_Definitions, Conversion_tools, Archiving_Files, Compression, Graphics_tools_(command_line_based), Working_with_MS-DOS_files program_name, Finding_files prompt, Help, Finding_information_about_the_system, Controlling_Processes, Text_manipulation_tools, Security prompts, Text_manipulation_tools protect, Standard_Wildcards_(globbing_patterns), Regular_Expressions protocols, Network_Commands, Internet_Specific_Commands provide, Controlling_services provided, Introduction, Contributors provides, Help, Controlling_Processes, Archiving_Files ps, Controlling_Processes pstree, Controlling_Processes punctuation, Useful categories of characters  (as defined by the POSIX standard) purpose, Who_would_not_want_to_read_this_guide? putting, General_Shell_Tips pwd, Moving_around_the_filesystem python, Mathematical_tools ------------------------------------------------------------------------------- Q quality, Contributors queries, Network_Commands query, Network_Commands question, Finding_information_about_partitions queue, Scheduling_Commands_to_run_in_the_background quickest, Who_would_want_to_read_this_guide? quit, Help quite, Finding_files, Text_Editors quotation, General_Shell_Tips, Finding_files, Shutting_Down/Rebooting_the System, Internet_Specific_Commands, Standard_Wildcards_(globbing_patterns), Regular_Expressions quote, Miscellaneous quoted, Contributors, General_Shell_Tips quotes, Internet_Specific_Commands ------------------------------------------------------------------------------- R r, File_Permissions Rahul Sundaram, Contributors random, Working_with_files_and_folders, Some_basic_Security_Tools, Graphics tools_(command_line_based), Miscellaneous range, Mathematical_tools, Scheduling_Commands_to_run_in_the_background, Standard_Wildcards_(globbing_patterns), Regular_Expressions ranges, Scheduling_Commands_to_run_in_the_background ranked, Miscellaneous rcp, rsync re-combine, Working_with_files_and_folders readability, Contributors, Text_Information_Tools reader, Conventions_used_in_this_guide readers, Who_would_not_want_to_read_this_guide? reading, Conventions_used_in_this_guide, File_Permissions reads, Scheduling_Commands_to_run_in_the_background reboot, Shutting_Down/Rebooting_the_System rebooted, Finding_information_about_the_system reboots, Shutting_Down/Rebooting_the_System receive, Network_Configuration received, Concept_Definitions recode, Text_Conversion/Filter_Tools recognised, Moving_around_the_filesystem recommend, Mathematical_tools recommended, Contributors, Users/Groups records, Finding_information_about_the_system recover, Compression recovered, Working_with_files_and_folders recursive, Finding_Text_Within_Files recursively, Working_with_files_and_folders, File_Permissions Redhat, Controlling_services redirect, Usage Refer, Conventions_used_in_this_guide, Moving_around_the_filesystem, Finding files, Finding_information_about_the_system, Date/Time/Calendars, Controlling Processes, Internet_Specific_Commands, Remote_Administration_Related, Standard_Wildcards_(globbing_patterns), Regular_Expressions reference, Who_would_want_to_read_this_guide?, Who_would_not_want_to_read this_guide?, The_command-line_history, Working_with_files_and_folders references, Contributors, Internet_Specific_Commands, General_Further_Reading referencing, Contributors referred, The_Unix_Tools_Philosophy reflected, Users/Groups regarded, Disclaimer regardless, Finding_files regular, Finding_Text_Within_Files regular expression, Mass_Rename/copy/link_Tools, Controlling_Processes regular expressions, Finding_files, Finding_Text_Within_Files rel, Miscellaneous relationship, Standard_Wildcards_(globbing_patterns), Regular_Expressions Relative paths, Moving_around_the_filesystem release number, Finding_information_about_the_system relevance, Miscellaneous relevant, Finding_information_about_partitions, Text_manipulation_tools, Security, File_Permissions, Miscellaneous reliable, Working_with_files_and_folders reloaded, Text_Viewing_Tools remote, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions), Internet_Specific_Commands, Remote_Administration_Related, rsync remote machines, Network_Commands remotely, Remote_Administration_Related removable, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions) remove, General_Shell_Tips, Working_with_files_and_folders, Mounting_and Unmounting_(Floppy/CDROM/Hard-drive_Partitions), Text_manipulation_tools, Text_Conversion/Filter_Tools, File_Permissions, Scheduling_Commands_to_run_in the_background, Standard_Wildcards_(globbing_patterns), Regular_Expressions removes, Working_with_files_and_folders, Mounting_and_Unmounting_(Floppy/ CDROM/Hard-drive_Partitions), Text_manipulation_tools, Network_Configuration removing, Finding_files rename, Working_with_files_and_folders, Mass_Rename/copy/link_Tools, File Permissions, Miscellaneous Renames, Working_with_files_and_folders, Mass_Rename/copy/link_Tools renaming, Mass_Rename/copy/link_Tools, Miscellaneous renaming extensions, Miscellaneous renders, General_Shell_Tips renice, Controlling_Processes Repair, Contributors, Working_with_MS-DOS_files repairs, Shutting_Down/Rebooting_the_System repeatedly, The_command-line_history repeats, General_Shell_Tips replace, Text_manipulation_tools replacement, rsync report, Controlling_Processes represent, Moving_around_the_filesystem, Text_Conversion/Filter_Tools, Mathematical_tools, Standard_Wildcards_(globbing_patterns) represents, Moving_around_the_filesystem, File_Permissions requests, Network_Commands required, Contributors, Moving_around_the_filesystem, Checking_the_Hard_Disk for_errors reset, General_Shell_Tips resources, Text_Editors respective owners, Disclaimer respectively, File_Permissions respond, Network_Commands responses, Network_Commands responsibility, Disclaimer responsible, Contributors restart, Controlling_services restricted, Internet_Specific_Commands restrictions, Managing_users result, Command_Substitution, Text_manipulation_tools results, Usage, Finding_information_about_the_system, Text_manipulation_tools retrieve, Working_with_files_and_folders, Internet_Specific_Commands return, Moving_around_the_filesystem, Controlling_Processes, Controlling services, Managing_users, Text_Conversion/Filter_Tools, Internet_Specific Commands returned, RPM:_Redhat_Package_Management_System returns, Internet_Specific_Commands reverse, Text_Viewing_Tools, Text_manipulation_tools, Internet_Specific Commands, Remote_Administration_Related review, Contributors Review Coordinator, Contributors rgb, Graphics_tools_(command_line_based) rgrep, Finding_Text_Within_Files rights, File_Permissions risk, Disclaimer rm, General_Shell_Tips, Working_with_files_and_folders, Standard_Wildcards_ (globbing_patterns), Regular_Expressions rm -i, General_Shell_Tips rmdir, Working_with_files_and_folders root, Help, Controlling_Processes, Managing_users, Remote_Administration Related, File_Permissions, Scheduling_Commands_to_run_in_the_background root directory, Finding_files root's password, Security rotation, Graphics_tools_(command_line_based) rough, Contributors, Graphics_tools_(command_line_based) round, Network_Commands route, Network_Commands, Network_Configuration routing, Network_Configuration RPM, Security, RPM:_Redhat_Package_Management_System, Red_Hat_(rpm), Finding package(s), Specific_Further_reading rpm -qf, Red_Hat_(rpm) rpm -qi, Red_Hat_(rpm) RPMFind, Finding_package(s) RPMSeek, Finding_package(s) rsync, Archiving_Files, rsync, Specific_Further_reading rsync site, rsync rtf, Conversion_tools run, General_Shell_Tips, Help, Working_with_files_and_folders, Mass_Rename/ copy/link_Tools, Controlling_Processes, Text_Viewing_Tools, Text_Information Tools, Mathematical_tools, Compression, Graphics_tools_(command_line_based), Scheduling_Commands_to_run_in_the_background running, Finding_information_about_the_system, Controlling_Processes, Controlling_services, Text_Viewing_Tools, Mathematical_tools, Remote Administration_Related Rute User's Tutorial and Exposition, General_Further_Reading ------------------------------------------------------------------------------- S s, File_Permissions samba, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions), Specific Further_reading save, Controlling_Processes, Network_Commands saved, Controlling_Processes saves, rsync, Graphics_tools_(command_line_based) scales, Mathematical_tools scaling, Graphics_tools_(command_line_based) scanner, Network_Commands Scans, Working_with_MS-DOS_files, Useful categories of characters  (as defined by the POSIX standard) scattered, Some_basic_Security_Tools schedule, Scheduling_Commands_to_run_in_the_background scheduled, Scheduling_Commands_to_run_in_the_background scientific, Miscellaneous scores, Text_Information_Tools scp, Remote_Administration_Related screen, General_Shell_Tips, Virtual_Terminals_and_screen, Concept Definitions, Date/Time/Calendars, Controlling_Processes, Graphics_tools_ (command_line_based) screen-dump, Graphics_tools_(command_line_based) screen-shots, Graphics_tools_(command_line_based) script, General_Shell_Tips, Mass_Rename/copy/link_Tools, Controlling services, Network_Configuration scripting, Mass_Rename/copy/link_Tools scripts, Contributors, Mass_Rename/copy/link_Tools, Controlling_services scroll, The_command-line_history, Text_Viewing_Tools sdiff, Text_Information_Tools, Finding_a_particular_tool(s) search, Help, Finding_files, Controlling_Processes, Text_Editors, Text manipulation_tools, Regular_Expressions search and replace text, Text_manipulation_tools Searches, Help, Standard_Wildcards_(globbing_patterns), Regular_Expressions searching, Virtual_Terminals_and_screen, Finding_files, Wildcards section, Conventions_used_in_this_guide, Resources_used_to_create_this document, Contributors, Text_Viewing_Tools, Text_manipulation_tools, Finding Text_Within_Files, Security, Miscellaneous, Mini-Guides Sections, License, Text_manipulation_tools, Miscellaneous sectors, Working_with_files_and_folders secure, Remote_Administration_Related secure copy, Remote_Administration_Related secure ftp, Remote_Administration_Related secure shell, Remote_Administration_Related Security, Shell_Tips, Network_Commands, Security, File_Permissions selected, Text_manipulation_tools sell, Working_with_files_and_folders send, Feedback, Directing_Input/Output, Usage, Shutting_Down/Rebooting_the System, Controlling_Processes, Network_Configuration, tar_(tape_archiver) sends, Usage, Network_Commands sensitive, Finding_files, Working_with_files_and_folders, Text_Information Tools sentences, Text_manipulation_tools separate, Text_manipulation_tools separated, Text_Information_Tools, Text_manipulation_tools, Scheduling Commands_to_run_in_the_background, Standard_Wildcards_(globbing_patterns) separation, Text_manipulation_tools separator, Text_manipulation_tools sequentially, Performing_more_than_one_command serial, Text_manipulation_tools series, Network_Commands server, Remote_Administration_Related, Graphics_tools_(command_line_based) servers, Internet_Specific_Commands, rsync service, Controlling_services service mark, Disclaimer services, Controlling_services session, General_Shell_Tips, Security set, General_Shell_Tips, Working_with_files_and_folders, Mass_Rename/copy/ link_Tools, Date/Time/Calendars, Shutting_Down/Rebooting_the_System, Security, File_Permissions, Scheduling_Commands_to_run_in_the_background set bell-style, General_Shell_Tips Sets, Controlling_Processes, File_Permissions, Graphics_tools_(command_line based) setting, Network_Configuration settings, Network_Configuration setup, Moving_around_the_filesystem, Text_manipulation_tools several, Contributors, General_Shell_Tips, Working_with_files_and_folders, Conversion_tools, Network_Commands sftp, Remote_Administration_Related SGML, Availability_of_sources, Resources_used_to_create_this_document, Contributors sharing, Network_Commands shell, Conventions_used_in_this_guide, Shell_Tips, Finding_files, Controlling Processes, Text_manipulation_tools, Security, Scheduling_Commands_to_run_in the_background, Wildcards shell scripting, Usage shell scripts, Usage shells, Introduction, Other_Key_combinations, Users/Groups shopping, Text_manipulation_tools shortcut, Shell_Tips, Other_Key_combinations, Scheduling_Commands_to_run_in the_background show, Moving_around_the_filesystem, Working_with_files_and_folders, Finding information_about_the_system, Controlling_Processes, Text_manipulation_tools, Network_Commands, tar_(tape_archiver), Graphics_tools_(command_line_based) shown, Moving_around_the_filesystem, Mass_Rename/copy/link_Tools, Text manipulation_tools, Internet_Specific_Commands showrgb, Graphics_tools_(command_line_based) shows, Moving_around_the_filesystem, Text_Viewing_Tools shred, Working_with_files_and_folders, File_Permissions shredding, Working_with_files_and_folders shutdown, Shutting_Down/Rebooting_the_System shutdown -h, Shutting_Down/Rebooting_the_System shutdown -r, Shutting_Down/Rebooting_the_System sign, Controlling_Processes signal, Controlling_Processes signalled, Text_Conversion/Filter_Tools signals, Controlling_Processes single-user, Shutting_Down/Rebooting_the_System site, Internet_Specific_Commands Sitemenu, Conventions_used_in_this_guide sites, Security six, Scheduling_Commands_to_run_in_the_background size, Moving_around_the_filesystem, Working_with_files_and_folders, Text manipulation_tools, Graphics_tools_(command_line_based) sizes, Working_with_files_and_folders skill, Controlling_Processes slide, Graphics_tools_(command_line_based) slocate, Finding_files smaller, Working_with_files_and_folders SMB, Network_Commands smbmount, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions) smbumount, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions) snice, Controlling_Processes sniffer, Network_Commands snort, The_command-line_history software, Who_would_want_to_read_this_guide?, Working_with_files_and_folders some_file, Text_manipulation_tools some_text_file, Text_manipulation_tools sort, Moving_around_the_filesystem, Text_manipulation_tools sorted, Moving_around_the_filesystem Sorting, Text_manipulation_tools sound, Controlling_services, Network_Commands source, Finding_files, Working_with_files_and_folders, Conversion_tools Sourceforge, Text_Editors, Remote_Administration_Related, Archiving_Files, Finding_more_useful_tools, Finding_package(s) sources, Availability_of_sources space, General_Shell_Tips, Finding_information_about_the_system, Text manipulation_tools, Useful categories of characters  (as defined by the POSIX standard) space-seperated, Controlling_Processes spaces, Help, Text_Information_Tools, Text_manipulation_tools, File Permissions, Scheduling_Commands_to_run_in_the_background, Standard_Wildcards (globbing_patterns), Useful categories of characters  (as defined by the POSIX standard) special, Conventions_used_in_this_guide, File_Permissions special character, General_Shell_Tips, Standard_Wildcards_(globbing_patterns) special characters, General_Shell_Tips special symbols, General_Shell_Tips specialcharacter, Regular_Expressions specific, Introduction, Resources_used_to_create_this_document, Usage, Date/ Time/Calendars, Mini-Guides specifically, Disclaimer, Text_Conversion/Filter_Tools specified, Standard_Wildcards_(globbing_patterns) specifies, Scheduling_Commands_to_run_in_the_background, Standard_Wildcards_ (globbing_patterns), Regular_Expressions specify, Controlling_Processes, Text_manipulation_tools, Network_Commands, File_Permissions, Scheduling_Commands_to_run_in_the_background speed, Other_Key_combinations spell, The_Unix_Tools_Philosophy, Text_manipulation_tools spelling, The_command-line_history spend, Text_Related_Tools split, Working_with_files_and_folders Splits, Working_with_files_and_folders square, Regular_Expressions squeeze, Text_manipulation_tools SS64.com list of commands, General_Further_Reading ssh, Virtual_Terminals_and_screen, Remote_Administration_Related sshd, Controlling_services standard, Conventions_used_in_this_guide, Mass_Rename/copy/link_Tools, Text manipulation_tools, Mathematical_tools, Miscellaneous Standard error, Concept_Definitions Standard input, Concept_Definitions, Usage, Mathematical_tools Standard output, Concept_Definitions, Usage, Regular_Expressions standard wild-card, tar_(tape_archiver) standard wildcard, Regular_Expressions standard wildcards, Conventions_used_in_this_guide, Moving_around_the filesystem, Finding_files, Working_with_files_and_folders, Mass_Rename/copy/ link_Tools, Internet_Specific_Commands, Standard_Wildcards_(globbing patterns), Regular_Expressions standards, Text_Conversion/Filter_Tools Start, Conventions_used_in_this_guide, Moving_around_the_filesystem, Controlling_Processes, Mathematical_tools start-up, Checking_the_Hard_Disk_for_errors started, Mathematical_tools, Security starting, The_command-line_history, Moving_around_the_filesystem, Mass Rename/copy/link_Tools, Finding_Text_Within_Files, Regular_Expressions starts, Controlling_Processes, Standard_Wildcards_(globbing_patterns), Regular_Expressions stat, Working_with_files_and_folders statements, Finding_files statistics, Finding_information_about_the_system status, Controlling_services, Network_Commands steep, Text_Editors Step, Scheduling_Commands_to_run_in_the_background Steps, Scheduling_Commands_to_run_in_the_background sticky, File_Permissions stop, General_Shell_Tips, Usage, Finding_files, Shutting_Down/Rebooting_the System, Controlling_Processes, Controlling_services, Network_Commands, Internet_Specific_Commands, tar_(tape_archiver) stored, Network_Configuration Streams, Concept_Definitions string, The_command-line_history, Help, Usage, Moving_around_the_filesystem, Mass_Rename/copy/link_Tools, Text_Information_Tools, Text_manipulation_tools, Scheduling_Commands_to_run_in_the_background, Regular_Expressions strings, Help structure, Contributors style, Moving_around_the_filesystem, Text_Information_Tools, Text_Conversion/ Filter_Tools, Compression su, Finding_information_about_the_system, Managing_users subdirectories, Moving_around_the_filesystem, Finding_files, Working_with files_and_folders, File_Permissions subdirectory, Working_with_files_and_folders subsections, Wildcards subsequent, Standard_Wildcards_(globbing_patterns), Regular_Expressions substituted, General_Shell_Tips, Finding_information_about_the_system substitution, Finding_information_about_the_system Subsystem, Network_Commands successful, Performing_more_than_one_command, Controlling_Processes sudo, Managing_users suggesting, Text_manipulation_tools suggestions, Feedback, Contributors suid, File_Permissions suited, Who_would_want_to_read_this_guide?, Who_would_not_want_to_read_this guide? sum, RPM:_Redhat_Package_Management_System summarise, Introduction summarised, Who_would_want_to_read_this_guide? summarises, Working_with_files_and_folders summary, Who_would_not_want_to_read_this_guide?, Resources_used_to_create this_document, Help sums, Mathematical_tools superior, Compression superuser, Managing_users, Security support, Internet_Specific_Commands supports, Mass_Rename/copy/link_Tools, Internet_Specific_Commands suppress, Text_Information_Tools surf, Text_Editors suspend, Controlling_Processes Sweet Code, Finding_more_useful_tools switch, Virtual_Terminals_and_screen, Managing_users, File_Permissions switched, Duplicating_disks symbol, Usage, Text_manipulation_tools symbolic, Working_with_files_and_folders symbolic link, Working_with_files_and_folders Symbolic links, Working_with_files_and_folders symbols, General_Shell_Tips, Moving_around_the_filesystem syncs, rsync syntax, Conventions_used_in_this_guide, Finding_files, Working_with_files_and folders, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions), Finding_Text_Within_Files, Remote_Administration_Related system bell, General_Shell_Tips ------------------------------------------------------------------------------- T TAB, General_Shell_Tips, Text_manipulation_tools TAB key, General_Shell_Tips tab-stop, Text_manipulation_tools Tabatha Marshall, Contributors Tabatha Persad, Contributors table, Conversion_tools, Network_Configuration, Scheduling_Commands_to_run_in the_background Table of Contents, Conventions_used_in_this_guide tabs, Text_manipulation_tools, Useful categories of characters  (as defined by the POSIX standard) tac, Text_Viewing_Tools tail, Text_Viewing_Tools tape, tar_(tape_archiver) tar, rsync, Compression tarball, tar_(tape_archiver) target_name, Working_with_files_and_folders task, Introduction, Controlling_services tasks, The_Unix_Tools_Philosophy, Controlling_services, Text_Editors tcpdump, Network_Commands techinques, Duplicating_disks technique, Directing_Input/Output, Duplicating_disks tee, Usage tell, Controlling_Processes, Controlling_services, Mathematical_tools, Network_Commands tells, Controlling_the_system temporary, Remote_Administration_Related tends, Finding_information_about_the_system term, Disclaimer, Standard_Wildcards_(globbing_patterns) terminal, General_Shell_Tips, Shutting_Down/Rebooting_the_System, Controlling Processes terminate, Usage terms, License, Standard_Wildcards_(globbing_patterns) test, Virtual_Terminals_and_screen, Compression TeX, The_Unix_Tools_Philosophy text, General_Shell_Tips, Working_with_files_and_folders, Text_Related_Tools, Text_Information_Tools, Text_Conversion/Filter_Tools, Finding_Text_Within Files, Wildcards, Regular_Expressions text-based, The_Unix_Tools_Philosophy Texts, License textutils, RPM:_Redhat_Package_Management_System The Linux Documentation Project, Resources_used_to_create_this_document The Open Group, Disclaimer The Unix Philosophy, The_UNIX_tools_philosophy_further_reading throw, Working_with_files_and_folders thumbnails, Graphics_tools_(command_line_based) ties, Text_manipulation_tools tiff, Graphics_tools_(command_line_based) tilde, General_Shell_Tips tile, Graphics_tools_(command_line_based) tille, Contributors time, Working_with_files_and_folders, Date/Time/Calendars, Controlling Processes, Users/Groups, Text_Viewing_Tools, rsync, Scheduling_Commands_to run_in_the_background, Wildcards times, The_command-line_history, Finding_information_about_the_system, Text manipulation_tools, Regular_Expressions timestamp, Working_with_files_and_folders timestamps, Working_with_files_and_folders, Date/Time/Calendars tiny, Useful categories of characters (as defined by the POSIX standard) TLDP, Contributors today, The_Unix_Tools_Philosophy todos, Text_Conversion/Filter_Tools top, Moving_around_the_filesystem, Controlling_Processes total, Working_with_files_and_folders totals, Finding_information_about_the_system touch, Working_with_files_and_folders tr, Usage, Text_manipulation_tools, Text_Conversion/Filter_Tools tracepath, Network_Commands traceroute, Network_Commands trademark, Disclaimer traditional, Text_Editors transfer, Working_with_files_and_folders, Network_Commands, Duplicating_disks transform, Graphics_tools_(command_line_based) translators, Availability_of_sources travel, Network_Commands tree, Moving_around_the_filesystem, Mounting_and_Unmounting_(Floppy/CDROM/ Hard-drive_Partitions), Controlling_Processes trick, Moving_around_the_filesystem, Security tunnel, Remote_Administration_Related turn, General_Shell_Tips, File_Permissions turn off, General_Shell_Tips tutorial, Finding_information_about_the_system TuxFinder, Finding_package(s), Specific_Further_reading types, Working_with_files_and_folders, Conversion_tools typescript, General_Shell_Tips ------------------------------------------------------------------------------- U UID, Controlling_Processes umask, Security umount, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions) un-readable, Working_with_MS-DOS_files unalias, General_Shell_Tips uname, Finding_information_about_the_system unbuffered, Concept_Definitions uncompile, Graphics_tools_(command_line_based) unexpand, Text_manipulation_tools unfamiliar, Controlling_Processes unfinished, Internet_Specific_Commands Unfortunately, Mass_Rename/copy/link_Tools, Controlling_Processes uniq, Text_manipulation_tools unique, Text_Information_Tools, Text_manipulation_tools units, Mathematical_tools units man page, Miscellaneous UNIX, Disclaimer, The_Unix_Tools_Philosophy, Concept_Definitions, Mass Rename/copy/link_Tools, Date/Time/Calendars, Shutting_Down/Rebooting_the System, Controlling_services, Text_Editors, Text_Conversion/Filter_Tools, Security, Compression UNIX system, Who_would_want_to_read_this_guide?, The_Unix_Tools_Philosophy UNIX tools, The_UNIX_tools_philosophy_further_reading UNIX Tools Philosophy, Introduction, The_Unix_Tools_Philosophy, The_UNIX tools_philosophy_further_reading UNIX-like, Compression unix-tools, The_UNIX_tools_philosophy_further_reading unix2dos, Text_Conversion/Filter_Tools unmount, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions), Checking_the_Hard_Disk_for_errors unmounted, Working_with_MS-DOS_files unrecoverable, Working_with_files_and_folders unset, File_Permissions unusual, Conversion_tools Up, Conventions_used_in_this_guide update, Working_with_files_and_folders, Users/Groups updated, Controlling_Processes, Text_Viewing_Tools, File_Permissions upload, Internet_Specific_Commands uppercase, Text_manipulation_tools, Useful categories of characters  (as defined by the POSIX standard) uptime, Finding_information_about_the_system URL, Internet_Specific_Commands urpm*, RPM:_Redhat_Package_Management_System, Mandriva_(urpm*_commands,_rpm based) urpme, RPM:_Redhat_Package_Management_System urpmf, RPM:_Redhat_Package_Management_System, Mandriva_(urpm*_commands,_rpm based) urpmi, RPM:_Redhat_Package_Management_System urpmq, RPM:_Redhat_Package_Management_System usage, General_Shell_Tips, Internet_Specific_Commands, Working_with_MS-DOS files usenet, Mass_Rename/copy/link_Tools user name, General_Shell_Tips user-name, General_Shell_Tips username, Controlling_Processes, Text_manipulation_tools, Internet_Specific Commands, File_Permissions, Scheduling_Commands_to_run_in_the_background usernames, Controlling_Processes, Text_manipulation_tools utilities, Text_Viewing_Tools, Compression, Standard_Wildcards_(globbing patterns) utility, Working_with_files_and_folders, Finding_information_about_the system, Users/Groups, Text_manipulation_tools, Working_with_MS-DOS_files ------------------------------------------------------------------------------- V V7, Scheduling_Commands_to_run_in_the_background valid, Standard_Wildcards_(globbing_patterns) validity, Disclaimer value, Controlling_Processes, Text_manipulation_tools, Security, Scheduling Commands_to_run_in_the_background values, Scheduling_Commands_to_run_in_the_background variety, Controlling_Processes, Controlling_services, Internet_Specific Commands verbose, Finding_information_about_the_system, Controlling_Processes, tar_ (tape_archiver), Working_with_MS-DOS_files verify, Some_basic_Security_Tools version, Availability_of_sources, License, Text_Viewing_Tools, Finding_Text Within_Files versions, Availability_of_sources vfat, Mounting_and_Unmounting_(Floppy/CDROM/Hard-drive_Partitions) vi, Text_Editors vice-versa, Text_Conversion/Filter_Tools view, Help, Finding_information_about_the_system, Conversion_tools, Graphics tools_(command_line_based) viewers, Text_Conversion/Filter_Tools viewing, Text_Related_Tools vim, Specific_Further_reading virtual terminals, Shell_Tips, Virtual_Terminals_and_screen visit, rsync volunteers, Resources_used_to_create_this_document ------------------------------------------------------------------------------- W w, Finding_information_about_the_system, File_Permissions waiting, Network_Commands wave, Finding_information_about_the_system wc, Text_Information_Tools website, Internet_Specific_Commands wget, Internet_Specific_Commands whatis, Help whereis, Finding_files which, Finding_files, Working_with_files_and_folders, Mass_Rename/copy/link Tools, Controlling_Processes, Network_Commands, Miscellaneous whitespace, Text_manipulation_tools, Useful categories of characters  (as defined by the POSIX standard) who, Finding_information_about_the_system, Shutting_Down/Rebooting_the System, File_Permissions whoami, Finding_information_about_the_system whois, Internet_Specific_Commands wildcard, General_Shell_Tips, Mass_Rename/copy/link_Tools, Regular Expressions wildcards, Conventions_used_in_this_guide, General_Shell_Tips, Finding_files, Mass_Rename/copy/link_Tools, Internet_Specific_Commands, Wildcards, Regular Expressions William West, Contributors window, The_command-line_history, Finding_information_about_the_system, Graphics_tools_(command_line_based) window manager, Virtual_Terminals_and_screen windowing, Graphics_tools_(command_line_based) windows, Working_with_files_and_folders, Mounting_and_Unmounting_(Floppy/ CDROM/Hard-drive_Partitions), Text_Related_Tools, Text_Conversion/Filter Tools, Network_Commands, Compression Windows-format, Text_Conversion/Filter_Tools work-around, Internet_Specific_Commands write, Text_manipulation_tools, File_Permissions writing, The_Unix_Tools_Philosophy, Working_with_files_and_folders, File Permissions, Scheduling_Commands_to_run_in_the_background, Miscellaneous ------------------------------------------------------------------------------- X X windowing, Introduction xargs, Finding_information_about_the_system XML, Resources_used_to_create_this_document xset, General_Shell_Tips xterminal, Shutting_Down/Rebooting_the_System ------------------------------------------------------------------------------- Y year, Date/Time/Calendars years, Date/Time/Calendars YYYY, Date/Time/Calendars ------------------------------------------------------------------------------- Z z* commands, Text_Viewing_Tools zcmp, Text_Viewing_Tools zdiff, Text_Viewing_Tools zero, Mathematical_tools, Standard_Wildcards_(globbing_patterns), Regular Expressions zeroes, Working_with_files_and_folders, File_Permissions zgrep, Text_Viewing_Tools zgv, Graphics_tools_(command_line_based) zip, Compression zipgrep, Compression zipinfo, Compression zipped, Compression zless, Text_Viewing_Tools zmore, Text_Viewing_Tools Notes [1] This information was adopted (with editing) from Mandrakesoft's Command Line Manual, see [7] in the Bibliography for further information. [2] This information (as quoted) has come from the “Please, For the Love of All That's Recoverable, Shred Your Hard Drive!” article, number 18 in the Bibliography [3] This particular command and explanation has been used (with editing) from the Linux Online Classroom, see [4] in the Bibliography for further information. [4] This information has been taken from the Linux Cookbook (without editing). See [3] in the Bibliography for further information. [5] These examples are based off information from the enscript manual page, see [12] in the Bibliography for further information. [6] This way around the wildcard limitation has been adopted (with a tiny amount of editing) from wget_manual_page, see [9] in the Bibliography for further information. [7] This example and tiny parts of the explanation have been taken from the Linux Online Classroom, see [4] in the Bibliography for further information. [8] This example has come been used from (unedited) “CLI for noobies: import, display, mogrify”, see [16] in the Bibliography for further information. [9] This information has come from (without editing) a post on the LinuxChix techtalk mailing list, please see [16] in the Bibliography for further information. [10] This information comes from the cron manual page with small additions (no changes to original content), refer to [13] in the Bibliography for further information. [11] This information comes from the Linux Cookbook (without editing). See [3] in the Bibliography for further information. [12] Note that the list under section 24.1.2 comes from the RPM manual page, see [11] in the Bibliography for further details.