Linux Tutorial
Här är en kort men koncis Linux tutorial med lite övningar för att lära sig mer om Linux.
- Grundläggande Linux-kommandon
- Fil- och kataloghantering
- Användar- och behörighetshantering
- Textredigering med nano och emacs
- Shell-scripting
- Paket- och mjukvaruhantering
- Nätverkshantering
- Process- och tjänstehantering
- Systemövervakning och logghantering
- Säkerhet och brandväggshantering
- Backup och återställning
Grundläggande Linux-kommandon
Linux erbjuder en mängd grundläggande kommandon som hjälper dig navigera och interagera med systemet.
- ls: Lista filer och kataloger.
- cd: Byt katalog.
- pwd: Visa nuvarande katalog.
- cp: Kopiera filer eller kataloger.
- mv: Flytta eller döpa om filer eller kataloger.
- rm: Ta bort filer eller kataloger.
- touch: Skapa en tom fil.
- mkdir: Skapa en ny katalog.
Övningar:
- Använd ls för att lista alla filer i din hemkatalog.
- Skapa en ny katalog med namnet "övning" och byt till den med cd.
- Skapa en ny fil i "övning"-katalogen med touch och lista filerna igen med ls.
- Kopiera den skapade filen till en ny fil med namnet "kopia".
- Flytta den ursprungliga filen till en ny plats och döp om den.
- Ta bort både den ursprungliga och kopian av filen.
- ls ~
- mkdir ~/exercise, cd ~/exercise
- touch ny_fil.txt, ls
- cp ny_fil.txt kopia.txt
- mv ny_fil.txt ~/ny_plats.txt
- rm ~/ny_plats.txt kopia.yxt
Fil- och kataloghantering
Förstå hur man hanterar filer och kataloger är avgörande för att arbeta effektivt i Linux.
- find: Sök efter filer i en kataloghierarki.
- grep: Sök efter text i filer.
- tar: Arkivera filer.
- gzip: Komprimera filer.
- chmod: Ändra filbehörigheter.
- chown: Ändra ägarskap av filer.
Övningar:
- Använd find för att hitta alla .txt-filer i din hemkatalog.
- Använd grep för att söka efter ordet "Linux" i alla .txt-filer.
- Skapa en tar-arkiv av din "övning"-katalog.
- Komprimera tar-arkivet med gzip.
- Ändra behörigheterna på en fil så att endast ägaren kan läsa och skriva den.
- Ändra ägarskapet på en fil till en annan användare.
- find ~ -name "*.txt"
- grep -r "Linux" ~/*.txt
- tar-cvf övning.tar övning/
- gzip övning.tar
- chmod 600 fil.txt
- sudo chown annan_användare fil.txt
Användar- och behörighetshantering
Hantera användare och deras behörigheter är grundläggande för systemadministration.
- useradd: Lägg till en ny användare.
- passwd: Ändra användarlösenord.
- usermod: Ändra användaruppgifter.
- userdel: Ta bort en användare.
- groups: Visa gruppmedlemskap.
- chmod: Ändra filbehörigheter.
- chown: Ändra filägarskap.
Övningar:
- Skapa en ny användare och sätt ett lösenord för den användaren.
- Ändra gruppen för en användare och lägg till användaren i ytterligare en grupp.
- Ta bort en användare från systemet.
- Skapa en fil som endast den nya användaren har åtkomst till.
- Ändra ägaren av en fil till den nya användaren.
- sudo useradd ny_användare, sudo passwd ny_användare
- sudo usermod -g ny_grupp ny_användare, sudo usermod -aG ytterligare_grupp ny_användare
- sudo userdel ny_användare
- sudo touch fil.txt, sudo chown ny_användare fil.txt, sudo chmod 600 fil.txt
- sudo chown ny_användare fil.txt
Textredigering med Nano och Emacs
Nano och Emacs är två vanliga textredigerare i Linux.
- Emacs: Kraftfull textredigerare med många funktioner.
- Nano: Enklare textredigerare, lättare att lära sig.
Övningar:
- Skapa och redigera en fil med emacs, lägg till några rader text och spara filen.
- Öppna samma fil med nano, gör några ändringar och spara filen.
- Utforska grundläggande emacs-kommandon som open, delete, save och exit.
- Utforska grundläggande nano-kommandon som save, exit och sök.
- emacs, ctrl f, ge filen ett namn, skriv några rader, spara ctrl x s
- nano filnamn, spara filen ctrl + o, ctrl + x
- emacs, ctrl f för att öppna fil, ctrl + x s för spara ctrl x + c för att stänga emacs
- ctrl + o för att spara ctrl + x för stänga nano
Shell-scripting
Shell-scripting möjliggör automatisering av uppgifter.
- Bash-syntax.
- Variabler och operatorer.
- Loopar och konditioner.
- Funktioner.
Övningar:
- Skriv ett script som skriver "Hello, World!" till terminalen.
- Skapa ett script som tar emot ett användarnamn som argument och skriver ut en hälsning.
- Skriv ett script som loopar genom alla filer i en katalog och skriver ut deras namn.
- Skapa ett script som tar två nummer som argument och skriver ut deras summa.
- echo 'echo "Hello, world!"' > hello.sh, chmod +x hello.sh, ./hello.sh
- echo 'echo "Hello, $1!"' > greet.sh, chmod +x greet.sh, ./greet.sh användarnamn
- echo 'for file in *; do echo $file; done' > list_files.sh, chmod +x list_files.sh, ./list_files.sh
- echo ' echo $(($1 + $2))' > sum.sh, chmod +x sum.sh, ./sum.sh 2 3
Paket- och mjukvaruhantering
Installera och hantera mjukvara med pakethanterare.
- apt: Används i Debian-baserade system.
- yum: Används i RPM-baserade system.
- snap: Universella paket.
Övningar:
- Använd apt för att söka efter ett paket.
- Installera ett paket med apt.
- Uppdatera alla installerade paket med apt.
- Ta bort ett paket med yum.
- Installera en snap-applikation.
- apt search paketnamn
- sudo apt install paketnamn
- sudo apt update, sudo apt upgrade
- sudo yum remove paketnamn
- sudo snap install applikation
Nätverkshantering
Förstå och hantera nätverkskonfigurationer och tjänster.
- ifconfig eller ip: Visa och konfigurera nätverksgränssnitt.
- ping: Kontrollera nätverksanslutning.
- netstat: Visa nätverksstatistik.
- ssh: Fjärranslutning till andra datorer.
Övningar:
- Använd ifconfig eller ip för att visa dina nätverksgränssnitt.
- Ping en webbplats för att kontrollera din internetanslutning.
- Använd netstat för att visa alla öppna nätverksanslutningar.
- Anslut till en annan dator via ssh.
- ipconfig eller ip addr
- ping www.mockupsajt.se
- netstat -tuln
- ssh användare@dator
Process- och tjänstehantering
Hantera processer och tjänster på systemet.
- ps: Visa körande processer.
- top: Visa systemets resursanvändning.
- kill: Döda en process.
- systemctl: Hantera systemd-tjänster.
Övningar:
- Använd ps för att lista alla körande processer.
- Använd top för att övervaka systemets resursanvändning.
- Döda en process med kill.
- Starta och stoppa en tjänst med systemctl.
- ps aux
- top
- kill PID
- sudo systemctl start tjänst, sudo systemctl stop tjänst
Systemövervakning och logghantering
Övervaka systemet och hantera loggfiler.
- dmesg: Visa systemmeddelanden.
- journalctl: Visa systemd-loggar.
- tail: Visa slutet av en fil.
- du: Diskanvändning.
- df: Diskutrymme.
Övningar
- Använd dmesg för att visa systemmeddelanden.
- Visa de senaste 50 raderna i systemloggen med journalctl.
- Använd tail för att visa de sista 10 raderna i en loggfil.
- Använd du för att visa hur mycket utrymme en katalog använder.
- Kontrollera hur mycket diskutrymme som används med df.
- dmesg
- journalctl -n 50
- tail -n 10 /var/log/syslog
- df -h
- du -sh katalog
Säkerhet och Brandväggshantering
Säkerhet är kritisk för att skydda ditt system.
- ufw: Enkel brandväggshantering.
- iptables: Avancerad brandväggshantering.
- ssh: Säker fjärranslutning.
Övningar:
- Konfigurera ufw för att tillåta SSH-anslutningar.
- Blockera en specifik IP-adress med ufw.
- Visa alla aktuella iptables-regler.
- Skapa en ny regel med iptables för att blockera trafik på en specifik port.
- sudo ufw allow ssh
- sudo ufw deny from IP-adress
- sudo iptables -L
- sudo iptables -A INPUT -p tcp --dport portnummer -j DROP
Backup och återställning
Säkerhetskopiera och återställ dina data.
- rsync: Kraftfull backup-verktyg.
- tar: Arkivering.
- cron: Schemaläggning av uppgifter.
Övningar:
- Använd rsync för att säkerhetskopiera en katalog till en annan plats.
- Skapa en schemalagd uppgift med cron som säkerhetskopierar en katalog varje natt.
- Återställ en säkerhetskopia från en tar-arkiv.
- rsync -avh källa/ destination/
- crontab -e
- tar -xvzf säkerhetskopia.tar.gz -C destination
Slutligen
Nu så har jag äntligen fått upp alla svar på sidan. Hittar Du något eller har frågor, synpunkter och så vidare så kontakta mig gärna.
Kontakt