Browsers:
Chrome is a web browser developed by Google.
It is available on:
Docs:
Firefox is a web browser developed by Mozilla.
It is available on
Docs:
Safari is a web browser developed by Apple.
It is available on:
Docs:
curl is a command-line tool for transferring data with URLs, commonly used to send HTTP requests.
curl <url>
Example:
curl http://127.0.0.1:8080/status
| Flag | Description |
|---|---|
-s |
Silent — suppresses progress output. Useful when piping to jq. |
-X <method> |
Set the HTTP method (e.g., -X POST). |
-H <header> |
Add a request header (e.g., -H "Authorization: Bearer <token>"). |
-d <data> |
Send a request body (e.g., -d '{"key": "value"}'). |
git is a version control system for tracking changes in files and coordinating work across a team.
See the git wiki for detailed documentation.
| Command | Description |
|---|---|
git status |
Show the current state of the working tree. |
git add <file> |
Stage a file for the next commit. |
git commit -m "<message>" |
Create a commit with a message. |
git push |
Push commits to the remote repository. |
git pull |
Fetch and merge changes from the remote. |
git log |
Show the commit history. |
source is a shell builtin that executes a file in the current shell session, not a subprocess.
It is commonly used to activate a Python virtual environment. Example:
source .venv/bin/activate
Note
Unlike running a script with bash script.sh, source applies changes (such as environment variable updates) directly to the current shell.
bash runs a shell script file.
bash <script.sh>
Example:
bash setup.sh
jq is a command-line JSON processor.
It is commonly used to format and filter JSON output from commands like curl.
Pipe the output of any command that returns JSON to jq to pretty-print it:
curl -s <url> | jq
| Filter | Description |
|---|---|
. |
Output the full JSON with pretty formatting. |
.<key> |
Extract a top-level field (e.g., .name). |
.[<index>] |
Extract an element from an array (e.g., .[0]). |
.[] |
Iterate over all elements in an array or object. |
.[].key |
Extract a field from each element of an array. |
find searches for files and directories within a directory tree.
find <directory> -name "<pattern>"
Example — find all Python files in the current directory:
find . -name "*.py"
| Flag | Description |
|---|---|
-name "<pattern>" |
Match by filename (supports wildcards, e.g., "*.py"). |
-type f |
Match regular files only. |
-type d |
Match directories only. |
-not -path "<pattern>" |
Exclude paths matching the pattern. |
ripgrep (rg) searches file contents recursively for a text pattern.
It is faster than grep and respects .gitignore by default.
rg "<pattern>"
Example — find all occurrences of TODO in the current directory:
rg "TODO"
| Flag | Description |
|---|---|
-i |
Case-insensitive search. |
-l |
List only file names with matches, not the matching lines. |
-n |
Show line numbers (enabled by default). |
-t <type> |
Limit to a file type (e.g., -t py for Python). |
--no-ignore |
Don't respect .gitignore rules. |