Compare commits

...

11 Commits

113 changed files with 212 additions and 189 deletions

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)

@ -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 # Style
## Praxis Only ## No History, No Context
We leave theory alone as much as possible. - Nobody cares about how the project started.
The documentation should be of the form 'if you want *X*, type *Y*'. - 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. ## Be Opinionated
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`.
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. ## Show Arguments as Variables
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.
--- Look at this line:
### Closing ```sh
grep ls --color=always $HISTFILE | less -R
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
``` ```
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 What about this line:
ls $FILE
```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 It's better to make all arbitrary values variables.
> 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
```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 ## Man pages
@ -79,12 +69,14 @@ ss -tr dst :$PORT
- Often presumes you know everything except that one program. - Often presumes you know everything except that one program.
- Often written in the 80's, and it shows. - Often written in the 80's, and it shows.
- Zero respect for your time. - Zero respect for your time.
- Often references `info` pages (yuck).
## curl cheat.sh/ ## `curl cheat.sh`
- Doesn't have the programs I like. - Doesn't have the programs I like.
- Too short to get you started on many programs. - Too short to get you started on many programs.
- Poor understanding of priority (`git stash` is covered before `git commit`). - Poor understanding of priority (`git stash` is covered before `git commit`).
- Repetitive
# Current State # Current State

@ -1,6 +1,6 @@
--- ---
title: "at" title: "at"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
Install with: Install with:

@ -1,6 +1,6 @@
--- ---
title: "Basics" title: "Basics"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
You need about a dozen commands to move around Linux. You need about a dozen commands to move around Linux.

@ -1,6 +1,6 @@
--- ---
title: "clock" title: "clock"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
Show system time: Show system time:

@ -1,6 +1,6 @@
--- ---
title: "conditionals" title: "conditionals"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
# If statements # If statements

@ -1,6 +1,6 @@
--- ---
title: "cron" title: "cron"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
# Cronie # Cronie

@ -1,6 +1,6 @@
--- ---
title: "bash games" title: "bash games"
tags: [ "Documentation", "Games" ] tags: [ "Games" ]
--- ---
Games are a great way to learn bash. Games are a great way to learn bash.

@ -1,6 +1,6 @@
--- ---
title: "kernel" title: "kernel"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
## Living Space ## Living Space

@ -1,6 +1,6 @@
--- ---
title: "kill" title: "kill"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
If you want to kill a program in a graphical environment, open a terminal and type: If you want to kill a program in a graphical environment, open a terminal and type:

@ -1,6 +1,6 @@
--- ---
title: "locale" title: "locale"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
Your locale tells the computer your location, preferred time-and-date format, standard language, papersize, et c. Your locale tells the computer your location, preferred time-and-date format, standard language, papersize, et c.

@ -1,6 +1,6 @@
--- ---
title: "locating" title: "locating"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
# Type # Type

@ -1,6 +1,6 @@
--- ---
title: "processes" title: "processes"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
# Proccesses # Proccesses

@ -1,6 +1,6 @@
--- ---
title: "time" title: "time"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
# systemd # systemd

@ -1,6 +1,6 @@
--- ---
title: "users" title: "users"
tags: [ "Documentation", "Basics" ] tags: [ "Basics" ]
--- ---
# Basic Information # Basic Information

@ -1,6 +1,6 @@
--- ---
title: "profanity" title: "profanity"
tags: [ "Documentation", "Chat", "OTR" ] tags: [ "Chat", "OTR" ]
--- ---
# otr # otr

@ -1,6 +1,6 @@
--- ---
title: "profanity" title: "profanity"
tags: [ "Documentation", "Chat", "omemo" ] tags: [ "Chat", "omemo" ]
--- ---
# Setup (Commands) # Setup (Commands)

@ -1,6 +1,6 @@
--- ---
title: "wgetpaste" title: "wgetpaste"
tags: [ "Documentation", "Chat" ] tags: [ "Chat" ]
--- ---
See available pastebins: See available pastebins:

@ -1,6 +1,6 @@
--- ---
title: "Archives" title: "Archives"
tags: [ "Documentation", "tar", "backups" ] tags: [ "tar", "backups" ]
--- ---
# `tar` # `tar`

@ -1,6 +1,6 @@
--- ---
title: "unison" 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). 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" title: "Base 16"
tags: [ "Documentation", "Data" ] tags: [ "Data" ]
--- ---
```bash ```bash

