Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Current »

Goals: Introduction to using a Terminal

  • What does a prompt look like?

  • General syntax of shell command.

  • Commands/options are case sensitive.

  • Getting Help:

    • Man pages (man)

    • Options: <command> --help



Login

  1. Open up Chrome

  2. Navigate to: MedicineBow OnDemand

  3. Type in your provided username and password. Usually this will be your UWYO username and password, unless you are using an assigned training account.

  4. Authenticate using your preferred 2 factor method (expandable directions below):

 Duo Mobile push:

If you usually get a two-factor push to your phone, just hit enter after entering your username and password, then complete authentication by approving the push on your device.

pushapprove.png
 Phone Call:

Without hitting enter after typing in your username and password, in the password text box, append a comma (,) to the end of your password, then append phone as shown in the screenshot below:

You should get a phone call on your main phone # associated with your two factor account. Answer this call and hit # to approve access.

 Duo Passcode

If you prefer to use a 2 factor passcode from your Duo Mobile app, without hitting enter after typing in your username and password, in the password text box, append a comma (,) to the end of your password, then append the multi digit passcode found in duo mobile as shown in the screenshot below:

 Yubikey:

Type in the account password, then, without hitting enter, append a comma (,) to the end of the password, then touch the light on the yubikey as shown in the screenshot and photo below:

Then hit the green light on your yubikey to authenticate:

yubikey.jpeg


Start MedicineBow Shell Access

Click shell.png

image-20240731-224939.png


The Command-Line Prompt

image-20240522-171748.png

Your Prompt

From now on, your prompt will take the form: [<username>@<hostname> ~]$

where:

  • <username> is YOUR username or potentially arcc-txx if you are using a training account.

  • <hostname> will take the form of mblog1, mblog2 - it should have log within the name to indicate you are using a login node - this will be covered within the Intro to HPC workshop, specifically What is HPC?


Syntax of a Shell Command

image-20240522-172219.png

Case Sensitive

In Linux, commands, options, folder, filenames… are Case Sensitive.

# Lists what is in the current location.
[<username>@<hostname> ~]$ ls
Desktop  Documents  Downloads
# Throws an error.
[<username>@<hostname> ~]$ LS
-bash: LS: command not found
Filename  ≠  FiLeNaMe  ≠  FILENAME

 Remember: Filename  ≠  FiLeNaMe  ≠  FILENAME


Getting Help: man

Linux has a number of ways to find help on commands. The first is man - “manual”.

[<username>@<hostname> ~]$ man ls
LS(1)                                     User Commands                                     LS(1)
NAME
       ls - list directory contents
SYNOPSIS
       ls [OPTION]... [FILE]...
DESCRIPTION
       List  information about the FILEs (the current directory by default).  Sort entries alpha‐
       betically if none of -cftuvSUX nor --sort is specified.
       Mandatory arguments to long options are mandatory for short options too.
       -a, --all
              do not ignore entries starting with .
       -A, --almost-all
              do not list implied . and ..
       ...
Manual page ls(1) line 1 (press h for help or q to quit)

Getting Help: <command --help>

The next method is to use a commands --help option.

[<username>@<hostname> ~]$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print C-style escapes for nongraphic characters
      --block-size=SIZE      with -l, scale sizes by SIZE when printing them;
                               e.g., '--block-size=M'; see SIZE format below
  -B, --ignore-backups       do not list implied entries ending with ~
...

Getting Help: Options

Typically, options can have a:

  • short-name: “-a”:

    • Single letter following a single “-

  • long-name: “--all”: 

    • More descriptive word after two dashes “--

Short options can be grouped: 

  • ls -a –l” can be shortened to “ls –al


Single vs Multiple Lines

If you have a long command, which is difficult to read over a single line, you can split it up across multiple lines.

To split, type \ followed by ENTER, and you’ll see that me move to the next line as indicated by the >.

You can continue to split across multiple lines.

Once you’re ready to execute, simply press ENTER (without the \ character).

[<username>@<hostname> ~]$ ls -al ~
[<username>@<hostname> ~]$ ls \
> -al \
> ~

Exercises

Questions:

  1. Is there a difference between running ls versus ls -al?

  2. How can you find out what the –al options do?

  3. What does the pwd command do?

  4. From the command line, what happens if you press the up/down arrow keys?


Answers(1)

1: Is there a difference between running ls versus ls -al?

 Answer

Yes. The ls command is used to list files.

The characters after the '-' are flags, which select options associated with the command.

[<username>@<hostname> ~]$ ls
Desktop  Documents  Downloads
[<username>@<hostname> ~]$ ls -al
total 76
drwxr-x---   8 <username> <username>  4096 Oct  3 13:57 .
drwxr-xr-x 925 root       root       32768 Sep 27 16:21 ..
-rw-------   1 <username> <username>   212 Sep 12 15:44 .bash_history
-rw-r--r--   1 <username> <username>    18 Aug 10 17:00 .bash_logout
-rw-r--r--   1 <username> <username>   141 Aug 10 17:00 .bash_profile
-rw-r--r--   1 <username> <username>   376 Aug 10 17:00 .bashrc
drwx------   3 <username> <username>  4096 Sep 12 11:36 .config
drwxr-xr-x   2 <username> <username>  4096 Aug 10 17:00 Desktop
drwxr-xr-x   2 <username> <username>  4096 Aug 10 17:00 Documents

Answers(2)

2: How would you find out what the –al options do?

 Answer
  • Use man ls or ls --help

    • -a is to specify “all”, which will include hidden files.

    • -l is to specify “long” which gives us the “long format” output about the listed files.

  • Options are also case sensitive:

    [<username>@<hostname> ~]$ ls -A
    .bash_history  .bash_profile  .config  Documents  .emacs     .kshrc    .mozilla  .zshrc
    .bash_logout   .bashrc        Desktop  Downloads  .esd_auth  .lesshst  .ssh

Answers(3, 4)

3: What does the pwd command do?

 Answer
  • Use man pwd or pwd --help

  • pwd - print name of current/working directory

4: From the command line, what happens if you press the up/down arrow keys?

 Answer

Steps through the previous commands you’ve typed. What do you find?

This should access your previous commands. Hitting the up arrow once will give you the last command you typed in. Pressing it over again will produce the command that preceded that one, and so on.



  • No labels