📖 Guide

Rust — Complete Reference

Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, concurrency, and more.

137 commands across 12 categories

Basics

CommandDescription
let x = 5;
Immutable variable binding
let mut x = 5;
Mutable variable binding
const MAX: u32 = 100;
Compile-time constant (must be type-annotated)
static GLOBAL: &str = "hi";
Static variable with 'static lifetime
let x: i32 = 42;
Explicit type annotation
let (x, y) = (1, 2);
Destructuring assignment
let x = { let y = 5; y + 1 };
Block expression (last expression is the value)
fn add(a: i32, b: i32) -> i32 { a + b }
Function definition with return type
let s = String::from("hello");
Create owned String from string literal
println!("x = {x}, y = {}", y);
Print with inline and positional formatting
type Km = i32;
Type alias
let _ = expensive_call();
Discard a value (suppress unused warnings)

Ownership & Borrowing

CommandDescription
let s2 = s1;
Move ownership — s1 is no longer valid
let s2 = s1.clone();
Deep copy — both s1 and s2 are valid
fn foo(s: &String)
Immutable borrow (shared reference)
fn foo(s: &mut String)
Mutable borrow (exclusive reference)
let r = &x;
Create an immutable reference
let r = &mut x;
Create a mutable reference (x must be mut)
fn first(s: &str) -> &str
Lifetime elision — compiler infers lifetimes
fn foo<'a>(x: &'a str) -> &'a str
Explicit lifetime annotation
struct Foo<'a> { part: &'a str }
Struct holding a reference needs a lifetime parameter
'static
e.g. let s: &'static str = "hello";
Lifetime that lives for the entire program duration

Structs & Enums

CommandDescription
struct Point { x: f64, y: f64 }
Named-field struct
struct Color(u8, u8, u8);
Tuple struct
struct Unit;
Unit struct (zero-sized)
let p = Point { x: 1.0, y: 2.0 };
Struct instantiation
let p2 = Point { x: 3.0, ..p };
Struct update syntax (copy remaining fields)
impl Point { fn dist(&self) -> f64 { ... } }
Method definition with impl block
enum Direction { Up, Down, Left, Right }
Simple enum
enum Option<T> { Some(T), None }
Enum with data (generic)
enum Message { Quit, Move { x: i32, y: i32 }, Write(String) }
Enum variants can hold different types of data
#[derive(Debug, Clone, PartialEq)]
Auto-derive common traits for structs/enums

Pattern Matching

CommandDescription
match value { pattern => expr }
Match expression — must be exhaustive
match x { 1 => "one", 2 => "two", _ => "other" }
Match with wildcard catch-all
match pair { (0, y) => println!("y={y}"), _ => {} }
Destructure tuples in match
match opt { Some(x) => x, None => 0 }
Match on Option
match x { 1..=5 => "small", _ => "big" }
Range pattern (inclusive)
match x { n if n < 0 => "neg", _ => "pos" }
Match guard (extra condition)
match s { Point { x, y: 0 } => ... }
Destructure struct fields in match
if let Some(v) = optional { ... }
if let — match single pattern, ignore rest
while let Some(v) = stack.pop() { ... }
while let — loop while pattern matches
let (a, b, ..) = (1, 2, 3, 4);
Rest pattern — ignore remaining fields
match x { val @ 1..=5 => println!("{val}"), _ => {} }
@ binding — bind matched value to a name

Error Handling

CommandDescription
Result<T, E>
Type for recoverable errors: Ok(T) or Err(E)
Option<T>
Type for optional values: Some(T) or None
let f = File::open("a.txt")?;
? operator — propagate error to caller
.unwrap()
Get inner value or panic if Err/None
.expect("msg")
Like unwrap but with a custom panic message
.unwrap_or(default)
Get inner value or use provided default
.unwrap_or_else(|| compute())
Get inner value or compute default lazily
panic!("crash")
Unrecoverable error — unwind and abort
.map_err(|e| MyError::from(e))
Transform the error type of a Result
impl From<io::Error> for MyError { ... }
Enable automatic error conversion with ?
Box<dyn std::error::Error>
Trait object for any error type (quick prototyping)

Traits & Generics