@ -1,6 +1,6 @@
--- ---
title: "exiftool" title: "exiftool"
tags: [ "Documentation", "Metadata" ] tags: [ "Metadata" ]
--- ---
Find metadata. Find metadata.

@ -1,6 +1,6 @@
--- ---
title: "git" title: "git"
tags: [ "Documentation", "data" ] tags: [ "data" ]
--- ---
# Starting # Starting

@ -1,6 +1,6 @@
--- ---
title: "git-lfs" title: "git-lfs"
tags: [ "Documentation", "data" ] tags: [ "data" ]
--- ---
Install, and add with Install, and add with

@ -1,6 +1,6 @@
--- ---
title: "git hooks" title: "git hooks"
tags: [ "Documentation", "data", "git" ] tags: [ "data", "git" ]
--- ---
Check out the sample hooks: Check out the sample hooks:

@ -1,6 +1,6 @@
--- ---
title: "git" title: "git"
tags: [ "Documentation", "data", "git", "subtree" ] tags: [ "data", "git", "subtree" ]
--- ---
## Pulling a Subtree from an existing git ## Pulling a Subtree from an existing git

@ -1,6 +1,6 @@
--- ---
title: "gpg" title: "gpg"
tags: [ "Documentation", "data", "GPG" ] tags: [ "data", "GPG" ]
--- ---
- [Setup](gpg/basics.md) - [Setup](gpg/basics.md)

@ -1,6 +1,6 @@
--- ---
title: "GPG Basics" title: "GPG Basics"
tags: [ "Documentation", "data", "GPG" ] tags: [ "data", "GPG" ]
--- ---
# Making keys # Making keys

@ -1,6 +1,6 @@
--- ---
title: "gpg" 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. The `vim-gnupg` plugin lets vim edit gpg-encrypted files as if they were unencrypted.

@ -1,6 +1,6 @@
--- ---
title: "groff" title: "groff"
tags: [ "Documentation", "Data" ] tags: [ "Data" ]
--- ---
# Basic Documents # Basic Documents

@ -1,6 +1,6 @@
--- ---
title: "khard" title: "khard"
tags: [ "Documentation", "Data" ] tags: [ "Data" ]
--- ---
Get the basic config: Get the basic config:

@ -1,6 +1,6 @@
--- ---
title: "newsboat" title: "newsboat"
tags: [ "Documentation", "RSS" ] tags: [ "RSS" ]
--- ---
Create the configuration directory before you start, and add at least 1 URL. Create the configuration directory before you start, and add at least 1 URL.

@ -1,6 +1,6 @@
--- ---
title: "pass" title: "pass"
tags: [ "Documentation", "data" ] tags: [ "data" ]
--- ---
[Video instructions](https://www.hooktube.com/watch?v=hlRQTj1D9LA) [Video instructions](https://www.hooktube.com/watch?v=hlRQTj1D9LA)

@ -1,6 +1,6 @@
--- ---
title: "pdf to txt" 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). 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" title: "PDF Metadata Erasure"
tags: [ "Documentation", "Metadata", "Ghost Script" ] tags: [ "Metadata", "Ghost Script" ]
--- ---
Make a text file called 'pdfmark.txt'. Make a text file called 'pdfmark.txt'.

@ -1,6 +1,6 @@
--- ---
title: "Board Games" title: "Board Games"
tags: [ "data", "recfiles" ] tags: [ "data", "recfiles", "games" ]
--- ---
You can play with a board games database from boardgamegeek.com. You can play with a board games database from boardgamegeek.com.

@ -1,6 +1,6 @@
--- ---
title: "sc-im" title: "sc-im"
tags: [ "Documentation", "TUI", "data" ] tags: [ "TUI", "data" ]
--- ---
- [Sample file](sc-im/sample.sc) - [Sample file](sc-im/sample.sc)

@ -1,6 +1,6 @@
--- ---
title: "Soft Serve through https" title: "Soft Serve through https"
tags: [ "data", "git" ] tags: [ "data", "git", "lfs" ]
--- ---
## `http` Setup ## `http` Setup

@ -1,6 +1,6 @@
--- ---
title: "sqlite" title: "sqlite"
tags: [ "Documentation", "data" ] tags: [ "data" ]
--- ---
Work with a database: Work with a database:

