Basic

Details

  1. What is Linux?
  2. What is bash?
  3. Bash basics
  4. ls, cd, vim (or any other console text editor)
  5. Filesystem structure
  6. SSH basics
    1. Generate keys with ssh-keygen
    2. Log into the remote server
  1. https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-basics
  2. https://www.youtube.com/watch?v=ROjZy1WbCIA&ab_channel=freeCodeCamp.org
  3. https://www.digitalocean.com/community/tutorials/ssh-essentials-working-with-ssh-servers-clients-and-keys

Intermediate

Details

  1. Average linux user
    1. Working with bash
    2. navigating through folders
    3. creating/editing files
    4. changing permisions
    5. installing/updating software(apt, apk)
    6. managing process (top, kill, tree)
    7. working with networking commands (if, ping, ufw)
    8. ability to work with at least one of the main linux distributions (redhat (centos, fedora), ubuntu, debian, alpine)
  2. SSH (copying files, creating/using ssh keys, using ssh config, etc)
  1. https://www.edx.org/course/introduction-to-linux
  2. https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server
  3. https://linuxize.com/post/using-the-ssh-config-file/
  4. https://www.youtube.com/watch?v=ROjZy1WbCIA
  5. https://www.youtube.com/watch?v=Wgi-OfbP2Gw
  6. https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper

Advanced

Details

  1. Basics of shell scripting
  2. Using cron
  3. Networking, managing firewall, IP tables
  4. Working with systemd
  5. Installing and configuring essential services
    1. OpenSSH
    2. OpenVPN
    3. Docker
  6. SSH port-forwarding
  1. https://wiki.bash-hackers.org/scripting/basics
  2. https://www.freecodecamp.org/news/shell-scripting-crash-course-how-to-write-bash-scripts-in-linux/
  3. https://www.digitalocean.com/community/tutorials/how-to-use-cron-to-automate-tasks-ubuntu-1804
  4. https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units
  5. https://www.digitalocean.com/community/tutorials/how-to-set-up-and-configure-an-openvpn-server-on-ubuntu-20-04
  6. https://ubuntu.com/server/docs/service-openssh
  7. https://help.ubuntu.com/community/InternetAndNetworking

Notes

Install Lib

Volta

# install Volta
curl https://get.volta.sh | bash

# install Node
volta install node

# start using Node
node

Docker

Command line

Remove all file with extend “Zone.Identifier” in folder

find . -type f -name "*Zone.Identifier" -exec rm -f {} \;

NVM

install

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

install node

nvm install node --lts

check port already use

netstat -tuln | grep 4000

Vim