31 KiB
Installed Applications Guide
This document provides an overview of all applications installed by the Ansible playbook, organized by category with descriptions of their general use cases.
SSH & Security
openssh-server
Purpose: SSH daemon server for secure remote access
Use: Enables secure shell connections to your machine from other systems. Essential for remote development and server management.
Syntax: Service management via systemctl
Examples:
# Check SSH service status
sudo systemctl status ssh
# Start/stop/restart SSH service
sudo systemctl start ssh
sudo systemctl restart ssh
# Connect to remote server
ssh username@hostname
ssh -p 2222 user@server.com # Custom port
Documentation: OpenSSH Manual
ufw (Uncomplicated Firewall)
Purpose: Simple firewall management
Use: Protect your system by controlling incoming and outgoing network traffic with easy-to-understand rules.
Syntax: ufw [options] [rule]
Examples:
# Enable/disable firewall
sudo ufw enable
sudo ufw disable
# Allow/deny ports
sudo ufw allow 22 # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw deny 23 # Telnet
# Check status
sudo ufw status verbose
Documentation: UFW Documentation
fail2ban
Purpose: Intrusion prevention system
Use: Automatically bans IP addresses that show suspicious activity (like repeated failed login attempts).
Syntax: fail2ban-client [options]
Examples:
# Check status
sudo fail2ban-client status
# Check specific jail status
sudo fail2ban-client status sshd
# Unban an IP
sudo fail2ban-client set sshd unbanip 192.168.1.100
# Start/stop service
sudo systemctl restart fail2ban
Documentation: Fail2ban Manual
Base System Utilities
curl
Purpose: Command line HTTP client
Use: Download files, test APIs, send HTTP requests from the terminal. Essential for web development and scripting.
Syntax: curl [options] URL
Examples:
# Basic GET request
curl https://api.example.com
# POST with JSON data
curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com
# Download file
curl -O https://example.com/file.zip
# Follow redirects and show headers
curl -L -I https://example.com
Documentation: curl Manual
wget
Purpose: Network downloader
Use: Download files from web servers, supports resume and recursive downloads. Great for downloading large files or mirroring websites.
Syntax: wget [options] URL
Examples:
# Download a file
wget https://example.com/file.zip
# Resume interrupted download
wget -c https://example.com/largefile.iso
# Download recursively (mirror site)
wget -r -np -k https://example.com/
# Download in background
wget -b https://example.com/file.zip
Documentation: GNU Wget Manual
unzip
Purpose: Archive extraction utility
Use: Extract ZIP archives from command line. Useful for downloaded software packages and file transfers.
Syntax: unzip [options] archive.zip
Examples:
# Extract all files
unzip archive.zip
# Extract to specific directory
unzip archive.zip -d /target/directory
# List contents without extracting
unzip -l archive.zip
# Extract specific file
unzip archive.zip file.txt
Documentation: unzip Manual
xclip
Purpose: Clipboard utility for X11
Use: Copy and paste text between terminal and GUI applications. Integrates command line output with desktop clipboard.
Syntax: xclip [options]
Examples:
# Copy file contents to clipboard
xclip -sel clip < file.txt
# Copy command output to clipboard
echo "Hello World" | xclip -selection clipboard
# Paste from clipboard
xclip -o -sel clip
# Copy SSH public key
cat ~/.ssh/id_rsa.pub | xclip -sel clip
Documentation: xclip Manual
tree
Purpose: Directory tree display utility
Use: Visualize directory structures in a tree format. Helpful for understanding project layouts and file organization.
Syntax: tree [options] [directory]
Examples:
# Show current directory tree
tree
# Show tree with file sizes
tree -h
# Limit depth to 2 levels
tree -L 2
# Show only directories
tree -d
# Exclude certain patterns
tree -I 'node_modules|*.pyc'
Documentation: tree Manual
Network & Admin Tools
net-tools
Purpose: Network configuration tools (ifconfig, netstat, etc.)
Use: Traditional network troubleshooting and configuration. View network interfaces, routing tables, and connection statistics.
Syntax: Various commands included
Examples:
# Show network interfaces
ifconfig
ifconfig eth0 # Specific interface
# Show network connections
netstat -tuln # TCP/UDP listening ports
netstat -i # Interface statistics
# Show routing table
route -n
# Show ARP table
arp -a
Documentation: net-tools Documentation
mailutils
Purpose: Mail handling utilities
Use: Send and manage emails from command line. Useful for system notifications and automated email tasks.
Syntax: mail [options] recipient
Examples:
# Send simple email
echo "Message body" | mail -s "Subject" user@example.com
# Send email with attachment
mail -s "Subject" -A /path/to/file user@example.com < message.txt
# Check mail
mail
# Send email from script
echo "Server backup completed" | mail -s "Backup Status" admin@company.com
Documentation: GNU Mailutils Manual
Monitoring & System Tools
iotop
Purpose: I/O usage monitoring
Use: Monitor disk read/write activity by process. Essential for diagnosing performance issues and identifying I/O bottlenecks.
Syntax: iotop [options]
Examples:
# Monitor I/O in real-time
sudo iotop
# Show only processes doing I/O
sudo iotop -o
# Show accumulated I/O
sudo iotop -a
# Non-interactive mode
sudo iotop -b -n 3
Documentation: iotop Manual
nethogs
Purpose: Network bandwidth monitoring per process
Use: See which applications are using network bandwidth in real-time. Great for troubleshooting network performance.
Syntax: nethogs [options] [device]
Examples:
# Monitor network usage
sudo nethogs
# Monitor specific interface
sudo nethogs eth0
# Monitor with delay in seconds
sudo nethogs -d 5
# Monitor multiple interfaces
sudo nethogs eth0 wlan0
Documentation: nethogs GitHub
logwatch
Purpose: Log analysis and reporting
Use: Automatically analyze system logs and generate summary reports. Helps identify security issues and system problems.
Syntax: logwatch [options]
Examples:
# Generate today's report
logwatch --detail low --mailto admin@example.com --service all
# Generate report for specific date range
logwatch --range yesterday
logwatch --range "2024-01-01 - 2024-01-07"
# Generate detailed SSH report
logwatch --service sshd --detail high
# Test configuration
logwatch --print
Documentation: Logwatch Documentation
Modern CLI Tools
jq
Purpose: JSON processor
Use: Parse, filter, and manipulate JSON data from command line. Essential for API development and data processing.
Syntax: jq [options] filter [file]
Examples:
# Pretty print JSON
echo '{"name":"John","age":30}' | jq .
# Extract specific field
echo '{"name":"John","age":30}' | jq '.name'
# Filter array elements
echo '[{"name":"John"},{"name":"Jane"}]' | jq '.[0]'
# Use with curl
curl -s https://api.github.com/users/octocat | jq '.login'
Documentation: jq Manual
ripgrep (rg)
Purpose: Fast text search tool
Use: Search for text patterns in files and directories. Much faster than traditional grep, especially for large codebases.
Syntax: rg [options] pattern [path]
Examples:
# Basic search
rg "function"
# Search in specific file types
rg "TODO" --type js
# Case insensitive search
rg -i "error"
# Search with context lines
rg -A 3 -B 3 "function main"
# Search and replace preview
rg "old_name" --replace "new_name" --passthru
Documentation: ripgrep User Guide
fd-find (fd)
Purpose: Modern file finder
Use: Find files and directories with intuitive syntax and fast performance. Better alternative to traditional find command.
Syntax: fd [options] pattern [path]
Examples:
# Find files by name
fd config
# Find files by extension
fd -e js
# Find directories only
fd -t d bin
# Exclude hidden files
fd --no-hidden config
# Execute command on results
fd -e log -x rm {}
Documentation: fd GitHub
Shell & Terminal
zsh
Purpose: Z shell - advanced shell
Use: Enhanced shell with better tab completion, history, and scripting capabilities compared to bash.
Syntax: Interactive shell and scripting
Examples:
# Switch to zsh
zsh
# Set as default shell
chsh -s $(which zsh)
# Zsh-specific features
setopt AUTO_CD # cd by typing directory name
setopt HIST_IGNORE_DUPS # ignore duplicate commands
# Advanced globbing
ls **/*.txt # recursive file matching
ls *.txt~backup.txt # exclude pattern
Documentation: Zsh Manual
tmux
Purpose: Terminal multiplexer
Use: Run multiple terminal sessions in one window, detach/reattach sessions, and split terminals. Essential for remote work.
Syntax: tmux [command]
Examples:
# Start new session
tmux new-session -s mysession
# List sessions
tmux list-sessions
# Attach to session
tmux attach-session -t mysession
# Key bindings (default prefix Ctrl+b)
# Ctrl+b % - split vertically
# Ctrl+b " - split horizontally
# Ctrl+b d - detach session
Documentation: tmux Manual
Oh My Zsh
Purpose: Zsh framework
Use: Provides themes, plugins, and configurations for zsh. Makes the shell more user-friendly and productive.
Syntax: Configuration via ~/.zshrc
Examples:
# Update Oh My Zsh
omz update
# Change theme in ~/.zshrc
ZSH_THEME="agnoster"
# Enable plugins in ~/.zshrc
plugins=(git docker kubectl node npm)
# Reload configuration
source ~/.zshrc
Documentation: Oh My Zsh Wiki
Essential Oh My Zsh Plugins Guide
The following plugins significantly enhance your shell experience. Add them to your ~/.zshrc file:
plugins=(git sudo z colored-man-pages fzf zsh-syntax-highlighting zsh-autosuggestions web-search copypath)
git
Purpose: Git integration and aliases
Usage: Provides shortcuts and status information for Git repositories
# Aliases provided:
ga # git add
gst # git status
gc # git commit
gp # git push
gl # git pull
gco # git checkout
gbr # git branch
# Branch info in prompt automatically shown
# Works in any Git repository
sudo
Purpose: Easily retry commands with sudo
Usage: Press ESC twice to add sudo to the beginning of current command
# Type a command that needs sudo
apt update
# Press ESC ESC to get:
sudo apt update
# Also works with previous command
# Just press ESC ESC on empty line
z
Purpose: Smart directory jumping based on frequency
Usage: Jump to frequently used directories with partial names
# After visiting directories, z learns your patterns
cd ~/Documents/code/projects/myapp
cd ~/Downloads
cd ~/Documents/code/projects/myapp # visited again
# Later, jump directly:
z myapp # jumps to ~/Documents/code/projects/myapp
z doc # jumps to ~/Documents
z proj # jumps to ~/Documents/code/projects
# List all tracked directories
z -l
colored-man-pages
Purpose: Colorized manual pages for better readability
Usage: Automatic - man pages now have syntax highlighting
# Before: plain black and white
man ls
# After: colored sections, options, and examples
# Headers in bold, options in different colors
# Much easier to read and navigate
fzf
Purpose: Fuzzy finder integration
Usage: Enhanced search and selection with fuzzy matching
# Reverse search with fuzzy matching
Ctrl+R # Search command history with fuzzy finder
# File/directory selection
Ctrl+T # Insert selected files/directories into command line
Alt+C # cd into selected directory
# Example workflow:
vim **<TAB> # Opens fzf to select file
ssh **<TAB> # Select from SSH hosts
kill -9 **<TAB> # Select process to kill
zsh-syntax-highlighting
Purpose: Real-time syntax highlighting in terminal
Usage: Automatic - commands are highlighted as you type
# Valid commands: green
ls -la # Appears in green as you type
# Invalid commands: red
invalidcommand # Appears in red
# Strings and paths: different colors
echo "hello" # String in quotes highlighted
cat /etc/hosts # Valid path highlighted differently
zsh-autosuggestions
Purpose: Fish-like autosuggestions based on history
Usage: Suggestions appear in gray text as you type
# Start typing a command you've used before:
git sta
# Suggestion appears: git status (in gray)
# Accept suggestion:
→ (Right arrow) # Accept entire suggestion
Ctrl+→ # Accept one word
# Example:
git s # Shows: git status
→ # Completes to: git status
web-search
Purpose: Search the web directly from terminal
Usage: Quick web searches with predefined engines
# Search Google
google "zsh plugins"
google terminal tricks
# Search GitHub
github "oh my zsh themes"
# Search Stack Overflow
stackoverflow "bash vs zsh"
# Search YouTube
youtube "linux tutorials"
# Other engines available:
duckduckgo "privacy search"
bing "microsoft docs"
yahoo "old school search"
copypath
Purpose: Copy current path or file paths to clipboard
Usage: Quickly copy paths for use in other applications
# Copy current directory path
copypath
# Copy specific file/directory path
copypath ~/.zshrc
copypath ~/Documents/project
# Useful for:
# - Pasting paths into file dialogs
# - Sharing directory locations
# - Documentation and notes
Plugin Installation & Configuration
- Edit your zsh configuration:
vim ~/.zshrc
# or
nano ~/.zshrc
- Add plugins to the plugins array:
plugins=(git sudo z colored-man-pages fzf zsh-syntax-highlighting zsh-autosuggestions web-search copypath)
- Install additional plugins (if needed):
# For zsh-syntax-highlighting (if not included)
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# For zsh-autosuggestions (if not included)
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
- Reload your configuration:
source ~/.zshrc
# or
exec zsh
Pro Tips
- Customize suggestion color:
# Add to ~/.zshrc
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#666666"
- Configure fzf colors:
# Add to ~/.zshrc
export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --border"
- Z plugin tips:
# Use with other commands
vim $(z -e myproject) # Edit files in frequent directory
Documentation: Oh My Zsh Wiki
Powerlevel10k
Purpose: Zsh theme
Use: Modern, fast, and informative shell prompt with Git status, execution time, and system information.
Syntax: Configuration wizard and manual config
Examples:
# Run configuration wizard
p10k configure
# Reload theme
exec zsh
# Enable instant prompt in ~/.zshrc
# Enable Powerlevel10k instant prompt (add to top of ~/.zshrc)
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
Documentation: Powerlevel10k GitHub
Development Tools
git
Purpose: Version control system
Use: Track code changes, collaborate with teams, and manage project history. Fundamental tool for software development.
Syntax: git [command] [options]
Examples:
# Basic workflow
git init
git add .
git commit -m "Initial commit"
git push origin main
# Branching
git branch feature-branch
git checkout feature-branch
git merge main
# Status and logs
git status
git log --oneline
git diff
Documentation: Git Documentation
nodejs
Purpose: JavaScript runtime
Use: Run JavaScript applications outside the browser. Essential for modern web development and tooling.
Syntax: node [options] script.js
Examples:
# Run JavaScript file
node app.js
# Interactive REPL
node
# Check version
node --version
# Run with specific flags
node --inspect app.js # Enable debugger
node --max-old-space-size=4096 app.js # Increase memory
Documentation: Node.js Documentation
npm
Purpose: Node.js package manager
Use: Install, manage, and publish JavaScript packages. Central tool for Node.js ecosystem.
Syntax: npm [command] [options]
Examples:
# Initialize project
npm init -y
# Install packages
npm install express
npm install -g nodemon # Global install
npm install --save-dev jest # Development dependency
# Run scripts
npm start
npm test
npm run build
# Package management
npm list
npm outdated
npm update
Documentation: npm Documentation
build-essential
Purpose: Essential build tools (gcc, make, etc.)
Use: Compile software from source code. Required for building many applications and development tools.
Syntax: Various compilation tools
Examples:
# Compile C program
gcc -o program program.c
# Use make with Makefile
make
make install
make clean
# Check installed tools
gcc --version
make --version
g++ --version
# Compile C++ program
g++ -o program program.cpp
Documentation: GCC Manual
python3
Purpose: Python 3 interpreter
Use: Run Python applications and scripts. Popular language for automation, data science, and web development.
Syntax: python3 [options] script.py
Examples:
# Run Python script
python3 script.py
# Interactive interpreter
python3
# Run module as script
python3 -m http.server 8000
python3 -m json.tool file.json # Pretty print JSON
# Check version
python3 --version
# Run with specific flags
python3 -u script.py # Unbuffered output
Documentation: Python Documentation
python3-pip
Purpose: Python package installer
Use: Install and manage Python packages from PyPI repository. Essential for Python development.
Syntax: pip3 [command] [options]
Examples:
# Install packages
pip3 install requests
pip3 install -r requirements.txt
pip3 install --user package_name # User install
# Package management
pip3 list
pip3 show requests
pip3 freeze > requirements.txt
# Upgrade packages
pip3 install --upgrade package_name
pip3 install --upgrade pip
# Uninstall
pip3 uninstall package_name
Documentation: pip Documentation
Docker Ecosystem
apt-transport-https
Purpose: APT HTTPS transport
Use: Enables package manager to download packages over HTTPS for security.
Syntax: Used automatically by APT
Examples:
# APT will automatically use HTTPS transport when configured
# No direct commands - enables secure package downloads
# Check if HTTPS transport is available
apt list --installed | grep apt-transport-https
# Used in repository configuration
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/docker.list
Documentation: APT Documentation
ca-certificates
Purpose: Certificate authorities
Use: Trusted certificates for verifying SSL/TLS connections.
Syntax: Managed by system
Examples:
# Update certificate store
sudo update-ca-certificates
# Add custom certificate
sudo cp custom-cert.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
# Check certificate details
openssl x509 -in /etc/ssl/certs/ca-certificates.crt -text -noout
# Verify SSL connection
openssl s_client -connect example.com:443 -CAfile /etc/ssl/certs/ca-certificates.crt
Documentation: ca-certificates Manual
gnupg
Purpose: GNU Privacy Guard
Use: Encrypt, decrypt, and sign data. Used for package verification and secure communications.
Syntax: gpg [options] [files]
Examples:
# Generate key pair
gpg --gen-key
# List keys
gpg --list-keys
gpg --list-secret-keys
# Encrypt/decrypt files
gpg --encrypt --recipient user@example.com file.txt
gpg --decrypt file.txt.gpg
# Add repository key (common for package management)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Documentation: GnuPG Manual
lsb-release
Purpose: Linux Standard Base release info
Use: Provides system information for scripts and applications to determine OS version.
Syntax: lsb_release [options]
Examples:
# Show all information
lsb_release -a
# Show distribution ID
lsb_release -i
# Show release number
lsb_release -r
# Show codename
lsb_release -c
# Used in scripts
if [ "$(lsb_release -si)" = "Ubuntu" ]; then
echo "Running on Ubuntu"
fi
Documentation: lsb_release Manual
docker-ce
Purpose: Docker Community Edition engine
Use: Core Docker runtime for creating and running containers.
Syntax: docker [command] [options]
Examples:
# Basic container operations
docker run hello-world
docker run -it ubuntu bash
docker run -d -p 80:80 nginx
# Container management
docker ps # List running containers
docker ps -a # List all containers
docker stop container_id
docker rm container_id
# Image management
docker images
docker pull ubuntu:latest
docker build -t myapp .
Documentation: Docker Documentation
docker-ce-cli
Purpose: Docker command line interface
Use: Command-line tools for interacting with Docker engine.
Syntax: Same as docker-ce (provides the docker command)
Examples:
# All docker commands come from docker-ce-cli
# See docker-ce section for examples
# Check CLI version
docker version --format '{{.Client.Version}}'
# CLI-specific features
docker --help
docker system info
docker system df # Show disk usage
Documentation: Docker CLI Reference
containerd.io
Purpose: Container runtime
Use: Low-level container runtime that Docker uses to manage containers.
Syntax: ctr [options] [command] (advanced usage)
Examples:
# Check containerd status
sudo systemctl status containerd
# Direct containerd commands (advanced)
sudo ctr images list
sudo ctr containers list
# Usually managed by Docker daemon
# Most users interact through docker commands
# Check containerd version
containerd --version
Documentation: containerd Documentation
docker-buildx-plugin
Purpose: Docker Buildx plugin
Use: Advanced Docker build features including multi-platform builds and build caching.
Syntax: docker buildx [command] [options]
Examples:
# Create and use builder
docker buildx create --name mybuilder --use
# Multi-platform build
docker buildx build --platform linux/amd64,linux/arm64 -t myapp .
# Build with cache
docker buildx build --cache-from type=local,src=/tmp/cache --cache-to type=local,dest=/tmp/cache .
# List builders
docker buildx ls
# Inspect build
docker buildx imagetools inspect myapp:latest
Documentation: Docker Buildx Documentation
docker-compose-plugin
Purpose: Docker Compose plugin
Use: Define and run multi-container Docker applications using YAML configuration files.
Syntax: docker compose [command] [options]
Examples:
# Start services defined in docker-compose.yml
docker compose up
docker compose up -d # Detached mode
# Stop and remove services
docker compose down
# View logs
docker compose logs
docker compose logs service_name
# Scale services
docker compose up --scale web=3
# Build services
docker compose build
Documentation: Docker Compose Documentation
Desktop Applications
redshift
Purpose: Blue light filter
Use: Automatically adjust screen color temperature based on time of day to reduce eye strain.
Syntax: redshift [options]
Examples:
# Start redshift with location
redshift -l 40.7:-74.0 # NYC coordinates
# Run once (no continuous adjustment)
redshift -O 3000
# Reset to normal
redshift -x
# Run in background
redshift &
Documentation: Redshift Manual
libreoffice
Purpose: Office suite
Use: Open-source alternative to Microsoft Office with word processing, spreadsheets, and presentations.
Syntax: libreoffice [options] [file]
Examples:
# Open LibreOffice start center
libreoffice
# Open specific applications
libreoffice --writer document.odt
libreoffice --calc spreadsheet.ods
libreoffice --impress presentation.odp
# Convert documents
libreoffice --convert-to pdf document.docx
libreoffice --headless --convert-to pdf *.docx
Documentation: LibreOffice Help
evince
Purpose: PDF viewer
Use: View and navigate PDF documents with search and annotation capabilities.
Syntax: evince [options] [file]
Examples:
# Open PDF file
evince document.pdf
# Open at specific page
evince --page-index=5 document.pdf
# Open in fullscreen
evince --fullscreen document.pdf
# Print document
evince --preview document.pdf
Documentation: Evince Manual
brave-browser
Purpose: Privacy-focused web browser
Use: Web browsing with built-in ad blocking, tracking protection, and privacy features.
Syntax: brave-browser [options] [URL]
Examples:
# Start Brave browser
brave-browser
# Open specific URL
brave-browser https://example.com
# Open in incognito mode
brave-browser --incognito
# Open with specific profile
brave-browser --profile-directory="Profile 1"
# Disable web security (development)
brave-browser --disable-web-security --user-data-dir="/tmp/brave"
Documentation: Brave Support
Snap Packages
snapd
Purpose: Snap package daemon
Use: System service that manages snap packages - universal Linux packages with automatic updates.
Syntax: snap [command] [options]
Examples:
# Search for snaps
snap find code
snap find --category=development
# Install/remove snaps
snap install code --classic
snap remove code
# List installed snaps
snap list
# Update snaps
snap refresh
snap refresh code # Update specific snap
# Check snap info
snap info code
Documentation: Snap Documentation
yq
Purpose: YAML processor
Use: Parse, filter, and manipulate YAML data from command line. Complement to jq for YAML files.
Syntax: yq [options] expression [file]
Examples:
# Read YAML value
yq '.database.host' config.yaml
# Update YAML value
yq '.database.port = 5432' config.yaml
# Convert YAML to JSON
yq -o json config.yaml
# Filter arrays
yq '.services[] | select(.name == "web")' docker-compose.yml
# Merge YAML files
yq eval-all 'select(fileIndex == 0) * select(fileIndex == 1)' file1.yml file2.yml
Documentation: yq Documentation
btop
Purpose: Modern system monitor
Use: Beautiful, feature-rich system monitor showing CPU, memory, disk, and network usage with an intuitive interface.
Syntax: btop [options]
Examples:
# Start btop
btop
# Key bindings within btop:
# q - quit
# h - help
# + - add shown information
# - - subtract shown information
# f - filter processes
# t - tree view
# m - memory view
# ESC - clear filter/reset
Documentation: btop GitHub
code (Visual Studio Code)
Purpose: IDE/code editor
Use: Popular, extensible code editor with debugging, Git integration, and extensive plugin ecosystem.
Syntax: code [options] [file/directory]
Examples:
# Open file or directory
code .
code file.txt
code /path/to/project
# Open with specific options
code --new-window project/
code --goto file.js:10:5 # Go to line 10, column 5
code --diff file1.txt file2.txt
# Extensions management
code --install-extension ms-python.python
code --list-extensions
Documentation: VS Code Documentation
cursor
Purpose: AI-powered code editor
Use: Modern code editor with built-in AI assistance for code completion, generation, and refactoring.
Syntax: cursor [options] [file/directory]
Examples:
# Open file or directory
cursor .
cursor file.txt
cursor /path/to/project
# AI features (within editor):
# Ctrl+K - AI chat/commands
# Ctrl+L - AI inline suggestions
# Ctrl+I - AI code generation
# Tab - Accept AI suggestion
Documentation: Cursor Documentation
Getting Started
Most command-line tools are immediately available after installation. For desktop applications, you can find them in your application launcher.
Quick Command Examples
- Monitor system:
btoporiotop - Search files:
fd filenameorrg "search term" - Process JSON:
curl api.example.com | jq '.data' - Start development server in tmux:
tmux new-session -d -s dev - Check Docker status:
docker --version && docker ps
Configuration Tips
- Customize zsh with
~/.zshrc - Configure tmux with
~/.tmux.conf - Set up Git aliases for common operations
- Use Docker Compose for multi-container applications