@ -1,6 +1,6 @@
--- ---
title: "task" title: "task"
tags: [ "Documentation", "Organization" ] tags: [ "Organization" ]
--- ---
Set up the configuration file: Set up the configuration file:

@ -1,6 +1,6 @@
--- ---
title: "timew" title: "timew"
tags: [ "Documentation", "Data" ] tags: [ "Data" ]
--- ---
# Summaries # Summaries

@ -1,6 +1,6 @@
--- ---
title: "w3m" title: "w3m"
tags: [ "Documentation", "browsers" ] tags: [ "browsers" ]
--- ---
Open a search tab: Open a search tab:

@ -1,6 +1,6 @@
--- ---
title: "Arch on a Raspberry Pi 4" 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. 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" title: "autologin"
tags: [ "Documentation", "Distros", "Arch" ] tags: [ "Distros", "Arch" ]
--- ---
# Automatic Login # Automatic Login

@ -1,6 +1,7 @@
--- ---
title: "basic-install" title: "basic-install"
tags: [ "Documentation", "arch" ] tags: [ "arch" ]
requires: [ "partitions", "time" ]
--- ---
Keyboard layout changed. Keyboard layout changed.

@ -1,6 +1,6 @@
--- ---
title: "fonts" title: "fonts"
tags: [ "Documentation", "distros" ] tags: [ "distros" ]
--- ---
# Basics # Basics

@ -1,6 +1,6 @@
--- ---
title: "fonts" title: "fonts"
tags: [ "Documentation", "distros" ] tags: [ "distros" ]
--- ---
# Step 1: Multilib # Step 1: Multilib

@ -1,6 +1,6 @@
--- ---
title: "pacman" title: "pacman"
tags: [ "Documentation", "distros" ] tags: [ "distros" ]
--- ---
Packages are kept in /var/cache/pacman/pkg. Packages are kept in /var/cache/pacman/pkg.

@ -1,6 +1,6 @@
--- ---
title: "apt" title: "apt"
tags: [ "Documentation", "distros" ] tags: [ "distros" ]
--- ---
## apt ## apt

@ -1,6 +1,6 @@
--- ---
title: "Aeroplane Mode in Void" 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. 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" title: "Void Autologin"
tags: [ "Documentation", "Void" ] tags: [ "Void" ]
--- ---
Make the autologin service: Make the autologin service:

@ -1,6 +1,6 @@
--- ---
title: "extrace" title: "extrace"
tags: [ "Documentation", "Void" ] tags: [ "Void" ]
--- ---
Monitor all processes: Monitor all processes:

@ -1,6 +1,6 @@
--- ---
title: "sv" title: "sv"
tags: [ "Documentation", "Void" ] tags: [ "Void" ]
--- ---
# List Services # List Services

@ -1,6 +1,6 @@
--- ---
title: "Void Linux Basics" title: "Void Linux Basics"
tags: [ "Documentation", "Void" ] tags: [ "Void" ]
--- ---
# Updates # Updates

@ -1,6 +1,6 @@
--- ---
title: "xbps" title: "xbps"
tags: [ "Documentation", "Void" ] tags: [ "Void" ]
--- ---
## Search ## Search

@ -1,6 +1,6 @@
--- ---
title: "brightness" title: "brightness"
tags: [ "Documentation", "hardware" ] tags: [ "hardware" ]
--- ---
# Brightness # Brightness

@ -1,6 +1,6 @@
--- ---
title: "keyboard" title: "keyboard"
tags: [ "Documentation", "keyboard", "vim" ] tags: [ "keyboard", "vim" ]
--- ---
# System-Wide Capslock and Escape Swap # System-Wide Capslock and Escape Swap

@ -1,6 +1,6 @@
--- ---
title: "monitor" title: "monitor"
tags: [ "Documentation", "hardware" ] tags: [ "hardware" ]
--- ---
See screen size See screen size

@ -1,6 +1,6 @@
--- ---
title: "printers" title: "printers"
tags: [ "Documentation", "hardware" ] tags: [ "hardware" ]
--- ---
# Cups: The Common Unix Printing System # Cups: The Common Unix Printing System

@ -1,6 +1,7 @@
--- ---
title: "fail2ban" title: "fail2ban"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
requires: [ "ssh" ]
--- ---
# SSH Daemon Jail # SSH Daemon Jail

