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
Caro
CoreYour 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
ConfigThe AI engine powering Caro's language understanding. Options include local models (Ollama, MLX) for privacy or cloud APIs (Claude, OpenAI) for power.
Dry Run
SafetyPreview 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
FeatureA conversational shell session where you can ask follow-up questions, refine commands, and explore options naturally.
Local Inference
PrivacyRunning 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
EssentialThe program that interprets your commands. Common shells include bash, zsh, and fish. It's the interface between you and the operating system.
Terminal
EssentialThe 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
AcronymCommand Line Interface. Any program you interact with by typing commands rather than clicking. Git, npm, docker—all CLIs.
POSIX
StandardPortable 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
ShortcutA 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
CommandList directory contents. The first command everyone learns.
ls -la List all files with details cd
CommandChange Directory. Navigate between folders.
cd ~/Documents Go to Documents folder pwd
CommandPrint Working Directory. Shows your current location.
pwd Output: /home/user/projects mkdir
CommandMake Directory. Create new folders.
mkdir -p path/to/new Create nested directories rm
CommandRemove. Delete files or directories. Use with caution!
rm -i file.txt Delete with confirmation cp
CommandCopy. Duplicate files or directories.
cp -r src/ dest/ Copy directory recursively mv
CommandMove. Relocate or rename files/directories.
mv old.txt new.txt Rename a file touch
CommandCreate empty files or update timestamps.
touch newfile.txt Create empty file find
CommandSearch for files by name, type, size, date, and more.
find . -name "*.js" Find all JavaScript files ~ for home directory, . for current,
.. for parent, and - for previous directory.
Text Processing
Search, filter, and transform text like a pro
cat
CommandConcatenate. Display file contents or combine multiple files.
cat file.txt Show file contents grep
CommandGlobal 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
CommandStream Editor. Find and replace text, or transform streams with powerful pattern matching.
sed 's/old/new/g' file Replace all occurrences awk
CommandA complete text-processing language. Extract columns, compute values, and format output from structured data.
awk '{ print $1 }' file Print first column head / tail
CommandView the beginning or end of files. Great for logs and large files.
tail -f app.log Follow log in real-time sort / uniq
CommandSort lines and filter duplicates. Often used together in pipelines.
sort file | uniq -c Count unique lines wc
CommandWord Count. Count lines, words, and bytes in files.
wc -l *.txt Count lines in all text files Pipe ( | )
OperatorConnect 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
CommandChange Mode. Modify file permissions (read, write, execute) for owner, group, and others.
chmod +x script.sh Make script executable chown
CommandChange Owner. Transfer file ownership to another user or group.
chown user:group file Change owner and group sudo
CommandSuperuser Do. Run commands with administrator privileges. With great power comes great responsibility.
sudo apt update Update as administrator Permission Numbers
ConceptOctal 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) Processes & Jobs
Manage running programs and background tasks
ps
CommandProcess Status. List running processes and their details.
ps aux | grep node Find all Node.js processes top / htop
CommandReal-time process monitor. See CPU, memory usage, and manage processes interactively. htop is the colorful modern version.
kill
CommandSend signals to processes. Commonly used to terminate misbehaving programs.
kill -9 12345 Force kill process 12345 Background (&)
OperatorRun a command in the background, freeing up your terminal for other work.
npm run dev & Start server in background Ctrl+Z / fg / bg
ShortcutsCtrl+Z suspends current process. fg brings it back to foreground. bg resumes it in background.
nohup
CommandNo Hangup. Keep process running after you close the terminal.
nohup ./server & Run server persistently Networking
Connect, transfer, and debug network operations
curl
CommandTransfer 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
CommandDownload files from the web. Great for fetching resources and mirroring sites.
wget -O file.zip url Download with custom filename ssh
CommandSecure Shell. Connect to remote machines securely. The backbone of server administration.
ssh user@hostname Connect to remote server scp
CommandSecure Copy. Transfer files between machines over SSH.
scp file.txt user@host:/path Copy file to remote server ping
CommandTest 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
Editing
Control
History
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.