Linux er oprindeligt designet til at køre ved hjælp af skrevne kommandoer. Her vil du lære hvordan du tilgår og anvender terminalen til at administrere computeren, og arbejde med filer.
Når du starter Ubuntu op, så kører den det vi kalder sessions. På en server starter du i TTY1, og på en desktop starter du i en grafisk brugerflade. Uanset om du logger ind på en server eller en desktop, så starter du i brugerens hjem.
På en server ser det sådan ud:
Ubuntu 20.04.1 server1 tty1 server1 login: _Alle Linux-systemer kører flere sessions som kører i hver deres TTY (Tele TYpewriters ). Hver session kan have forskellige brugere logget på.
Der er lidt forskel på Ubuntu desktop og Ubuntu server, som du kan se i tabellen herunder.
Session | Ubuntu desktop | Ubuntu Server |
---|---|---|
TTY1 | GUI til ekstra brugere | Terminal 1 |
TTY2 | Opstarts GUI | Terminal 2 |
TTY3 | Terminal 1 | Terminal 3 |
TTY4 | Terminal 2 | Terminal 4 |
TTY5 | Terminal 3 | Terminal 5 |
TTY6 | Terminal 4 | Terminal 6 |
TTY7 | GUI 2 | N/a |
TTY8 | GUI 3 | N/a |
Du kan skifte mellem sessions ved at bruge følgende tastekombination.
Ctrl+Alt+F1 til F8
Har du din server kørende i VirtualBox skal du anvende:
Højre Ctrl+F1 til F8
Når man er logget ind får man følgende information fra kommandolinien
Linien tj@tj-VirtualBox:~$ fortæller altså:
$ bliver erstattet af # hvis man er root (se nedenfor):
tj@server1:~$ sudo su [sudo] password for tj: root@tj-VirtualBox:/home/tj#De fleste kommandoer har tre sektioner:
[kommando] [optioner] [målet for kommandoen]
Eksempel
ping -c 4 www.dr.dk
ping er kommandoen, -c 4 er optionen, og www.dr.dk er målet.
tj@server1:~$ ping -c 4 dr.dk PING dr.dk (159.20.6.38) 56(84) bytes of data. 64 bytes from 159.20.6.38: icmp_seq=1 ttl=63 time=13.0 ms 64 bytes from 159.20.6.38: icmp_seq=2 ttl=63 time=12.9 ms 64 bytes from 159.20.6.38: icmp_seq=3 ttl=63 time=13.3 ms 64 bytes from 159.20.6.38: icmp_seq=4 ttl=63 time=14.0 ms --- dr.dk ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 12.966/13.342/14.017/0.423 msHvis optionen -c 4 ikke tilføjes, kører kommandoen indtil den bliver afbrudt med tastekombinationen Ctrl+c (stop kommandoen) eller Ctrl+z (afbryd programmet).
Nogle kommandoer kan indlejrer – f.eks. time (finder tidsforbruget af en kommando)
time ping -c 4 www.dr.dk
PING dr.dk (159.20.6.38) 56(84) bytes of data.
64 bytes from 159.20.6.38: icmp_seq=1 ttl=63 time=12.6 ms
64 bytes from 159.20.6.38: icmp_seq=2 ttl=63 time=13.9 ms
64 bytes from 159.20.6.38: icmp_seq=3 ttl=63 time=12.3 ms
64 bytes from 159.20.6.38: icmp_seq=4 ttl=63 time=14.6 ms
--- dr.dk ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 12.331/13.369/14.614/0.929 ms
real 0m3.041s
user 0m0.004s
sys 0m0.000s
root er Linuxsystemets superbruger, som har rettigheder til at gøre alt. Det kan f.eks. være:
Af sikkerhedshensyn kan det ikke lade sig gøre at logge på som root. For at klare dette problem har man lavet en gruppe, hvor man kan tilføje brugere der kan få root-rettigheder. Gruppen kaldes sudo.
Brugeren du oprettede da du installerede computeren er automatisk medlem af denne gruppe.
Når du udfører kommandoer med sudo, så har du ret til at gøre alt.
Det betyder også at du kan ødelægge og slette vigtige filer på computeren.
Her vil en bruger have informationer om harddiskens partitioner
parted -l
tj@server1:~$ parted -l
/dev/mapper/control: open failed: Permission denied
Failure to communicate with kernel device-mapper driver.
Incompatible libdevmapper 1.02.167 (2019-11-30) and kernel driver (unknown version).
Første linie fortæller: Permission denied, fordi brugeren ikke har adgang.
Bruger vi sudo foran kommandoen bliver vi bedt om vores password.
tj@server1:~$ sudo parted -l [sudo] password for tj:Når vi har indtastet det, får vi
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2097kB 1049kB bios_grub 2 2097kB 1076MB 1074MB ext4 3 1076MB 107GB 106GB Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 32.2GB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system Flags 1 0.00B 32.2GB 32.2GB ext4Hvis der skal udføres meget administrationsarbejde vælger man ofte at bruge kommandoen sudo su. Denne kommando ændrer ens bruger til root, og man får adgang til root-shell:
I en root-shell udføres alle kommandoer som root.
sudo su
addr sudo su
[sudo] password for tj:
root@tj-VirtualBox:/home/tj#
Hvis man skal lave systemarbejde kan det nogle gange være optimalt at anvende root-shell.
Man skal altid lukke en terminal-session ned når man er færdig med sit arbejde. Det gøres ligesom ovenfor ved hjælp af kommandoen: exit.
exit
root@tj-VirtualBox:/home/tj# exit
exit
tj@server1:~$ _
Forsøger man at lukke den ned ved hjælp af Alt+F4, vil man få følgende fejlmeddelelse:
Det skyldes at root-shell kører ovenpå en terminal-shell. Klikker vi på , så afsluttes vores terminal-session
Til alle terminalens kommandoer er der skrevet en manual, og den kan man tilgå ved med kommandoen man [kommando]. Her kan man læse hvordan kommandoen bruges (Synopsis) og de optioner man kan tilføje (Descriptions). Herunder er de første linier af kommandoen man ls.
man ls
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is speci‐
fied.
Mandatory arguments to long options are mandatory for short options
too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
Man scroller med piletasterne og afslutter med [q].
De ligger også på internettet (https://manpages.ubuntu.com/). Du kan bruge denne sides søgefunktion, men jeg plejer at åbne en browser og så lave en direkte søgning. f.eks:
ubuntu man ls
Her vil det første link som regel være direkte til Ubuntu's manpages.