Linux - Anton-L-GitHub/Learning GitHub Wiki

The Shell

  • Programmet som läger, tolkar och utför kommandona du skriver in.
  • Bash är standard nästan alla distros.
  • $ - Vanlig användare
  • ~ - Hemkatalogen
  • stdin (Standard input = 0), stdout (Standard output = 1), stderr (Standard Error = 1)
  • Environment variables, printenv, $USER, export

GAMMALT! ¤

General

Termer och begrepp

Shell

  • Type Bash
  • ÄR Case-Sensitive
  • Commands är endast text du skriver i en terminal.
  • Commandon är interpreted av shellet.
  • Olika shell kan interpret samma commando olika.

PATH

  • En lista med de sökvägar som shellet letar efter ditt commando/program.
  • Kommandon behöver vara i en av dessa folders för att kunna köras.

Manual Structure

Section Contains
1 User Commands
2 System Calls
3 C Library Functions
4 Devices and Special Files
5 File Formats and Conventions
6 Games
7 Miscellaneous
8 System Administration
  • 1, 5, 8 Är de man använder ofta.

Pipeing

Input/Output
STDOUT / STDIN

  • Standard input = 0
  • Standard output = 1
  • Standard error = 2

Tee

  • Bra för att ta en "snapshot" av data under strömmen.
  • Standard output till två ställen.
  • Förställ dig en litteraly T-pipe.
  • date | cut --delimiter=' ' --fields=1 | tee today.txt -> Skriv ut veckodagen på terminalen och spara i today.txt

xargs

  • Används som argument i en pipeline till ett command som behöver argument.
  • Fungerar typ som en variabel för outputet.
  • date | xargs echo

Firmware

Bios

Basic input/Outputsystem

EFI

Extensible Firmware interface

ESP

EFI System Partition

UEFI

Unified EFI

UEFI / Legacy

Booting -

Bootstrapping

Bootloader

  • Uppstart av datorn

Bootstrapping

  • Hur startar man sig själv?
  • Hur startar man en dator
  • Man gör något som är omöjligt, man lyfter sig själv i sina bootstrapps.

Partition

LVM

Grub

Linux OS

Innehåller i regel:

  • Användarapplikationer
  • Systemapplikationer och tjänster
  • Systemgränssnitt
  • Kärnan
  • Drivrutiner
bild

User Space

  • Where users like yourself will be directly interacting with the system.

Kernel

  • Core of the operating system.
  • Manages the hardware and tells it how to interact with the system.

Hardware

  • Includes all the hardware that your system runs on as well as memory, CPU, disks, etc.

Distros

Debian

Red Hat Enterprice

Ubuntu

  • Pakethanterare: Debian-baserad (.deb). Verktyg: apt, apt-get, dpkg

Fedora

Linux Mint

Gentoo

Arch Linux

openSUSE

Amazon Linux

  • Pakethanterare: Redhat-Baserad (.rmp). Verktyg: yum, rpm

Alpine

  • Bra för Docker
  • Pakethanterare: Alpine (.apk). Verktyg: apk

Pakethanteraren

  • Organiserar mjukvarakomponenterna(paketen) i distributionen
  • Håller på koll beroenden mellan paket
  • Pakethanterare: Redhat-baserad (.rpm), Debian-baserad (.deb), Alpine (.apk)

Filrättigheter

Användare

  • Ägare (u-user)
  • Gruppmedelmmar (g-group)
  • Alla andra (o-other)

Åtkomst

  • Läsa (r - read)
  • Skriva (w - write)
  • Exekvera (x - execute)

Grupper

  • Owner - Group - World

Ändra rättigheter

chmod chown

Användare och grupper

Användare

  • Alla medelmmar är i en primär grupp.
  • I Ubuntu skapas en grupp per användare, med samma namn som användaren.
  • Användaren kan också vara med i sekundära grupper för att få tillgång till program, systemresurser osv.
  • Användardatabasen är /etc/passwd. Obs! Innehåller ej lösenord.

Lösenord

  • Ligger i /etc/shadow. Obs! Endast root har tillgång.
  • Lagras alltid hashade och saltade.
  • Får ej innehålla "", de som ej ska logga in har lösen-hash "".
  • Kan även peppra med en systemspecifik kod.

Grupper

  • Grupper definieras i /etc/group/.

Numeriska ID

  • Root - användar-ID noll.
  • Vanliga användare - börjar på 1000.
  • Det är numeriska ID som spelar roll, bara namnet i /etc/passwd. ls -n

Vad händer med användarna och deras filer om jag flyttar en hårddisk från ett Linux-system till ett annat?

  • Hårddisken har ett eget filssystem på sig, det är bara siffror som ligger där. För att veta vilka användarnamn så kollar man i det nya systemet. Om det finns samma siffror så blir det samma användare, pga. de har samma användar-id (även fast den ena heter Sven och den andra heter Ragnar).

Processer

  • Alla processer körs som en användare.

  • kräver samma rättigheter som användaren

  • Har numeriska ID, "pid".

  • Processer kan skapa processer, så kallade barnprocesser.

  • För att se vilka processer som använder en fil: fuser

  • För att se vilka filer en viss process använder: lsof

  • För att se alla öppna filer: (?) lsof -p

Administration

Användare

  • useradd
  • usermod
  • userdel
  • passwd

Grupper

  • groupadd
  • groupmod
  • groupdel

sudo useradd --create-home

Olika användare

  • Systemanvändare "system account". Inget hem, användar-ID under 1000, ingen login
  • för att köra spec. tjänster, avgränsa rättigheter

Sudo

su

  • substitute user
  • Byter nuvarande användare. Obs! Krävs lösenord.

The shell

  • Program that interpret commands and executes them via the OS.
  • Bash is almost always standard

stdout, stdin, stderr

Pipe and tee

⚠️ **GitHub.com Fallback** ⚠️