> For the complete documentation index, see [llms.txt](https://romebell.gitbook.io/seirfx-621/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://romebell.gitbook.io/seirfx-621/development-workflow/01readme/05additional-topics.md).

# Additional Topics

## Tab Completion

Hitting `<TAB>` autocompletes what you're typing, based on the names of the files and directories in your current directory. Hit `<TAB>` constantly to make yourself more productive.

## Filename Wildcards

Sometimes we want to refer to a bunch of similar files, to do this we can use wildcards. Think of wildcards as placeholders for any text. The most common wildcard to use is `*` usually along with a file extension.

```
ls -la *.txt
```

The above command lists all files that end in `.txt`, but begin with anything.

## History

Lastly, there are a few different commands for checking your terminal's history. What have we been up to? Use the up and down arrow keys, or the `history` command.

```
<UP ARROW>

<UP ARROW>

<DOWN ARROW>

<DOWN ARROW>

history
```

## Environment Variables

Your current terminal session has variables called **environment variables**. There are really useful for storing commonly used commands and settings. Try typing `env` to view all of your environment variables.

You can also set your own environment variables in your shell's configuration file `~/.zshrc`. Storing the variables in the configuration file will load them for every session.

If you want to create a temporary environment variable, here's an example:

```
export MY_SETTING='subl .'
```

To access the variable:

```
$MY_SETTING
```

## Getting Help

For any command we discuss here, the command `man`, short for **manual**, will give a (hopefully) detailed explanation of that command. Sometimes that explanation will be too detailed for you. When you get lost in a man page and you want to understand it, start again from the beginning of of the **man page** and keep repeating. Hopefully you will get further into the page each time you read it.

Many third party commands also accept the --help option, but not all, but if you get stuck it can be worth a try. Most of the commands covered in this lesson overview do not support this feature. However, commands like `git` do!

## Useful Links

* [Terminal Cheat Sheet](https://github.com/0nn0/terminal-mac-cheatsheet)
  * You may want to start bookmarking this and other resources you find helpful
* [Different Flavors of Shells](http://www.tutorialspoint.com/unix/unix-shell.htm)
  * You can try entering these shells by typing their names
  * **Example:** `bash` opens the bash shell. Type `exit` to exit the shell
* [Command Line Crash Course](http://cli.learncodethehardway.org/book/)
  * A useful tutorial similar to ours, but with a few additional commands
* [File Permissions](http://en.flossmanuals.net/command-line/permissions/)
* [Shell Scripts](http://www.howtogeek.com/67469/the-beginners-guide-to-shell-scripting-the-basics/)
  * We won't cover this much, but there's a whole scripting language for running programs in the shell! Try going through this sometime to become a productivity mastermind.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://romebell.gitbook.io/seirfx-621/development-workflow/01readme/05additional-topics.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.
