Use your own!
Consistency is what matters
The Command Line and Remote Servers
EDS 214: Analytical Workflows and Scientific Reproducibility
Day 2 Morning | August 26th, 2025
This morning, you’ll learn:
Why not a GUI?
Graphical User Interface (GUI)
Command Line Interface (CLI)
Are the trade-offs worth it? For some scientists, maybe not. But for a data scientist, DEFINITELY.
Terminals and shells
Terminal
Shell
You will often see Terminal and Shell used interchangeably. This can get confusing. It helps to see them in action. Let’s try it out!
Terminal and shell demo
pwd - print working directoryls - list files in the current directoryls -l - long listing formatls -a - show hidden filesls -la - both!Onions have layers

Key shell commands
Navigation & File System
pwd - know where you arels (with -l, -a flags) - see what’s therecd - move around (including cd ~, cd ..)mkdir - create directoriesrmdir - remove directories (only if empty)File Operations
touch - create filescp - copy files/directoriesmv - move/rename filesrm - delete files (no recycle bin!)cat - view file contentsCustomizing commands
command [options] [arguments]
command - the command you want to run (e.g., ls)options - flags that modify the command’s behavior (e.g., -l, -a)arguments - the files or directories the command should operate on (e.g., mydir/)CLI challenge part 1
Do the following in your terminal. Make a note of your answers in a text file.
Create the following directory structure on your computer using the command line only.
renewable-energy
├── capacity
│ ├── san-luis-obispo.csv
│ ├── santa-barbara.csv
│ └── ventura.csv
└── usage
├── san-luis-obispo.csv
├── santa-barbara.csv
└── ventura.csv
Now, delete the capacity/ folder and rename usage/ to data/.
Use ls -l data to check the contents of your directory. Answer the following questions.
ls -l data, what parts correspond to the argument, option, and command?CLI challenge part 2
From the renewable-energy directory, run the following commands:
Answer the following questions.
CLI review
Terminal The program you type commands into
Shell The program that runs the commands
command [options] [arguments]
pwd
mv foo.R bar.R
ls -la data/
Flowchart best practices
Which is quicker to understand?
1. Read in the data
- There are three CSV files in the data/ folder
2. Clean the data
- Convert date to YYYY-MM-DD using as.Date()
3. Process the measurements
- The units are all consistent, but the temporal sampling isn't
4. Visualize the results
- I think the data frame needs to be pivoted from wide to long

Flowchart best practices
Do:
Why?
Flowchart best practices
My system:

Use your own!
Consistency is what matters
Up next
Use the CLI to interact with a remote server.