CommandDescription
trait Summary { fn summarize(&self) -> String; }
Define a trait with a required method
impl Summary for Article { fn summarize(&self) -> String { ... } }
Implement a trait for a type
trait Summary { fn summarize(&self) -> String { String::from("...") } }
Trait with a default method implementation
fn notify(item: &impl Summary)
impl Trait syntax — accept any type implementing Summary
fn notify<T: Summary>(item: &T)
Trait bound syntax (equivalent to impl Trait)
fn foo<T: Clone + Debug>(x: T)
Multiple trait bounds with +
fn foo<T>(x: T) where T: Clone + Debug
where clause for cleaner bounds
fn largest<T: PartialOrd>(list: &[T]) -> &T
Generic function with trait bound
struct Wrapper<T> { value: T }
Generic struct
impl<T: Display> ToString for T { ... }
Blanket implementation
fn returns() -> impl Summary
Return an opaque type implementing a trait
dyn Trait
e.g. Box<dyn Summary>
Trait object for dynamic dispatch

Collections

CommandDescription
let v: Vec<i32> = Vec::new();
Create empty vector
let v = vec![1, 2, 3];
Create vector with macro
v.push(4);
Append element to vector
v.pop()
Remove and return last element (Option<T>)
&v[0] / v.get(0)
Index access (panics) vs safe access (returns Option)
let mut map = HashMap::new();
Create empty HashMap
map.insert(key, value);
Insert or overwrite entry
map.entry(key).or_insert(default)
Insert only if key doesn't exist
map.get(&key)
Look up value (returns Option<&V>)
let set: HashSet<i32> = HashSet::new();
Create empty HashSet
let vd: VecDeque<i32> = VecDeque::new();
Double-ended queue
let bmap: BTreeMap<K, V> = BTreeMap::new();
Sorted map (keys implement Ord)

Iterators & Closures

CommandDescription
let add = |a, b| a + b;
Closure (anonymous function)
let add = |a: i32, b: i32| -> i32 { a + b };
Closure with explicit type annotations
move || { println!("{x}"); }
move closure — takes ownership of captured variables
.iter()
Iterate over immutable references (&T)
.iter_mut()
Iterate over mutable references (&mut T)
.into_iter()
Iterate by consuming (takes ownership)
.map(|x| x * 2)
Transform each element
.filter(|x| x > &5)
Keep elements matching predicate
.collect::<Vec<_>>()
Consume iterator into a collection
.fold(0, |acc, x| acc + x)
Reduce to single value with accumulator
.enumerate()
Yield (index, value) pairs
.zip(other)
Pair elements from two iterators
.flat_map(|x| x.chars())
Map then flatten nested iterators
.any(|x| x > 5) / .all(|x| x > 0)
Short-circuit boolean checks

Modules & Crates

CommandDescription
mod my_module;
Declare module (loads from my_module.rs or my_module/mod.rs)
mod inner { pub fn hello() {} }
Inline module definition
pub fn / pub struct / pub enum
Make items public (private by default)
pub(crate) fn internal()
Visible within the crate only
use std::collections::HashMap;
Bring item into scope
use std::io::{self, Read, Write};
Import multiple items from same path
use crate::utils::helper;
Absolute path from crate root
use super::parent_fn;
Relative path to parent module
pub use crate::inner::Thing;
Re-export — expose item at a different path
extern crate serde;
Link external crate (rarely needed in edition 2021+)

Concurrency

CommandDescription
std::thread::spawn(|| { ... })
Spawn a new OS thread
handle.join().unwrap()
Wait for thread to finish
let (tx, rx) = mpsc::channel();
Create message-passing channel
tx.send(val).unwrap()
Send value through channel (moves ownership)
rx.recv().unwrap()
Blocking receive from channel
Arc::new(data)
Atomic reference counted pointer (thread-safe Rc)
Arc::clone(&arc)
Clone Arc (increments reference count)
Mutex::new(data)
Mutual exclusion lock
let val = mutex.lock().unwrap();
Acquire mutex lock (blocks until available)
RwLock::new(data)
Reader-writer lock (multiple readers OR one writer)
async fn fetch() -> Result<()> { ... }
Async function (returns a Future)
value.await
Await a Future inside an async context

Macros

