List

What we will be learning?

  1. Introduction to Linux and High Performance Computing (HPC)
  2. Basic navigation in Linux
  3. Managing files/folders
  4. File manipulation and editing
  5. Wildcards and permission
  6. Filtering and searching
  7. Piping & Redirection & Process Management
  8. Submitting task/jobs using SLURM
  9. Installing software
  1. Opening a terminal

Windows users – open MobaXterm

Mac users – go to the search/finder/spotlight and type terminal

2. Connecting to the QU-Azure HPC for the first time

  • Windows users
    • Click CTRL+SHIFT+N
  • If it ask for password, type 123456
  • IMPORTANT: When you type your password, it may seem like nothing is showing up on the screen BUT it is there. This is just a security feature of MobaXterm.
  • It will ask you to accept some agreements, just click Accept or OK for all of them.
  • Finally, you will see an image like below
  • Mac users
  • replace YOUR_USERNAME with your username e.g., an12345
  • Enter your temporary password 123456.
  • IMPORTANT: When you type your password, it may seem like nothing is showing up on the screen BUT it is there. This is just a security feature of Terminal.
  • It will ask you to accept some agreements, just click Accept or OK for all of them.
  • Finally, you will see an image like below

3. Basic navigations

  • Before we begin, there is ONE EXTREMELY IMPORTANT rule in Linux – Linux is case sensitive. Apple, apple and APPLE are considered as three different words.
  • Also, be careful when it comes to spacing. A lot of students at the beginning will be confused when to use and when not to use space.
    1. To check where we are currently
      • pwd
      • stands for Print Working Directory. It tells us in which location/directory (a.k.a folder)/path we are currently in
    2. To check what kind of files and folders are available in the current location/directory/path
      • ls
      • stands for Listing. It will list all the available files and folders inside the location you are currently in
    3. To change location/directory
      • cd
      • stands for Changing Directory. If you want to move from one directory to the next, you need to type this command
    4. Directory structure
      • In Linux, there is a ‘tree like structure’. The ‘root’ is called ‘/‘.
      • Think of it like your house address
      • Example: If you are living in Porto Arabia, The Pearl, Doha, Qatar
        • /Qatar/Doha/ThePearl/PortoArabia/Rozaimi
      • When you first logged into Linux, you will be directed to your ‘home’ – /home/users/your_username
    5. About Paths
      • There are 2 types of paths in Linux
        1. Absolute
          • specifies the complete location of a file or directory from the root directory (/)
          • It starts from the root directory and includes all intermediate directories
          • Always begins with a forward slash (/).
          • Example: /home/user/documents/my_file.txt
        2. Relative
          • specifies the location of a file or directory relative to the current working directory
          • doesn’t start from the root directory; instead, it’s based on your current location
          • Example: If you’re currently in /home/user, the relative path to my_file.txt in the documents directory would be:
            • documents/my_file.txt
    6. “Weird” symbols that are often used when moving around Linux
      • A single dot/period ‘.‘ represents the location where you are currently in.
      • Two dots/periods ‘..‘ represents one position outside of your current position.
        • Example: If you’re in /home/user/documents, the relative path to the parent directory (user) would be:
          • ../user
      • A tilda (~) represents a shortcut to go to your home directory. So wherever you are inside the Linux “tree”, if you are lost, you can get “back home” by typing ~/

Now, for the rest of the topics until topic no.8, we will be using the Linux tutorial from Ryan’s Tutorial – https://ryanstutorials.net/linuxtutorial/navigation.php

Click here after you have finished topic no.7 – Submitting task/jobs using SLURM

For the last topic, please click here – Installing software