Merge branch 'dev' into vhs
This commit is contained in:
commit
8f5298bc2f
54
Makefile
Normal file
54
Makefile
Normal file
@ -0,0 +1,54 @@
|
||||
FZF != command -v sk || command -v fzy || command -v fzf || \
|
||||
{ echo install a fuzzy finder && exit 1 ;}
|
||||
|
||||
help: ## Print the help message
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^[0-9a-zA-Z._-]+:.*?## / {printf "\033[36m%s\033[0m : %s\n", $$1, $$2}' $(MAKEFILE_LIST) | \
|
||||
sort | \
|
||||
column -s ':' -t
|
||||
|
||||
articles != find * -type f -name "*.md"
|
||||
|
||||
db.rec: $(articles)
|
||||
printf '%s\n' '%rec: guide' > $@
|
||||
printf '%s\n' '%type: wordcount int' >> $@
|
||||
printf '%s\n\n' '%sort: title' >> $@
|
||||
for x in $^ ; do \
|
||||
sed -n '2,/^---$$/ {/^---$$/d; p}' "$$x" |\
|
||||
sed -e 's/\[ //' -e 's/ \]//' |\
|
||||
tr -d '"' ;\
|
||||
printf "file: %s\n\n" "$$x" ;\
|
||||
done >> $@
|
||||
for entry in $^; do \
|
||||
recset $@ -e "file = '$${entry}'" -f wordcount --set-add="$$(wc -w < $${entry})" ;\
|
||||
done
|
||||
recsel $@ -e "requires != ''" -CR title,requires |\
|
||||
while read title requires; do \
|
||||
IFS=', ' && for provider in $$requires; do \
|
||||
recset $@ -e "title = '$${provider}'" -f provides -a "$${title}" ;\
|
||||
done ;\
|
||||
done
|
||||
recfix --sort $@
|
||||
|
||||
default += db.rec
|
||||
|
||||
.git/info/exclude: $(default)
|
||||
echo $^ | tr ' ' '\n' > $@
|
||||
|
||||
default += .git/info/exclude
|
||||
|
||||
.PHONY: database
|
||||
database: $(default) ## Make a recfiles database
|
||||
|
||||
.PHONY: article
|
||||
article: ## Write an article
|
||||
@path=$$(find . -type d -printf '%P\n' | $(FZF)); \
|
||||
read -p "Title: " title; \
|
||||
printf '%s\n' '---' >> $$path/$$title.md ; \
|
||||
printf 'title: "%s"\n' "$$title" >> $$path/$$title.md ; \
|
||||
printf 'tags: [ "%s" ]\n' "$$path" | sed 's#\/#", "#g' >> $$path/$$title.md ; \
|
||||
printf '%s\n\n' '---' >> $$path/$$title.md ;\
|
||||
$(EDITOR) +5 $$path/$$title.md
|
||||
|
||||
.PHONY: clean
|
||||
clean: ## Remove all generated files
|
||||
$(RM) $(default)
|
94
README.md
94
README.md
@ -1,77 +1,67 @@
|
||||
---
|
||||
title: "Knowledge Base"
|
||||
title: "Linux Knowledge Base"
|
||||
---
|
||||
|
||||
# Linux Knowledgebase
|
||||
The Linux Knowledge-Base provides quick-start guides for working with terminal programs.
|
||||
|
||||
This is a list of quickstart guides for Linux programs, designed to get the user up and running as fast as possible.
|
||||
# Setup
|
||||
|
||||
Install `make`, `recutils`, and any fuzzy-finder (i.e. `sk`, `fzy`, or `fzf`).
|
||||
|
||||
Usage: `make`
|
||||
|
||||
# Style
|
||||
|
||||
## Praxis Only
|
||||
## No History, No Context
|
||||
|
||||
We leave theory alone as much as possible.
|
||||
The documentation should be of the form 'if you want *X*, type *Y*'.
|
||||
- Nobody cares about how the project started.
|
||||
- Nobody wants to read what `ffmpeg` is, because anyone who wants to use it already knows what it is.
|
||||
|
||||
We don't need to explain what a program does - anyone looking up 'how to X', already knows what they want to do.
|
||||
We don't even need to explain which program to use - if someone wants to combine an mp4 and webm video into a single video file, they only care about that result, not about learning `ffmpeg`.
|
||||
## Be Opinionated
|
||||
|
||||
Any interest in these tools only comes after we can use them.
|
||||
- Guides should not ask the reader to select options half-way through.
|
||||
- Options for different filesystems, databases, et c., should be written as separate guides.
|
||||
|
||||
## Chronological
|
||||
## Repetition Beats Reference
|
||||
|
||||
Entries should read like scripts - everything in the right order, with small notes on what this does.
|
||||
If a database requires three commands to set up, it's better to repeat those three commands for every program that requires a database than to just link to another file which discusses databases.
|
||||
|
||||
The chronology should never branch.
|
||||
If `gitea` can use three different types of database, the documentation should simply pick one and continue instructions from there.
|
||||
Repetition works better than a reference - if a database requires three commands to set up, it's better to repeat those three commands for every program that requires a database than to just link to another file which discusses databases.
|
||||
## Show Arguments as Variables
|
||||
|
||||
---
|
||||
Look at this line:
|
||||
|
||||
### Closing
|
||||
|
||||
Introductory documents should show anything required to cleanly uninstall a program, without leaving bulky configuration files behind.
|
||||
|
||||
## Three Input Types
|
||||
|
||||
There are three types of examples:
|
||||
|
||||
Fixed input:
|
||||
|
||||
```bash
|
||||
ls
|
||||
```sh
|
||||
grep ls --color=always $HISTFILE | less -R
|
||||
```
|
||||
|
||||
Anything with arbitrary input should be shown as a variable.
|
||||
What else can go in place of `always`?
|
||||
Can you say `--color=red`?
|
||||
Can you put anything?
|
||||
The answer is not obvious.
|
||||
|
||||
```bash
|
||||
ls $FILE
|
||||
What about this line:
|
||||
|
||||
```sh
|
||||
git branch new
|
||||
git checkout new
|
||||
```
|
||||
|
||||
Non-commands (e.g. output) should be shown as quoted text:
|
||||
Do you always use `new`?
|
||||
Can you use another word here?
|
||||
The answer is not obvious.
|
||||
|
||||
> LK img
|
||||
> Mail kn
|
||||
> Projects music
|
||||
|
||||
---
|
||||
|
||||
# Example
|
||||
|
||||
```
|
||||
How to see which websites you're actively accessing:
|
||||
|
||||
` ` `bash
|
||||
ss -tr dst :$PORT
|
||||
` ` `
|
||||
|
||||
> State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
|
||||
> ESTAB 0 0 192.168.0.14:42476 149.154.167.91:https
|
||||
> ESTAB 0 0 192.168.0.14:43644 104.17.90.199:https
|
||||
It's better to make all arbitrary values variables.
|
||||
|
||||
```sh
|
||||
git branch $branch_name
|
||||
git checkout $branch_name
|
||||
PAGER='less -R'
|
||||
grep ls --color=always $HISTFILE | $PAGER
|
||||
```
|
||||
|
||||
# What's wrong with everything else?
|
||||
Now we can see what can be changed.
|
||||
|
||||
# What's Wrong with Everything Else?
|
||||
|
||||
## Man pages
|
||||
|
||||
@ -79,12 +69,14 @@ ss -tr dst :$PORT
|
||||
- Often presumes you know everything except that one program.
|
||||
- Often written in the 80's, and it shows.
|
||||
- Zero respect for your time.
|
||||
- Often references `info` pages (yuck).
|
||||
|
||||
## curl cheat.sh/
|
||||
## `curl cheat.sh`
|
||||
|
||||
- Doesn't have the programs I like.
|
||||
- Too short to get you started on many programs.
|
||||
- Poor understanding of priority (`git stash` is covered before `git commit`).
|
||||
- Repetitive
|
||||
|
||||
# Current State
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "at"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
Install with:
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Basics"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
|
||||
You need about a dozen commands to move around Linux.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "clock"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
|
||||
Show system time:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "conditionals"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
# If statements
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "cron"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
# Cronie
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "bash games"
|
||||
tags: [ "Documentation", "Games" ]
|
||||
tags: [ "Games" ]
|
||||
---
|
||||
|
||||
Games are a great way to learn bash.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "kernel"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
## Living Space
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "kill"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
|
||||
If you want to kill a program in a graphical environment, open a terminal and type:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "locale"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
|
||||
Your locale tells the computer your location, preferred time-and-date format, standard language, papersize, et c.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "locating"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
# Type
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "processes"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
# Proccesses
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "time"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
# systemd
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "users"
|
||||
tags: [ "Documentation", "Basics" ]
|
||||
tags: [ "Basics" ]
|
||||
---
|
||||
# Basic Information
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "profanity"
|
||||
tags: [ "Documentation", "Chat", "OTR" ]
|
||||
tags: [ "Chat", "OTR" ]
|
||||
---
|
||||
# otr
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "profanity"
|
||||
tags: [ "Documentation", "Chat", "omemo" ]
|
||||
tags: [ "Chat", "omemo" ]
|
||||
---
|
||||
# Setup (Commands)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "wgetpaste"
|
||||
tags: [ "Documentation", "Chat" ]
|
||||
tags: [ "Chat" ]
|
||||
---
|
||||
|
||||
See available pastebins:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Archives"
|
||||
tags: [ "Documentation", "tar", "backups" ]
|
||||
tags: [ "tar", "backups" ]
|
||||
---
|
||||
# `tar`
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "unison"
|
||||
tags: [ "Documentation", "Backups" ]
|
||||
tags: [ "Backups" ]
|
||||
---
|
||||
|
||||
Install unison on both machines, and make sure both have the same version of unison, with the same version of the ocaml compiler (the smallest difference will cause problems).
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Base 16"
|
||||
tags: [ "Documentation", "Data" ]
|
||||
tags: [ "Data" ]
|
||||
---
|
||||
|
||||
```bash
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "exiftool"
|
||||
tags: [ "Documentation", "Metadata" ]
|
||||
tags: [ "Metadata" ]
|
||||
---
|
||||
|
||||
Find metadata.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "git"
|
||||
tags: [ "Documentation", "data" ]
|
||||
tags: [ "data" ]
|
||||
---
|
||||
# Starting
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "git-lfs"
|
||||
tags: [ "Documentation", "data" ]
|
||||
tags: [ "data" ]
|
||||
---
|
||||
|
||||
Install, and add with
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "git hooks"
|
||||
tags: [ "Documentation", "data", "git" ]
|
||||
tags: [ "data", "git" ]
|
||||
---
|
||||
|
||||
Check out the sample hooks:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "git"
|
||||
tags: [ "Documentation", "data", "git", "subtree" ]
|
||||
tags: [ "data", "git", "subtree" ]
|
||||
---
|
||||
|
||||
## Pulling a Subtree from an existing git
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "gpg"
|
||||
tags: [ "Documentation", "data", "GPG" ]
|
||||
tags: [ "data", "GPG" ]
|
||||
---
|
||||
|
||||
- [Setup](gpg/basics.md)
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "GPG Basics"
|
||||
tags: [ "Documentation", "data", "GPG" ]
|
||||
tags: [ "data", "GPG" ]
|
||||
---
|
||||
# Making keys
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "gpg"
|
||||
tags: [ "Documentation", "vim", "data", "GPG" ]
|
||||
tags: [ "vim", "data", "GPG" ]
|
||||
---
|
||||
|
||||
The `vim-gnupg` plugin lets vim edit gpg-encrypted files as if they were unencrypted.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "groff"
|
||||
tags: [ "Documentation", "Data" ]
|
||||
tags: [ "Data" ]
|
||||
---
|
||||
# Basic Documents
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "khard"
|
||||
tags: [ "Documentation", "Data" ]
|
||||
tags: [ "Data" ]
|
||||
---
|
||||
Get the basic config:
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "newsboat"
|
||||
tags: [ "Documentation", "RSS" ]
|
||||
tags: [ "RSS" ]
|
||||
---
|
||||
Create the configuration directory before you start, and add at least 1 URL.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "pass"
|
||||
tags: [ "Documentation", "data" ]
|
||||
tags: [ "data" ]
|
||||
---
|
||||
[Video instructions](https://www.hooktube.com/watch?v=hlRQTj1D9LA)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "pdf to txt"
|
||||
tags: [ "Documentation", "data", "pdf", "ocr" ]
|
||||
tags: [ "data", "pdf", "ocr" ]
|
||||
---
|
||||
How to translate pdf book images to text (results are very poor, and will need lots of corrections).
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "PDF Metadata Erasure"
|
||||
tags: [ "Documentation", "Metadata", "Ghost Script" ]
|
||||
tags: [ "Metadata", "Ghost Script" ]
|
||||
---
|
||||
|
||||
Make a text file called 'pdfmark.txt'.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Board Games"
|
||||
tags: [ "data", "recfiles" ]
|
||||
tags: [ "data", "recfiles", "games" ]
|
||||
---
|
||||
|
||||
You can play with a board games database from boardgamegeek.com.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "sc-im"
|
||||
tags: [ "Documentation", "TUI", "data" ]
|
||||
tags: [ "TUI", "data" ]
|
||||
---
|
||||
|
||||
- [Sample file](sc-im/sample.sc)
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Soft Serve through https"
|
||||
tags: [ "data", "git" ]
|
||||
tags: [ "data", "git", "lfs" ]
|
||||
---
|
||||
|
||||
## `http` Setup
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "sqlite"
|
||||
tags: [ "Documentation", "data" ]
|
||||
tags: [ "data" ]
|
||||
---
|
||||
|
||||
Work with a database:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "task"
|
||||
tags: [ "Documentation", "Organization" ]
|
||||
tags: [ "Organization" ]
|
||||
---
|
||||
|
||||
Set up the configuration file:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "timew"
|
||||
tags: [ "Documentation", "Data" ]
|
||||
tags: [ "Data" ]
|
||||
---
|
||||
# Summaries
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "w3m"
|
||||
tags: [ "Documentation", "browsers" ]
|
||||
tags: [ "browsers" ]
|
||||
---
|
||||
Open a search tab:
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Arch on a Raspberry Pi 4"
|
||||
tags: [ "Documentation", "distros", "raspberry pi", "rpi" ]
|
||||
tags: [ "distros", "raspberry pi", "rpi" ]
|
||||
---
|
||||
|
||||
The [Official Instructions](https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4) for a Raspberry pi 4 do not allow for working sound from the headphone jack, unless you use the aarch64 Installation.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "autologin"
|
||||
tags: [ "Documentation", "Distros", "Arch" ]
|
||||
tags: [ "Distros", "Arch" ]
|
||||
---
|
||||
|
||||
# Automatic Login
|
||||
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "basic-install"
|
||||
tags: [ "Documentation", "arch" ]
|
||||
tags: [ "arch" ]
|
||||
requires: [ "partitions", "time" ]
|
||||
---
|
||||
Keyboard layout changed.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "fonts"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
tags: [ "distros" ]
|
||||
---
|
||||
# Basics
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "fonts"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
tags: [ "distros" ]
|
||||
---
|
||||
# Step 1: Multilib
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "pacman"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
tags: [ "distros" ]
|
||||
---
|
||||
|
||||
Packages are kept in /var/cache/pacman/pkg.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "apt"
|
||||
tags: [ "Documentation", "distros" ]
|
||||
tags: [ "distros" ]
|
||||
---
|
||||
## apt
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Aeroplane Mode in Void"
|
||||
tags: [ "Documentation", "Void" ]
|
||||
tags: [ "Void" ]
|
||||
---
|
||||
Put your device in 'aeroplane' mode (e.g. where no trace of signal leaves it) by turning off Wi-Fi and blue-tooth.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Void Autologin"
|
||||
tags: [ "Documentation", "Void" ]
|
||||
tags: [ "Void" ]
|
||||
---
|
||||
|
||||
Make the autologin service:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "extrace"
|
||||
tags: [ "Documentation", "Void" ]
|
||||
tags: [ "Void" ]
|
||||
---
|
||||
Monitor all processes:
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "sv"
|
||||
tags: [ "Documentation", "Void" ]
|
||||
tags: [ "Void" ]
|
||||
---
|
||||
# List Services
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Void Linux Basics"
|
||||
tags: [ "Documentation", "Void" ]
|
||||
tags: [ "Void" ]
|
||||
---
|
||||
# Updates
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "xbps"
|
||||
tags: [ "Documentation", "Void" ]
|
||||
tags: [ "Void" ]
|
||||
---
|
||||
## Search
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "brightness"
|
||||
tags: [ "Documentation", "hardware" ]
|
||||
tags: [ "hardware" ]
|
||||
---
|
||||
# Brightness
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "keyboard"
|
||||
tags: [ "Documentation", "keyboard", "vim" ]
|
||||
tags: [ "keyboard", "vim" ]
|
||||
---
|
||||
|
||||
# System-Wide Capslock and Escape Swap
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "monitor"
|
||||
tags: [ "Documentation", "hardware" ]
|
||||
tags: [ "hardware" ]
|
||||
---
|
||||
See screen size
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "printers"
|
||||
tags: [ "Documentation", "hardware" ]
|
||||
tags: [ "hardware" ]
|
||||
---
|
||||
# Cups: The Common Unix Printing System
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "fail2ban"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
requires: [ "ssh" ]
|
||||
---
|
||||
# SSH Daemon Jail
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Easy Network Graph"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
---
|
||||
Set up a file like this, called `troubleshooting.txt`.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "iptables"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
---
|
||||
# Intro
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "nmap"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
---
|
||||
|
||||
Example:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "pi-hole-server"
|
||||
tags: [ "Documentation", "Distros" ]
|
||||
tags: [ "Distros" ]
|
||||
---
|
||||
# Installation
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "rclone"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
---
|
||||
The manpage's 'Synopsis' provides a fast reference.
|
||||
```
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Download videos"
|
||||
tags: [ "Documentation", "Scraping" ]
|
||||
tags: [ "Scraping" ]
|
||||
---
|
||||
Install `yt-dlp`.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Agate on Arch Linux"
|
||||
tags: [ "Documentation", "Networking", "Arch", "Gemini" ]
|
||||
tags: [ "Networking", "Arch", "Gemini" ]
|
||||
---
|
||||
|
||||
Docs are [here](https://github.com/mbrubeck/agate).
|
||||
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "sshfs"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
requires: [ "ssh" ]
|
||||
---
|
||||
# Mount
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "ssh tricks"
|
||||
tags: [ "Documentation", "Networking", "ssh", "tricks" ]
|
||||
title: "ssh-tricks"
|
||||
tags: [ "Networking", "ssh", "tricks" ]
|
||||
requires: [ "ssh" ]
|
||||
---
|
||||
|
||||
Mount a remote filesystem locally with fuse-sshfs:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "tor"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
---
|
||||
|
||||
# Get a hostname
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "transmission"
|
||||
tags: [ "Documentation", "Networking", "Torrenting" ]
|
||||
tags: [ "Networking", "Torrenting" ]
|
||||
---
|
||||
# Torrench
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "troubleshooting"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
---
|
||||
|
||||
# Do you have an IP?
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "nginx"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
---
|
||||
Install nginx:
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "wifi"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
---
|
||||
# Netstat Stuff
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "wireguard"
|
||||
tags: [ "Documentation", "Networking", "VPN" ]
|
||||
tags: [ "Networking", "VPN" ]
|
||||
---
|
||||
<!--
|
||||
from
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "wireless"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
---
|
||||
|
||||
# Check wifi's working
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "wpa_supplicant"
|
||||
tags: [ "Documentation", "Networking" ]
|
||||
tags: [ "Networking" ]
|
||||
---
|
||||
|
||||
wpa_supplicant configurations are stored in /etc/wpa_supplicant/wpa_supplicant-wlan0 (or equivalent).
|
||||
|
27
new.sh
27
new.sh
@ -1,27 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo Select a category
|
||||
|
||||
category="$(find . -type d -printf '%P\n' | fzy)"
|
||||
|
||||
[ ! -d "$category" ] && mkdir "$category"
|
||||
|
||||
echo Select a name
|
||||
|
||||
read name
|
||||
|
||||
filePath="$category/$(echo $name | sed 's/ /_/g').md"
|
||||
|
||||
tagsList="$(echo \"$category | sed 's#\/#", "#g')\""
|
||||
|
||||
[ -e "$filePath" ] && $EDITOR "$filePath" && exit 0
|
||||
|
||||
echo "---
|
||||
title: \"$name\"
|
||||
tags: [ $tagsList ]
|
||||
---
|
||||
|
||||
" > "$filePath"
|
||||
|
||||
$EDITOR "$filePath"
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Basic Sound"
|
||||
tags: [ "Documentation", "Sound" ]
|
||||
tags: [ "Sound" ]
|
||||
---
|
||||
# Pulse
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "festival"
|
||||
tags: [ "Documentation", "Sound" ]
|
||||
tags: [ "Sound" ]
|
||||
---
|
||||
# Basics
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "mpd"
|
||||
tags: [ "Documentation", "Sound" ]
|
||||
tags: [ "Sound" ]
|
||||
---
|
||||
# Setup
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "ncmpcpp"
|
||||
tags: [ "Documentation", "Sound" ]
|
||||
tags: [ "Sound" ]
|
||||
---
|
||||
|
||||
# Music Player Daemon
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "android"
|
||||
tags: [ "Documentation", "System" ]
|
||||
tags: [ "System", "phone" ]
|
||||
---
|
||||
# mtpfs
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "awk"
|
||||
tags: [ "Documentation", "System" ]
|
||||
tags: [ "System" ]
|
||||
---
|
||||
# Basics
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "bash tips"
|
||||
tags: [ "Documentation", "Shell", "POSIX" ]
|
||||
tags: [ "Shell", "POSIX" ]
|
||||
---
|
||||
## Track Live Changes
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "character-encoding"
|
||||
tags: [ "Documentation", "System" ]
|
||||
tags: [ "System" ]
|
||||
---
|
||||
Convert a text file from one encoding type to another with:
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Default Programs"
|
||||
tags: [ "Documentation", "Defaults", "Mime Type" ]
|
||||
tags: [ "Defaults", "Mime Type" ]
|
||||
---
|
||||
|
||||
Install the package `xdg-utils`, then make very liberal use of the tab button.
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "$EDITOR"
|
||||
tags: [ "Documentation", "System" ]
|
||||
tags: [ "System" ]
|
||||
---
|
||||
The System's default text editor can be defined within /etc/profile. It's given the variable `EDITOR`.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "fstab"
|
||||
tags: [ "Documentation", "System" ]
|
||||
tags: [ "System" ]
|
||||
---
|
||||
# Basics
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "kernel"
|
||||
tags: [ "Documentation", "System" ]
|
||||
tags: [ "System" ]
|
||||
---
|
||||
Check which kernet modules are loaded into memory
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "lf - The Light File Manager"
|
||||
tags: [ "Documentation", "File Browser" ]
|
||||
tags: [ "File Browser" ]
|
||||
---
|
||||
|
||||

|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "logs"
|
||||
tags: [ "Documentation", "System" ]
|
||||
tags: [ "System" ]
|
||||
---
|
||||
|
||||
# Basic
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "mdadm"
|
||||
tags: [ "Documentation", "RAID" ]
|
||||
tags: [ "RAID" ]
|
||||
---
|
||||
# RAID5
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Monitoring"
|
||||
tags: [ "Documentation", "System", "CPU", "Memory" ]
|
||||
tags: [ "System", "CPU", "Memory" ]
|
||||
---
|
||||
|
||||
Print the average CPU load over 1 minute, 5 minutes, and 15 minutes:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "partitions"
|
||||
tags: [ "Documentation", "System" ]
|
||||
tags: [ "System" ]
|
||||
---
|
||||
# FDisk Basics
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "snaps"
|
||||
tags: [ "Documentation", "System", "Ubuntu", "snap" ]
|
||||
tags: [ "System", "Ubuntu", "snap" ]
|
||||
---
|
||||
> sudo apt-get purge -y snapd
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "swap"
|
||||
tags: [ "Documentation", "basics" ]
|
||||
tags: [ "basics" ]
|
||||
---
|
||||
# Making a Swap File
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "journal"
|
||||
tags: [ "Documentation", "systemd" ]
|
||||
tags: [ "systemd" ]
|
||||
---
|
||||
|
||||
See a running log of all system messages:
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Making Services"
|
||||
tags: [ "Documentation", "systemd" ]
|
||||
tags: [ "systemd" ]
|
||||
---
|
||||
# Basics
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "systemd"
|
||||
tags: [ "Documentation", "systemd" ]
|
||||
tags: [ "systemd" ]
|
||||
---
|
||||
```bash
|
||||
systemctl list-units
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user