CommandDescription
println!("Hello, {name}!");
Print to stdout with newline
eprintln!("error: {e}");
Print to stderr
format!("x = {x}")
Format string into String (no I/O)
dbg!(&value)
Debug print with file/line info (returns value)
todo!()
Placeholder — compiles but panics at runtime
unimplemented!()
Placeholder for code not yet written — panics at runtime
assert!(condition);
Panic if condition is false
assert_eq!(a, b);
Panic if a != b (shows both values)
vec![1, 2, 3]
Create Vec from literal values
cfg!(target_os = "linux")
Compile-time configuration check (returns bool)
#[cfg(test)] mod tests { ... }
Conditional compilation — only in test builds

Common Std Library

CommandDescription
String::from("hello") / "hello".to_string()
Create owned String from &str
s.as_str() / &s
Borrow String as &str
s.contains("world")
Check if string contains substring
s.split(',').collect::<Vec<&str>>()
Split string by delimiter
s.trim() / s.trim_start() / s.trim_end()
Remove whitespace
s.replace("old", "new")
Replace all occurrences in string
fs::read_to_string("file.txt")?
Read entire file to String
fs::write("file.txt", contents)?
Write string to file (creates/overwrites)
Path::new("/tmp/foo.txt").exists()
Check if path exists
std::env::args().collect::<Vec<String>>()
Get command-line arguments
std::time::Instant::now()
High-precision monotonic clock
duration.as_secs() / .as_millis()
Convert Duration to numeric

More Guides

