mirror of
https://codeberg.org/Mo8it/How_To_Linux.git
synced 2024-12-05 01:40:32 +00:00
Compare commits
4 commits
de54e05321
...
f2a3378ab5
Author | SHA1 | Date | |
---|---|---|---|
f2a3378ab5 | |||
a208f60f38 | |||
7848f7da38 | |||
f53c58b012 |
9 changed files with 16 additions and 16 deletions
|
@ -18,13 +18,13 @@
|
|||
- [Notes](day_3/notes.md)
|
||||
- [CLIs of the day](day_3/clis_of_the_day.md)
|
||||
- [Tasks](day_3/tasks.md)
|
||||
|
||||
<!--
|
||||
- [Day 4](day_4/README.md)
|
||||
- [Shell scripting](day_4/shell_scripting.md)
|
||||
- [Notes](day_4/notes.md)
|
||||
- [CLIs of the day](day_4/clis_of_the_day.md)
|
||||
- [Tasks](day_4/tasks.md)
|
||||
|
||||
<!--
|
||||
- [Day 5](day_5/README.md)
|
||||
- [Notes](day_5/notes.md)
|
||||
- [CLIs of the day](day_5/clis_of_the_day.md)
|
||||
|
|
|
@ -95,7 +95,7 @@ Now, destroy the whole living room with the zombie in it.
|
|||
## Task: Password 🔑
|
||||
|
||||
⚠️ Launch the [fish shell](https://fishshell.com/) by running the command `fish` and stay in it for all following tasks.
|
||||
If you close the terminal and lauch it later again, you have to run `fish` again.
|
||||
If you close the terminal and launch it later again, you have to run `fish` again.
|
||||
We will learn more about the fish shell later.
|
||||
|
||||
Use the command `passwd` to reset the password of your user. It is important to have a secure password!
|
||||
|
|
|
@ -172,7 +172,7 @@ The loud friend is removed!
|
|||
|
||||
> **Note**: Although `rm` deletes the file from the file system, there is still some chance that the file content still exists on the disk.
|
||||
> One could try to recover it with some tools, but it is hard and nothing is guaranteed.
|
||||
> Nevertheless, if you want to delete something senstive for sure, then you have to use a tool that overwrites the file content before deleting it.
|
||||
> Nevertheless, if you want to delete something sensitive for sure, then you have to use a tool that overwrites the file content before deleting it.
|
||||
> Physically destroying the whole disk is also an option 🔥😂
|
||||
|
||||
Does `rm` also work with directories?
|
||||
|
|
|
@ -54,7 +54,7 @@ Here is an example that shows the content of all files with the extension `.txt`
|
|||
ls *.txt | xargs cat
|
||||
```
|
||||
|
||||
If you have the files `fiel1.txt` and `file2.txt` in the current directory, then the command above is equivalent to just running `cat file1.txt file2.txt`.
|
||||
If you have the files `file1.txt` and `file2.txt` in the current directory, then the command above is equivalent to just running `cat file1.txt file2.txt`.
|
||||
|
||||
## ripgrep
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ How could you use `wc` without arguments?
|
|||
You might have guessed it now, make some `wc` pipes.
|
||||
OK, I admit that the naming is not the best 🚾😂
|
||||
|
||||
Let's get some data to work with.c
|
||||
To do so, we will use the command `curl` which graps content from the internet.
|
||||
Let's get some data to work with.
|
||||
To do so, we will use the command `curl` which fetches content from the internet.
|
||||
|
||||
Let's count the number of lines of the HTML file of the homepage of this book:
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ Here are some examples:
|
|||
- `touch dir/sub1/file{1,2}.txt` ➡️ `touch dir/sub1/file1.txt dir/sub1/file2.txt`
|
||||
- `cp dir/sub1/file1.txt{,.bak}` ➡️ `cp dir/sub1/file1.txt dir/sub1/file1.txt.bak`
|
||||
|
||||
> **Note**: The additional extension `.bak` is sometimes used for **ba**c**k**ups.
|
||||
> **Note**: The additional extension `.bak` is sometimes used for backups.
|
||||
|
||||
## Globbing
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Bash offers basic (auto)completion, but Fish takes it to the next level!
|
|||
Type `ls ~/` (without hitting `Enter` yet) and press `Tab` twice in Bash.
|
||||
Bash will just show you all possible completion options.
|
||||
But Fish will let you cycle through these options with `Tab` and `Shift + Tab` to choose one!
|
||||
This doen't only work with paths, but also for commands and even command options!
|
||||
This doesn't only work with paths, but also for commands and even command options!
|
||||
|
||||
In Bash, you you can cycle through your command history using the up and down arrow keys.
|
||||
But in Fish, you can also start a command and _then_ cycle through your history that has the same **prefix** with the up and down arrow keys!
|
||||
|
@ -119,7 +119,7 @@ Everytime you start zellij, you have to start fish afterwards.
|
|||
Wouldn't it be awesome to have Fish as the default shell in Zellij?
|
||||
|
||||
Let's make it the default one!
|
||||
Add the following line to the beinning of the configuration file `~/.config/zellij/config.kdl`:
|
||||
Add the following line to the beginning of the configuration file `~/.config/zellij/config.kdl`:
|
||||
|
||||
```kdl
|
||||
default_shell "/usr/bin/fish"
|
||||
|
|
|
@ -31,7 +31,7 @@ Create an issue on [the repository of the course](https://codeberg.org/mo8it/dev
|
|||
|
||||
Read some of the issues created by others and add some emoji reactions and maybe a reply to them.
|
||||
|
||||
## Task: SSH key pair
|
||||
## Task: SSH key pair 🔑
|
||||
|
||||
Create an SSH key pair _without a passphrase_ and add its public part to your Codeberg account following the beginning of [this guide](https://docs.codeberg.org/security/ssh-key/).
|
||||
|
||||
|
@ -42,7 +42,7 @@ But for a better security in general, you should use a passphrase for your SSH k
|
|||
|
||||
You can take a look at [this guide](https://docs.codeberg.org/getting-started/first-repository/) for this task.
|
||||
|
||||
Create a new repositry called `dev-tools-demo` and clone it to your machine with `git clone SSH_GIT_LINK`.
|
||||
Create a new repository called `dev-tools-demo` and clone it to your machine with `git clone SSH_GIT_LINK`.
|
||||
|
||||
After cloning, a new directory should be created with the name of the repository.
|
||||
Move into that directory and create the markdown file `README.md`.
|
||||
|
@ -69,10 +69,10 @@ $ git commit -m "MEANINGFUL MESSAGE"
|
|||
|
||||
`push` your changes after being done with all building blocks.
|
||||
|
||||
Verfiy that the README file was rendered as expected.
|
||||
Verify that the README file was rendered as expected.
|
||||
If not, fix the Markdown issues, commit and push the changes again.
|
||||
|
||||
## Task: License
|
||||
## Task: License 📄
|
||||
|
||||
Add the [AGPLv3 license](https://choosealicense.com/licenses/agpl-3.0/) as a file `LICENSE.txt` to your demo repository.
|
||||
Commit and push the file!
|
||||
|
@ -84,7 +84,7 @@ But it is important to add a license to your projects!
|
|||
AGPLv3 is the one that I normally use and recommend for free open source software.
|
||||
You can read about it and compare it to others using [choosealicense.com](https://choosealicense.com) for example.
|
||||
|
||||
## Task: Write the script for me
|
||||
## Task: Write the script for me 😜
|
||||
|
||||
Fork [the repository of the course](https://codeberg.org/mo8it/dev-tools) and clone your fork into your machine.
|
||||
|
||||
|
|
|
@ -322,7 +322,7 @@ fi
|
|||
|
||||
<!-- TODO: Long command on multiple lines \ -->
|
||||
|
||||
<!-- Why ./SCRIPT_NANE -->
|
||||
<!-- Why ./SCRIPT_NAME -->
|
||||
|
||||
<!-- TODO: Permissions -->
|
||||
|
||||
|
|
Loading…
Reference in a new issue