---
title: "Glossary: Terminal & Unix Terms Explained"
description: "Your friendly guide to terminal, shell, and Unix terminology. Bite-sized explanations of POSIX commands, shell concepts, and Caro features for everyone."
url: "https://caro.sh/glossary"
markdown_url: "https://caro.sh/glossary.md"
lang: "en"
type: "website"
image: "https://caro.sh/og/glossary.png"
---

Terminal Galore

# The Friendly Terminal Glossary

Unix & shell concepts made simple

Whether you're just starting your terminal journey or brushing up on fundamentals, this glossary breaks down commands, concepts, and Caro features into easy-to-digest bites. **Terminal knowledge for everyone.**

[Caro](https://caro.sh/glossary#caro-terms) [Shell Basics](https://caro.sh/glossary#shell-basics) [Files & Dirs](https://caro.sh/glossary#file-commands) [Text Processing](https://caro.sh/glossary#text-processing) [Permissions](https://caro.sh/glossary#permissions) [Processes](https://caro.sh/glossary#processes) [Networking](https://caro.sh/glossary#networking) [Shortcuts](https://caro.sh/glossary#shortcuts)

🥕

## Caro Terms

Understanding your AI shell companion

### Caro

Core

Your AI-powered shell command assistant. Caro translates natural language into safe, executable shell commands. Think of it as having a Unix expert by your side.

`caro "find all large files over 100MB"`

### Safety Validation

Safety

Caro's built-in protection that analyzes commands before execution. It catches dangerous patterns like `rm -rf /` and asks for confirmation on risky operations.

### Backend

Config

The AI engine powering Caro's language understanding. Options include local models (Ollama, MLX) for privacy or cloud APIs (Claude, OpenAI) for power.

### Dry Run

Safety

Preview mode that shows what a command would do without actually executing it. Perfect for learning or verifying complex operations.

`caro --dry-run "delete all temp files"`

### Interactive Mode

Feature

A conversational shell session where you can ask follow-up questions, refine commands, and explore options naturally.

### Local Inference

Privacy

Running AI models directly on your machine. Your commands and data never leave your computer—perfect for sensitive work environments.

🐚

## Shell Basics

The foundation of command-line mastery

### Shell

Essential

The program that interprets your commands. Common shells include **bash**, **zsh**, and **fish**. It's the interface between you and the operating system.

### Terminal

Essential

The window application that displays your shell. Examples: Terminal.app, iTerm2, Windows Terminal, or Alacritty. The terminal is the container; the shell runs inside it.

### CLI

Acronym

**Command Line Interface**. Any program you interact with by typing commands rather than clicking. Git, npm, docker—all CLIs.

### POSIX

Standard

**Portable Operating System Interface**. A set of standards ensuring commands work consistently across Unix-like systems (Linux, macOS, BSD).

### Prompt

UI

The text that appears before your cursor, indicating the shell is ready for input. Often shows username, hostname, and current directory: `user@host:~$`

### PATH

Environment

An environment variable listing directories where the shell looks for executable programs. When you type `git`, the shell searches PATH to find it.

`echo $PATH`

### Environment Variable

Concept

Named values available to all programs. Used for configuration like API keys, paths, and preferences. Access with `$VARIABLE_NAME`.

`export MY_VAR="hello"`

### Alias

Shortcut

A custom shortcut for a longer command. Define frequently used commands once, use a short name forever.

`alias ll="ls -la"`

📁

## Files & Directories

Navigate and manage your filesystem

### ls

Command

**List** directory contents. The first command everyone learns.

`ls -la` List all files with details

### cd

Command

**Change Directory**. Navigate between folders.

`cd ~/Documents` Go to Documents folder

### pwd

Command

**Print Working Directory**. Shows your current location.

`pwd` Output: /home/user/projects

### mkdir

Command

**Make Directory**. Create new folders.

`mkdir -p path/to/new` Create nested directories

### rm

Command

**Remove**. Delete files or directories. *Use with caution!*

`rm -i file.txt` Delete with confirmation

### cp

Command

**Copy**. Duplicate files or directories.

`cp -r src/ dest/` Copy directory recursively

### mv

Command

**Move**. Relocate or rename files/directories.

`mv old.txt new.txt` Rename a file

### touch

Command

Create empty files or update timestamps.

`touch newfile.txt` Create empty file

### find

Command

Search for files by name, type, size, date, and more.

`find . -name "*.js"` Find all JavaScript files

**Pro Tip:** Use `~` for home directory, `.` for current, `..` for parent, and `-` for previous directory.

📝

## Text Processing

Search, filter, and transform text like a pro

### cat

Command

**Concatenate**. Display file contents or combine multiple files.

`cat file.txt` Show file contents

### grep

Command

**Global Regular Expression Print**. Search text using patterns. One of the most powerful Unix tools.

`grep -r "TODO" ./src` Find all TODOs in source code

### sed

Command

**Stream Editor**. Find and replace text, or transform streams with powerful pattern matching.

`sed 's/old/new/g' file` Replace all occurrences

### awk

Command

A complete text-processing language. Extract columns, compute values, and format output from structured data.

`awk '{ print $1 }' file` Print first column

### head / tail

Command

View the beginning or end of files. Great for logs and large files.

`tail -f app.log` Follow log in real-time

### sort / uniq

Command

Sort lines and filter duplicates. Often used together in pipelines.

`sort file | uniq -c` Count unique lines

### wc

Command

**Word Count**. Count lines, words, and bytes in files.

`wc -l *.txt` Count lines in all text files

### Pipe ( | )

Operator

Connect commands together. Output of one command becomes input to the next. The secret sauce of Unix philosophy.

`cat log | grep error | wc -l` Count error lines in log

🔐

## Permissions & Ownership

Control who can do what with your files

### chmod

Command

**Change Mode**. Modify file permissions (read, write, execute) for owner, group, and others.

`chmod +x script.sh` Make script executable

### chown

Command

**Change Owner**. Transfer file ownership to another user or group.

`chown user:group file` Change owner and group

### sudo

Command

**Superuser Do**. Run commands with administrator privileges. With great power comes great responsibility.

`sudo apt update` Update as administrator

### Permission Numbers

Concept

Octal notation for permissions: **4**=read, **2**=write, **1**=execute. Combine for each group (owner/group/others).

`chmod 755 script.sh` rwxr-xr-x (owner all, others read+execute)

#### Quick Permission Reference

777 Everyone can do everything (rarely safe)

755 Owner all, others read & execute (executables)

644 Owner read & write, others read (files)

600 Owner only read & write (private files)

⚙️

## Processes & Jobs

Manage running programs and background tasks

### ps

Command

**Process Status**. List running processes and their details.

`ps aux | grep node` Find all Node.js processes

### top / htop

Command

Real-time process monitor. See CPU, memory usage, and manage processes interactively. htop is the colorful modern version.

### kill

Command

Send signals to processes. Commonly used to terminate misbehaving programs.

`kill -9 12345` Force kill process 12345

### Background (&)

Operator

Run a command in the background, freeing up your terminal for other work.

`npm run dev &` Start server in background

### Ctrl+Z / fg / bg

Shortcuts

**Ctrl+Z** suspends current process. **fg** brings it back to foreground. **bg** resumes it in background.

### nohup

Command

**No Hangup**. Keep process running after you close the terminal.

`nohup ./server &` Run server persistently

🌐

## Networking

Connect, transfer, and debug network operations

### curl

Command

Transfer data from or to a server. The Swiss Army knife of HTTP requests.

`curl -X POST -d '{key":"val}' url` Send JSON POST request

### wget

Command

Download files from the web. Great for fetching resources and mirroring sites.

`wget -O file.zip url` Download with custom filename

### ssh

Command

**Secure Shell**. Connect to remote machines securely. The backbone of server administration.

`ssh user@hostname` Connect to remote server

### scp

Command

**Secure Copy**. Transfer files between machines over SSH.

`scp file.txt user@host:/path` Copy file to remote server

### ping

Command

Test network connectivity to a host. Sends packets and measures response time.

`ping google.com` Check internet connectivity

### netstat / ss

Command

Display network connections, routing tables, and port usage. `ss` is the modern replacement for `netstat`.

`ss -tulpn` Show listening ports

⌨️

## Keyboard Shortcuts

Speed up your terminal workflow

### Navigation

`Ctrl` + `A` Move to beginning of line

`Ctrl` + `E` Move to end of line

`Alt` + `B` Move back one word

`Alt` + `F` Move forward one word

### Editing

`Ctrl` + `U` Delete to beginning of line

`Ctrl` + `K` Delete to end of line

`Ctrl` + `W` Delete previous word

`Ctrl` + `Y` Paste deleted text (yank)

### Control

`Ctrl` + `C` Cancel current command

`Ctrl` + `D` Exit shell / End of input

`Ctrl` + `L` Clear screen

`Ctrl` + `Z` Suspend process

### History

`↑` / `↓` Previous / Next command

`Ctrl` + `R` Search command history

`!!` Repeat last command

`!$` Last argument of previous command

## Ready to Put This Knowledge to Use?

Let Caro translate your natural language into perfectly crafted shell commands. No more memorizing syntax—just describe what you want to do.

[Try Caro ](https://caro.sh/)[Explore Features](https://caro.sh/explore)
