HPC Linux Tutorial

From HPC Docs
Revision as of 15:27, 15 May 2019 by Admin (talk | contribs)
Jump to navigation Jump to search

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 ls lists 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 ls doesn't include any options but does include an argument myfile. This will list the file myfile to the terminal if it exists in the current directory. If not, you'll get a message such as ls: cannot access myfile: No such file or directory instead.


  • 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 ls command does. The -lh combined options tell the ls command 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 as ls -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.

Orthogonality

Manipulating Files