Welcome to The Carpentries Etherpad!
This pad is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents.
Users are expected to follow our code of conduct: https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html
All content is publicly available under the Creative Commons Attribution License: https://creativecommons.org/licenses/by/4.0/
----------------------------------------------------------------------------
0. Etherpad Setup, Welcome, and Setup
Sign in
Name (Pronouns), Department, Association, Email & Twitter (optional)
Please sign in so we can record your attendance.
- Jason Yalim (he/him/his), Research Computing & SoMSS, Postdoc, jyalim@asu.edu, @jsonyaml
- Rebecca Belshe (she/her), Research Computing, rbelshe@asu.edu
- Gil Speyer (he/him/his), Research Computing, speyer@asu.edu
- Mollie Peters (she/her/hers), Evolutionary Biology PhD student, mjpete11@asu.edu
- Aleksander Bentoske (he/him/his), Molecular Biology 4+1 BS/MS, bentoske@asu.edu, @bentoske
- Lee Reynolds, Research Computing, Lee.Reynolds@asu.edu
- Minerva So ( she/her/hers), Biological Sciences Undergraduate student, minervas@asu.edu
- Daniel Sackett (they), Molecular Biosciences and Biotechnology Undergraduate student, dlsacket@asu.edu
- Sage Wackett (he/him/his), BS Biochemistry Undergraduate student, sbwacket@asu.edu
- Kelly Blevins (she/her/hers), School of Human Evolution and Social Change PhD candidate, keblevin@asu.edu, @blevinske
- Josh Vincent (he/him/his), Chemical Engineering PhD Student, jvincen5@asu.edu
- Ian Shaeffer (he/him/his), Research Computing, IanS@asu.edu
- William Dizon (he/him/his), Research Computing, wdizon@asu.edu
- Yujia Zhang,Postdoc,yzhan169@asu.edu
- Zhiming Zhang, postdoc, Mechanical and Aerospace Engineering, zzhan506@asu.edu
- Akshay Bondre, PhD student Electrical Engineering, asbondre@asu.edu
- Annika Vannan, PhD student Neuroscience, avannan@asu.edu
- Karen Watanabe (she/her), Mathematical and Natural Sciences, karen.watanabe@asu.edu
- Sabine Botha, PostDoc, Physics, sbotha@asu.edu
Schedule is here: https://jyalim.github.io/2020-12-07--agave-shell-intro/
Workshop lesson is here: https://jyalim.github.io/agave-shell-novice/
Code of Conduct
https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html
Introductions
Information for Today's Learners
- Add your name to the Sign in portion of the Etherpad above (Starts on line 12)
- Introduce yourselves!
- Workshop setup (https://jyalim.github.io/agave-shell-novice/setup.html)
- Ensure you are connected to the cisco VPN
- Ensure you can connect to the supercomputer Agave by signing in through: https://login.rc.asu.edu
- Open a shell on the cluster through the web app (select Agave from Clusters menu in top navigation bar)
- With the shell, make a temporary workspace directory, called Desktop, and make it the active working directory
- mkdir Desktop
- cd Desktop
- With the shell, download the workshop materials with:
- wget 'https://jyalim.github.io/agave-shell-novice/data/data-shell.zip'
- With the shell, unpack the downloaded zip with:
- unzip data-shell.zip
LESSON 1: Introducing the Shell
Protip: The control key + C will break the execution of a shell command!
LESSON 2: Navigating the Filesystem
https://jyalim.github.io/agave-shell-novice/02-filedir/index.html
Exercise 2.1:
What does the "-h" option do for "ls"?
- with -l print fonts that are readable in human font (?)
- "human readable size"
- prints in fonts that can be naturally read by humans
SOLUTION: The "-l" option makes "ls" use a long listing format, showing not only the file/directory names but also additional information such as the file size and the time of its last modification. If you use both the "-h" option and the "-l" option, this makes the file size ‘human readable’, i.e. displaying something like 5.3K instead of 5369.
Exercise 2.2:
By default ls lists the contents of a directory in alphabetical order by name. The command "ls -t" lists items by time of last change instead of alphabetically. The command "ls -r" lists the contents of a directory in reverse order. Which file is displayed last when you combine the "-t" and "-r" flags? Hint: You may need to use the "-l" flag to see the last changed dates.
- The file that has been changed most recently
SOLUTION: The most recently changed file is listed last when using "-rt". This can be very useful for finding your most recent edits or checking to see if a new output file was written.
Exercise 2.3:
Using the filesystem diagram in the lesson (https://jyalim.github.io/agave-shell-novice/fig/filesystem-challenge.svg ), if "pwd" displays "/Users/thing", what will "ls -F ../backup" display? (Select 1, 2, 3, or 4 from the options below by annotating an x to the right of the list item.)
../backup: No such file or directory2012-12-01 2013-01-08 2013-01-272012-12-01/ 2013-01-08/ 2013-01-27/original/ pnas_final/ pnas_sub/
Morning Break (10:30 -- 11:00)
LESSON 3: Working with Files and Directories
https://jyalim.github.io/agave-shell-novice/03-create/index.html
Protip: `tree -d` to list filesystem as a tree! (Careful using this on directories with a lot of subdirectories or files)
Exercise 3.1: Moving Files to a new Folder
Conversation: git is distributed version control software (VCS) that may be used in streamlining source code development with Agave.
Exercise 3.2: List filenames matching a pattern
LESSON 4: Pipes and Filters
https://jyalim.github.io/agave-shell-novice/04-pipefilter/index.html
Lunch Break (12:30 -- 13:20)
LESSON 5: Loops
https://jyalim.github.io/agave-shell-novice/05-loop/index.html
Exercise 5.1:
Output of loop 1:
cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb
cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb
cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb
cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb
cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb
cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb propane.pdb
Output of loop 2:
cubane.pdb
ethane.pdb
methane.pdb
octane.pdb
pentane.pdb
propane.pdb
LESSON 6: Shell Scripts
https://jyalim.github.io/agave-shell-novice/06-script/index.html
LESSON 7: Finding Things
https://jyalim.github.io/agave-shell-novice/07-find/index.html
LESSON 8: Using the Scheduler
https://jyalim.github.io/agave-shell-novice/08-slurm/index.html