@@ -17,7 +17,7 @@ exercises: 0
1717
1818::::::::::::::::::::::::::::::::::::::::::::::::::
1919
20- ### Background
20+ ### What is the Shell?
2121
2222Humans and computers commonly interact in many different ways, such as through a keyboard and mouse,
2323touch screen interfaces, or using speech recognition systems.
@@ -26,52 +26,40 @@ The most widely used way to interact with personal computers is called a
2626With a GUI, we give instructions by clicking a mouse and using menu-driven interactions.
2727
2828While the visual aid of a GUI makes it intuitive to learn,
29- this way of delivering instructions to a computer scales very poorly.
29+ this way of interacting scales very poorly for some tasks.
30+
31+ A ** command-line interface** (CLI) allows users to to interact with computer by reading
32+ and writing text. It excels at making repetitive tasks automatic and fast.
33+
34+ A ** shell** is a particular program that lets you type commands.
35+ In this workshop, we will be using "Bash" which is the most popular Unix shell.
36+ Bash is often the default shell on Unix and in Unix-like tools for Windows.
37+
38+ ### Why use the shell?
39+
3040Imagine the following task:
3141for a literature search, you have to copy the third line of one thousand text files in one thousand
3242different directories and paste it into a single file.
43+
3344Using a GUI, you would not only be clicking at your desk for several hours,
3445but you could potentially also commit an error in the process of completing this repetitive task.
35- This is where we take advantage of the Unix shell.
36- The Unix shell is both a ** command-line interface** (CLI) and a scripting language,
37- allowing such repetitive tasks to be done automatically and fast.
38- With the proper commands, the shell can repeat tasks with or without some modification
39- as many times as we want.
40- Using the shell, the task in the literature example can be accomplished in seconds.
41-
42- ### The Shell
43-
44- The shell is a program where users can type commands.
45- With the shell, it's possible to invoke complicated programs like climate modeling software
46- or simple commands that create an empty directory with only one line of code.
47- The most popular Unix shell is Bash (the Bourne Again SHell ---
48- so-called because it's derived from a shell written by Stephen Bourne).
49- Bash is the default shell on most modern implementations of Unix and in most packages that provide
50- Unix-like tools for Windows.
51- Note that 'Git Bash' is a piece of software that enables Windows users to use a Bash like interface
52- when interacting with Git.
46+
47+ Using a CLI, you can write a series of commands that does this consistently and nearly instantly.
48+
49+ The shell can be used for simple tasks like creating an empty folder
50+ and for launching (even complex) programs with a single command.
51+ In fact, some tools and resources such as cloud computing systems
52+ usually require users to be familiar with the shell.
53+ Shell commands can be combined together and saved into reproducible * scripts*
54+ that handle large volumes of data automatically.
5355
5456Using the shell will take some effort and some time to learn.
55- While a GUI presents you with choices to select, CLI choices are not automatically presented to you,
56- so you must learn a few commands like new vocabulary in a language you're studying.
57- However, unlike a spoken language, a small number of "words" (i.e. commands) gets you a long way,
58- and we'll cover those essential few today.
59-
60- The grammar of a shell allows you to combine existing tools into powerful
61- pipelines and handle large volumes of data automatically. Sequences of
62- commands can be written into a * script* , improving the reproducibility of
63- workflows.
64-
65- In addition, the command line is often the easiest way to interact with remote machines
66- and supercomputers.
67- Familiarity with the shell is near essential to run a variety of specialized tools and resources
68- including high-performance computing systems.
69- As clusters and cloud computing systems become more popular for scientific data crunching,
70- being able to interact with the shell is becoming a necessary skill.
71- We can build on the command-line skills covered here
72- to tackle a wide range of scientific questions and computational challenges.
73-
74- Let's get started.
57+ While a GUI presents you with choices to select, CLI choices are not automatically presented to you.
58+ It can be daunting at first, but once you've come familliar with this different style
59+ of iteracting, you will be able to find and use the information you need to accomplish
60+ a huge variety of tasks.
61+
62+ ### Let's get started.
7563
7664When the shell is first opened, you are presented with a ** prompt** ,
7765indicating that the shell is waiting for input.
0 commit comments