# Command Line

## Objectives

* Define what a terminal window is
* Describe how to open an instance of the terminal window
* Identify commands used for navigating directories
* Use commands to manipulate files (moving, copying, editing, removing, creating)
* Distinguish between absolute and relative paths
* Apply commands towards everyday problems and workflows

## Living in the Command Line

Web programmers have to live on the command line. It gives us fast, reliable, and automatable control over computers. Web servers usually don't have graphical interfaces, so we need to interact with them through command line and programmatic interfaces. Once you become comfortable using the command line, staying on the keyboard will also help you keep an uninterrupted flow of work going without the disruption of shifting to the mouse.

Pretty cool, huh? Let's get started! But first...

**Important Note:** You should not copy / paste scripts from web pages and run them in your terminal until you have read them and understand what they do, bad things can happen, particularly with `sudo` and `su` commands.

Regarding scripts which you may find on the web while searching for solutions, assume they are going to do something bad.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tmdarneille.gitbook.io/seirfx/01-workflow/01readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
