Introduction to Using the Shell in a High-Performance Computing Context: Glossary

Key Points

Why Use a Cluster?
  • High Performance Computing (HPC) typically involves connecting to very large computing systems elsewhere in the world.

  • These HPC systems can be used to do work that would either be impossible or much slower or smaller systems.

  • The standard method of interacting with such systems is via a command line interface such as Bash.

Connecting to the remote HPC system
  • To connect to a remote HPC system using SSH: ssh yourUsername@remote.computer.address

Moving around and looking at things
  • Your current directory is referred to as the working directory.

  • To change directories, use cd.

  • To view files, use ls.

  • You can view help for a command with man command or command --help.

  • Hit tab to autocomplete whatever you’re currently typing.

Writing and reading files
  • Use nano to create or edit text files from a terminal.

  • cat file1 [file2 ...] prints the contents of one or more files to terminal.

  • mv old dir moves a file or directory to another directory dir.

  • mv old new renames a file or directory.

  • cp old new copies a file.

  • cp old dir copies a file to another directory dir.

  • rm path deletes (removes) a file.

  • File extensions are entirely arbitrary on UNIX systems.

Wildcards and pipes
  • The * wildcard is used as a placeholder to match any text that follows a pattern.

  • Redirect a command’s output to a file with >.

  • Commands can be chained with |

Scripts, variables, and loops
  • A shell script is just a list of bash commands in a text file.

  • chmod +x script.sh will give it permission to execute.

Glossary

FIXME

External References

Text Editing