HPC Linux Tutorial: Difference between revisions
No edit summary |
No edit summary |
||
| Line 26: | Line 26: | ||
===On-line Manual Pages=== | ===On-line Manual Pages=== | ||
Linux consists of thousands of commands. While the syntax is common among most of them as <code>command options arguments</code>, it may be daunting to remember the various options for each command. Options don't necessary represent the same thing between commands. For example, the <code>-i</code> option means different things in the <code>ls</code> command and the <code>grep</code> command. To eliminate the need to keep a thick Linux command "bible" next to you at all times, the system provides "manual pages" on-line that can be called up as needed. These are called '''man pages''' in Linux lingo. You use the <code>man</code> command to bring the manual pages for a command you provide as an argument, e.g. <code>man ls</code>. | Linux consists of thousands of commands. While the syntax is common among most of them as <code>command options arguments</code>, it may be daunting to remember the various options for each command. Options don't necessary represent the same thing between commands. For example, the <code>-i</code> option means different things in the <code>ls</code> command and the <code>grep</code> command. To eliminate the need to keep a thick Linux command "bible" next to you at all times, the system provides "manual pages" on-line that can be called up as needed. These are called '''man pages''' in Linux lingo. You use the <code>man</code> command to bring the manual pages for a command you provide as an argument, e.g. <code>man ls</code>. | ||
<pre> | |||
$ man -P cat cat | |||
CAT(1) User Commands CAT(1) | |||
NAME | |||
cat - concatenate files and print on the standard output | |||
SYNOPSIS | |||
cat [OPTION]... [FILE]... | |||
DESCRIPTION | |||
Concatenate FILE(s), or standard input, to standard output. | |||
-A, --show-all | |||
equivalent to -vET | |||
-b, --number-nonblank | |||
number nonempty output lines, overrides -n | |||
-e equivalent to -vE | |||
-E, --show-ends | |||
display $ at end of each line | |||
-n, --number | |||
number all output lines | |||
-s, --squeeze-blank | |||
suppress repeated empty output lines | |||
-t equivalent to -vT | |||
-T, --show-tabs | |||
display TAB characters as ^I | |||
-u (ignored) | |||
-v, --show-nonprinting | |||
use ^ and M- notation, except for LFD and TAB | |||
--help display this help and exit | |||
--version | |||
output version information and exit | |||
With no FILE, or when FILE is -, read standard input. | |||
EXAMPLES | |||
cat f - g | |||
Output f's contents, then standard input, then g's contents. | |||
cat Copy standard input to standard output. | |||
GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Report cat translation bugs to <http://translationproject.org/team/> | |||
AUTHOR | |||
Written by Torbjorn Granlund and Richard M. Stallman. | |||
COPYRIGHT | |||
Copyright © 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. | |||
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. | |||
SEE ALSO | |||
tac(1) | |||
The full documentation for cat is maintained as a Texinfo manual. If the info and cat programs are properly installed at your site, the | |||
command | |||
info coreutils 'cat invocation' | |||
should give you access to the complete manual. | |||
GNU coreutils 8.22 November 2015 CAT(1) | |||
</pre> | |||
===Orthogonality=== | ===Orthogonality=== | ||
Revision as of 15:56, 15 May 2019
The Linux Command Line
The Linux command line provides a way to type commands in a text terminal to perform actions on the system you are connected to, either locally or remotely. Linux supports multiple "shells" which are command interpreters. While each shell has its own special features, they tend to have a lot of overlap so it is fairly easy to become acclimated with a new shell. The ELSA HPC cluster uses the bash shell (Bourne Again Shell) with is currently the very command and popular shell. Other shells include the original Bourne Shell, Tcsh, KornShell and Z Shell.
Command Structure
The basic format of the is command options arguments where options and arguments may either be optional or required depending on the command being run. Command options begin with a - or -- to indicate they are options, not arguments.
Let's look at some real-life examples:
ls -l
- This command
lslists files while the optional-l(that's a small "L") argument tells the command to do a long listing. A long listing includes the file permissions, owners, group and other info.
ls myfile
- This
lsdoesn't include any options but does include an argumentmyfile. This will list the filemyfileto the terminal if it exists in the current directory. If not, you'll get a message such asls: cannot access myfile: No such file or directoryinstead.
ls -l myfile
- In this next example, we combine command, options and arguments. This will list the file to the terminal with the file permissions, owners, etc. if it exists in the current directory.
ls -lh myfile yourfile
- In this final example, multiple options and arguments are specified. Not all commands have multiple options or allow multiple arguments, but the
lscommand does. The-lhcombined options tell thelscommand to not only show all the additional information about the files but convert any the output (e.g. the file size) to "human readable" format. If multiple arguments are permitted, the command applies to all that are specified. This command could also have been specified with the options listed separately asls -l -h myfile yourfile.
On-line Manual Pages
Linux consists of thousands of commands. While the syntax is common among most of them as command options arguments, it may be daunting to remember the various options for each command. Options don't necessary represent the same thing between commands. For example, the -i option means different things in the ls command and the grep command. To eliminate the need to keep a thick Linux command "bible" next to you at all times, the system provides "manual pages" on-line that can be called up as needed. These are called man pages in Linux lingo. You use the man command to bring the manual pages for a command you provide as an argument, e.g. man ls.
$ man -P cat cat
CAT(1) User Commands CAT(1)
NAME
cat - concatenate files and print on the standard output
SYNOPSIS
cat [OPTION]... [FILE]...
DESCRIPTION
Concatenate FILE(s), or standard input, to standard output.
-A, --show-all
equivalent to -vET
-b, --number-nonblank
number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends
display $ at end of each line
-n, --number
number all output lines
-s, --squeeze-blank
suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs
display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting
use ^ and M- notation, except for LFD and TAB
--help display this help and exit
--version
output version information and exit
With no FILE, or when FILE is -, read standard input.
EXAMPLES
cat f - g
Output f's contents, then standard input, then g's contents.
cat Copy standard input to standard output.
GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Report cat translation bugs to <http://translationproject.org/team/>
AUTHOR
Written by Torbjorn Granlund and Richard M. Stallman.
COPYRIGHT
Copyright © 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
tac(1)
The full documentation for cat is maintained as a Texinfo manual. If the info and cat programs are properly installed at your site, the
command
info coreutils 'cat invocation'
should give you access to the complete manual.
GNU coreutils 8.22 November 2015 CAT(1)
Orthogonality
Manipulating Files
Additional Resources
Below are additional resources for learning the Linux command-line. The Lynda.com resource below may require you to provide your TCNJ login information to access.
- Lynda.com course titled Learning Linux Command Line. In the "What do you already know?" section, only watch the "A very quick intro to Linux" lesson before skipping down to section 2 "What is the command line?" Watch all the videos in sections 2, 3 and 4.