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 Terms

Understanding your AI shell companion

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.