🌿
Git Commands
Complete Git command reference cheat sheet — from basics to advanced workflows, including branching, stashing, rebasing, and tagging. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference cheat sheet — modes, motions, editing, search and replace, macros, registers, marks, and window management.
🐳
Docker Commands
Complete Docker & Docker Compose command reference cheat sheet — containers, images, volumes, networks, registry auth, buildx multi-platform builds, & cleanup.
🔤
Regex Reference
Complete regular expression reference cheat sheet — character classes, anchors, quantifiers, groups, lookaheads, flags, and JavaScript string methods.
🐧
Linux Commands
Complete Linux/Bash command reference cheat sheet — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference cheat sheet — pods, deployments, services, secrets, namespaces, scaling, RBAC, networking, and Helm charts.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, control flow, classes, error handling, file I/O, comprehensions, and built-ins.
🗃️
SQL Reference
Complete SQL reference cheat sheet — queries, joins, aggregation, subqueries, indexes, window functions, string and date functions, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, caching, security headers, and rate limiting.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, agent forwarding, security hardening, and troubleshooting.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, shared libraries, credentials, and CI/CD patterns.
📨
HTTP Headers Reference
Complete HTTP headers reference — request headers, response headers, caching, security, CORS, and content negotiation. Searchable, with examples.
🐘
PostgreSQL Reference
Comprehensive PostgreSQL reference — from connection basics to advanced features like JSONB, full-text search, window functions, and performance tuning.
⚡
Async Patterns Reference
Multi-language async/concurrency patterns — JavaScript, Python, Go, Rust, Java, plus retry, rate limiting, and circuit breaker patterns.
📡
Protobuf & gRPC Reference
Comprehensive reference for Protocol Buffers (proto3) and gRPC — message definitions, services, streaming, and common patterns.
📚
JS Array Methods
Complete JavaScript Array methods reference — creating, searching, transforming, sorting, iterating, and common patterns. Searchable, with examples.
🌊
Tailwind CSS Reference
Complete Tailwind CSS reference — layout, spacing, typography, colors, responsive design, states, and common patterns. Searchable, with examples.
◈
GraphQL Reference
Complete GraphQL reference — schema definition, types, queries, mutations, directives, fragments, and common patterns. Searchable, with examples.
💻
VS Code Shortcuts
Complete VS Code keyboard shortcuts cheat sheet — editing, navigation, search, multi-cursor, terminal, debug, and more. Searchable, with Cmd/Ctrl notation.
🔲
CSS Grid Reference
Complete CSS Grid reference — container properties, item placement, grid functions, and common layout patterns. Searchable, with examples.
📦
CSS Flexbox Reference
Complete CSS Flexbox reference — container properties, item properties, and common layout patterns. Searchable, with examples.
⚛️
React Hooks Reference
Complete React Hooks reference — useState, useEffect, useContext, custom hooks, and common patterns. Searchable, with examples.
🔷
TypeScript Reference
Complete TypeScript reference — types, interfaces, generics, utility types, and advanced patterns. Searchable, with examples.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, CloudWatch, SQS/SNS, Route 53, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, structs, interfaces, goroutines, channels, error handling, testing, and the standard library.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, providers, backend configuration, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, Galaxy, handlers, conditionals, loops, and ad-hoc commands.
🪶
Apache
Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL, plus access control, logging, and performance.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values, plus control codes and common escape sequences.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, arrays, control flow, and report generation with built-in variables.
💻
Bash
Complete Bash reference cheat sheet — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
⚙️
C
Complete C programming cheat sheet covering syntax, pointers, memory management, structs, file I/O, preprocessor, and standard library.
🔐
Chmod
Linux file permission commands and patterns for chmod, covering numeric and symbolic modes, recursive changes, and SUID/SGID/sticky bits.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers — covering Network, Performance, and Application panels.
🔷
C++
Complete C++ cheat sheet covering STL containers, OOP, templates, smart pointers, iterators, lambda expressions, and modern C++ features.
⏰
Cron
Cron scheduling reference covering syntax, special strings, field values, crontab management, environment variables, and logging.
🎨
CSS
Complete CSS reference cheat sheet — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
🌐
Curl
Curl command-line reference for HTTP requests, headers, authentication, cookies, proxies, file transfers, SSL/TLS, debugging, and API patterns.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns, plus collections, error handling, and classes.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, health checks, profiles, and build options.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, column types, queries, filters, joins, relations, migrations, indexes, and patterns.
⚡
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding, covering nesting, multiplication, numbering, and grouping.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering by name, size, time, permissions, type, and actions.
🔥
Firebase
Firebase reference covering Authentication, Firestore, Realtime Database, Cloud Functions, Hosting, Storage, and security rules.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns, plus matrix strategies, caching, and artifacts.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions, context options, and file filtering.
📄
HTML
Complete HTML reference — document structure, text content, links, forms, tables, media, semantic elements, meta tags, attributes, and accessibility.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes across 1xx-5xx classes, with descriptions, examples, and common usage patterns.
☕
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more, including animation effects, traversing, and plugins.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more, plus middleware, validation, and authentication.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages, plus figures, tables, and citation styles.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, task lists, footnotes, and extensions.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration, plus replica sets, users, roles, and query operators.
🐬
MySQL
Complete MySQL cheat sheet covering queries, joins, indexes, transactions, data types, user permissions, and database administration.
▲
Next.js
Next.js App Router reference covering routing, data fetching, server components, API routes, middleware, and deployment configuration.
🟩
Node.js
Comprehensive Node.js runtime reference covering modules, file system, HTTP, streams, events, child processes, and npm scripts.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration, plus workspaces, security audits, and npx.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python, covering reshaping, broadcasting, and linear algebra.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python, covering DataFrames, grouping, merging, and date/time.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features, plus file I/O, superglobals, and error handling.
🔄
PM2
Production process manager for Node.js applications with cluster mode, monitoring, log management, startup scripts, and zero-downtime reloads.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI, plus relations, aggregations, filtering, and seeding patterns.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, extends, maps, and the modern module system.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window and split-region management, key bindings, copy mode, and remote work.
✂️
Sed
Stream editor for filtering and transforming text, line by line — substitution, address ranges, hold space, branching, and flags.
⚡
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions, plus row level security and migrations.
🖥️
Tmux
Terminal multiplexer cheat sheet for managing multiple sessions, windows, and panes from a single terminal, with copy mode and status bar configuration.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns, including arrays of tables and inline tables.
▲
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, secrets, logs, edge functions, and configuration.
⚡
Vite
Next-generation frontend build tool with instant HMR, native ES modules, plugins, environment variables, library mode, and Rollup-based builds.
📦
Webpack
Module bundler for JavaScript applications — entry/output config, loaders, plugins, code splitting, module resolution, and optimization.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, string functions, node tests, and operators for XML/HTML querying.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, aliases, multi-line strings, nested structures, and common patterns.

📖 Free, searchable command reference. Bookmark this page for quick access.