Merge branch 'dev' into vhs
This commit is contained in:
commit
89ec9614e5
24
basics/yes.md
Normal file
24
basics/yes.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
title: "yes"
|
||||||
|
tags: [ "basics" ]
|
||||||
|
---
|
||||||
|
# The Best Linux Program: `yes`
|
||||||
|
|
||||||
|
The program `yes` prints the word `yes` to your terminal until you cancel it, perhaps with 'Control + c'.
|
||||||
|
Or technically it prints `yes\n`, meaning `yes` and then a new line (like pressing the Return key).
|
||||||
|
|
||||||
|
This is extremely powerful.
|
||||||
|
|
||||||
|
If you ever want to automatically install something which persistently nags you with `do you want to do the thing? [y/N]?`, then you can just pipe `yes` into that program, and it will answer 'yes' to all questions.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yes | $INSTALL_SCRIPT_FILE.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
This works best for disposable systems, like VMs or containers.
|
||||||
|
Try this on a live system, and you might find out that you should have read that message fully.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yes | yay
|
||||||
|
```
|
||||||
|
|
33
distros/void/Brand_Name_Wallpaper.md
Normal file
33
distros/void/Brand_Name_Wallpaper.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
title: "Brand Name Wallpaper"
|
||||||
|
tags: [ "void" ]
|
||||||
|
---
|
||||||
|
|
||||||
|
To automatically stick the logo onto your background, do these commands in the directory.
|
||||||
|
|
||||||
|
Get the void linux logo from wikipedia
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wget https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/Void_Linux_logo.svg/256px-Void_Linux_logo.svg.png?20170131170632
|
||||||
|
```
|
||||||
|
|
||||||
|
Rename it, and resize it (the standard size is too small for most wallpapers)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
convert -resize 200% '256px-Void_Linux_logo.svg.png?20170131170632' void-logo.png
|
||||||
|
```
|
||||||
|
Download a pretty wallpaper
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wget http://wallpapercave.com/wp/Wlm9Gv0.jpg
|
||||||
|
```
|
||||||
|
|
||||||
|
Put the void logo on all *jpg and *png images
|
||||||
|
|
||||||
|
```bash
|
||||||
|
for x in *.jpg
|
||||||
|
do
|
||||||
|
composite -compose multiply -gravity Center void-logo.png "$x" "$x"
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
@ -12,6 +12,11 @@ See changes in a directory, as it changes:
|
|||||||
|
|
||||||
`watch -d ls *directory*`
|
`watch -d ls *directory*`
|
||||||
|
|
||||||
|
Or use the `-g` flag to exit once the output changes.
|
||||||
|
This command will look at whether you're connected to the internet, and turn into a rainbow once the connection hits.
|
||||||
|
|
||||||
|
> watch -g ip address && clear && ip address | lolcat
|
||||||
|
|
||||||
## Automatic Renaming
|
## Automatic Renaming
|
||||||
|
|
||||||
There are a bunch of files:
|
There are a bunch of files:
|
||||||
@ -34,17 +39,19 @@ done
|
|||||||
|
|
||||||
IFS is the field separator. This is required to denote the different files as marked by a new line, and not the spaces.
|
IFS is the field separator. This is required to denote the different files as marked by a new line, and not the spaces.
|
||||||
|
|
||||||
|
(Alternatively, just install `renameutils` and do `rename Column Alice *`)
|
||||||
|
|
||||||
## Arguments and Input
|
## Arguments and Input
|
||||||
|
|
||||||
The `rm' program takes arguments, but not `stdin' from a keyboard, and therefore programs cannot pipe results into rm.
|
The `rm' program takes arguments, but not `stdin' from a keyboard, and therefore programs cannot pipe results into rm.
|
||||||
|
To fix this, use `xargs` to turn the stdin into an argument.
|
||||||
That said, we can sometimes pipe into rm with `xargs rm' to turn the stdin into an argument. For example, if we have a list of files called `list.txt' then we could use cat as so:
|
For example, if we have a list of files called `list.txt' then we could use cat as so:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cat list.txt | xargs rm
|
cat list.txt | xargs rm
|
||||||
```
|
```
|
||||||
|
|
||||||
... *However*, this wouldn't work if spaces were included, as rm would take everything literally.
|
Of course if spaces are included in the file, you would have to account for that.
|
||||||
|
|
||||||
## Numbers
|
## Numbers
|
||||||
|
|
||||||
@ -71,3 +78,22 @@ find . -type f -exec md5sum '{}' ';' | sort | uniq --all-repeated=separate -w 15
|
|||||||
```bash
|
```bash
|
||||||
cat /dev/urandom | tr -cd [:alnum:] | dd bs=1 count=200 status=none && echo
|
cat /dev/urandom | tr -cd [:alnum:] | dd bs=1 count=200 status=none && echo
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Temporary Working Directory
|
||||||
|
|
||||||
|
Try something out in a random directory in `/tmp` so the files will be deleted when you next shut down.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mktemp -d
|
||||||
|
```
|
||||||
|
|
||||||
|
That gives you a random directory to mess about in.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
dir=$(mktemp -d)
|
||||||
|
for x in {A..Z}; do
|
||||||
|
fortune > "$dir"/chimpan-$x
|
||||||
|
done
|
||||||
|
cd $dir
|
||||||
|
```
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user