@ -1,6 +1,6 @@
--- ---
title: "Easy Network Graph" title: "Easy Network Graph"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
--- ---
Set up a file like this, called `troubleshooting.txt`. Set up a file like this, called `troubleshooting.txt`.

@ -1,6 +1,6 @@
--- ---
title: "iptables" title: "iptables"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
--- ---
# Intro # Intro

@ -1,6 +1,6 @@
--- ---
title: "nmap" title: "nmap"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
--- ---
Example: Example:

@ -1,6 +1,6 @@
--- ---
title: "pi-hole-server" title: "pi-hole-server"
tags: [ "Documentation", "Distros" ] tags: [ "Distros" ]
--- ---
# Installation # Installation

@ -1,6 +1,6 @@
--- ---
title: "rclone" title: "rclone"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
--- ---
The manpage's 'Synopsis' provides a fast reference. The manpage's 'Synopsis' provides a fast reference.
``` ```

@ -1,6 +1,6 @@
--- ---
title: "Download videos" title: "Download videos"
tags: [ "Documentation", "Scraping" ] tags: [ "Scraping" ]
--- ---
Install `yt-dlp`. Install `yt-dlp`.

@ -1,6 +1,6 @@
--- ---
title: "Agate on Arch Linux" title: "Agate on Arch Linux"
tags: [ "Documentation", "Networking", "Arch", "Gemini" ] tags: [ "Networking", "Arch", "Gemini" ]
--- ---
Docs are [here](https://github.com/mbrubeck/agate). Docs are [here](https://github.com/mbrubeck/agate).

@ -1,6 +1,7 @@
--- ---
title: "sshfs" title: "sshfs"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
requires: [ "ssh" ]
--- ---
# Mount # Mount

@ -1,6 +1,7 @@
--- ---
title: "ssh tricks" title: "ssh-tricks"
tags: [ "Documentation", "Networking", "ssh", "tricks" ] tags: [ "Networking", "ssh", "tricks" ]
requires: [ "ssh" ]
--- ---
Mount a remote filesystem locally with fuse-sshfs: Mount a remote filesystem locally with fuse-sshfs:

@ -1,6 +1,6 @@
--- ---
title: "tor" title: "tor"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
--- ---
# Get a hostname # Get a hostname

@ -1,6 +1,6 @@
--- ---
title: "transmission" title: "transmission"
tags: [ "Documentation", "Networking", "Torrenting" ] tags: [ "Networking", "Torrenting" ]
--- ---
# Torrench # Torrench

@ -1,6 +1,6 @@
--- ---
title: "troubleshooting" title: "troubleshooting"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
--- ---
# Do you have an IP? # Do you have an IP?

@ -1,6 +1,6 @@
--- ---
title: "nginx" title: "nginx"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
--- ---
Install nginx: Install nginx:

@ -1,6 +1,6 @@
--- ---
title: "wifi" title: "wifi"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
--- ---
# Netstat Stuff # Netstat Stuff

@ -1,6 +1,6 @@
--- ---
title: "wireguard" title: "wireguard"
tags: [ "Documentation", "Networking", "VPN" ] tags: [ "Networking", "VPN" ]
--- ---
<!-- <!--
from from

@ -1,6 +1,6 @@
--- ---
title: "wireless" title: "wireless"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
--- ---
# Check wifi's working # Check wifi's working

@ -1,6 +1,6 @@
--- ---
title: "wpa_supplicant" title: "wpa_supplicant"
tags: [ "Documentation", "Networking" ] tags: [ "Networking" ]
--- ---
wpa_supplicant configurations are stored in /etc/wpa_supplicant/wpa_supplicant-wlan0 (or equivalent). wpa_supplicant configurations are stored in /etc/wpa_supplicant/wpa_supplicant-wlan0 (or equivalent).

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" title: "Basic Sound"
tags: [ "Documentation", "Sound" ] tags: [ "Sound" ]
--- ---
# Pulse # Pulse

@ -1,6 +1,6 @@
--- ---
title: "festival" title: "festival"
tags: [ "Documentation", "Sound" ] tags: [ "Sound" ]
--- ---
# Basics # Basics

@ -1,6 +1,6 @@
--- ---
title: "mpd" title: "mpd"
tags: [ "Documentation", "Sound" ] tags: [ "Sound" ]
--- ---
# Setup # Setup

@ -1,6 +1,6 @@
--- ---
title: "ncmpcpp" title: "ncmpcpp"
tags: [ "Documentation", "Sound" ] tags: [ "Sound" ]
--- ---
# Music Player Daemon # Music Player Daemon

@ -1,6 +1,6 @@
--- ---
title: "android" title: "android"
tags: [ "Documentation", "System" ] tags: [ "System", "phone" ]
--- ---
# mtpfs # mtpfs

@ -1,6 +1,6 @@
--- ---
title: "awk" title: "awk"
tags: [ "Documentation", "System" ] tags: [ "System" ]
--- ---
# Basics # Basics

@ -1,6 +1,6 @@
--- ---
title: "bash tips" title: "bash tips"
tags: [ "Documentation", "Shell", "POSIX" ] tags: [ "Shell", "POSIX" ]
--- ---
## Track Live Changes ## Track Live Changes

@ -1,6 +1,6 @@
--- ---
title: "character-encoding" title: "character-encoding"
tags: [ "Documentation", "System" ] tags: [ "System" ]
--- ---
Convert a text file from one encoding type to another with: Convert a text file from one encoding type to another with:

@ -1,6 +1,6 @@
--- ---
title: "Default Programs" 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. Install the package `xdg-utils`, then make very liberal use of the tab button.

@ -1,6 +1,6 @@
--- ---
title: "$EDITOR" 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`. The System's default text editor can be defined within /etc/profile. It's given the variable `EDITOR`.

@ -1,6 +1,6 @@
--- ---
title: "fstab" title: "fstab"
tags: [ "Documentation", "System" ] tags: [ "System" ]
--- ---
# Basics # Basics

@ -1,6 +1,6 @@
--- ---
title: "kernel" title: "kernel"
tags: [ "Documentation", "System" ] tags: [ "System" ]
--- ---
Check which kernet modules are loaded into memory Check which kernet modules are loaded into memory

@ -1,6 +1,6 @@
--- ---
title: "lf - The Light File Manager" title: "lf - The Light File Manager"
tags: [ "Documentation", "File Browser" ] tags: [ "File Browser" ]
--- ---
![lf](/tapes/lf.gif) ![lf](/tapes/lf.gif)

@ -1,6 +1,6 @@
--- ---
title: "logs" title: "logs"
tags: [ "Documentation", "System" ] tags: [ "System" ]
--- ---
# Basic # Basic

@ -1,6 +1,6 @@
--- ---
title: "mdadm" title: "mdadm"
tags: [ "Documentation", "RAID" ] tags: [ "RAID" ]
--- ---
# RAID5 # RAID5

@ -1,6 +1,6 @@
--- ---
title: "Monitoring" title: "Monitoring"
tags: [ "Documentation", "System", "CPU", "Memory" ] tags: [ "System", "CPU", "Memory" ]
--- ---
Print the average CPU load over 1 minute, 5 minutes, and 15 minutes: Print the average CPU load over 1 minute, 5 minutes, and 15 minutes:

@ -1,6 +1,6 @@
--- ---
title: "partitions" title: "partitions"
tags: [ "Documentation", "System" ] tags: [ "System" ]
--- ---
# FDisk Basics # FDisk Basics

@ -1,6 +1,6 @@
--- ---
title: "snaps" title: "snaps"
tags: [ "Documentation", "System", "Ubuntu", "snap" ] tags: [ "System", "Ubuntu", "snap" ]
--- ---
> sudo apt-get purge -y snapd > sudo apt-get purge -y snapd

@ -1,6 +1,6 @@
--- ---
title: "swap" title: "swap"
tags: [ "Documentation", "basics" ] tags: [ "basics" ]
--- ---
# Making a Swap File # Making a Swap File

@ -1,6 +1,6 @@
--- ---
title: "journal" title: "journal"
tags: [ "Documentation", "systemd" ] tags: [ "systemd" ]
--- ---
See a running log of all system messages: See a running log of all system messages:

@ -1,6 +1,6 @@
--- ---
title: "Making Services" title: "Making Services"
tags: [ "Documentation", "systemd" ] tags: [ "systemd" ]
--- ---
# Basics # Basics

@ -1,6 +1,6 @@
--- ---
title: "systemd" title: "systemd"
tags: [ "Documentation", "systemd" ] tags: [ "systemd" ]
--- ---
```bash ```bash
systemctl list-units systemctl list-units

Some files were not shown because too many files have changed in this diff Show More