Kommandoer
Filsystemet

Herunder får du præsenteret en række kommandoer, som giver dig mulighed for at administrere systemet, manipulere med filer, få informationer om hardware og netværk.

Til forskel fra Windows der bliver konfigureret ved hjælp af registreringsdatabases styres Linux af ”flade” filer, forstået på den måde at programmer bliver konfigureret ved hjælp af en eller flere tekstbaserede konfigurationsfiler. Har man lavet ændringer i en konfigurationsfil genstarter man tjenesten, som herefter indlæser og anvender den nye konfigurationsfil. Mange af kommandoerne er vist med eksempler, der er er praktisk anvendelige.

En af de ting der også er nyt for mange der bruger Linux er de rettigheder filerne har. Alle filer og mapper får sat læse/skrive/køre rettigheder for henholdsvis ejeren, gruppen og alle andre. root-brugeren (bliver også kaldt supueruser) er dog undtaget for denne regel. root kan alt på en Linux computer, så derfor skal kommandoer der har med selve operativsystemet og konfigurationsfiler køres med rootbrugerens rettigheder. Man skifter til roorbrugerens rettigheder ved at køre kommandoen sudo. Skal man køre mange kommandoer kan man køre kommandoen sudo su, og ændres brugeren til root. I disse dokumenter har jeg valgt at vise kommandoerne uden sudo foran.

Alt er filer

I Linux er alt filer. En mappe er egentlig bare en fil, der henviser til en samling af filer, og hardware er præsenteret ved hjælp af en fil. F.eks. har den første partition på den første SATA disk i systemet filadressen /dev/sda1, den næste /dev/sda2 osv. Selve harddisken hedder i filsystemet /dev/sda.

Filsystemets opbygning

I Linuxsystemer er alt filer og filsystemet tager udgangspunkt i roden (/) hvorfå alle mapper er monteret. Mapperne i roden af filsystemet følger FHS (Filesystem Hierarchy Standarden) som bliver vedligeholdt af Linux Foundattion. Herunder er de mapper der ligger i roden i Ubuntu, med en kort forklaring om hvad de indeholder. De mapper der er markeret med fed er dem som man ofte vil støde i systemarbejde på Ubuntu.

En anden stor fordel ved at anvende denne standard er, at man ikke skal bekymre sig om hvor f.eks. konfigurationsfilerne ligger. De vil altid ligge i /etc.

Herunder er et overblik over mapperne på roden og hvad de indeholder. Mapperne der er markeret med fed, er dem man oftest skal anvende når man laver systemarbejde.

/ Roden – det nederste niveau
/bin Binære filer - Her ligger mange af systemkommandoerne f,eks. ls og cd
/boot Opstartsfiler f.eks. Linux kernen
/dev Devices - f.eks. harddiske (sda1) og netkort (eth0)
/etc Konfigurationsfiler til systemet.
/home Brugernes hjemmemapper
/lib 32bits programbiblioteker (libraries) der bliver delt af computerens programmer
/lib64 64 bits programbiblioteker
/lost+found Fundne datafragmenter der ikke hører til nogle steder
/media Mappen hvor transportable enheder monteres. F.eks. USB-og CD/DVD-drev.
/mnt En mappe hvor man montere midlertidige drev. F.eks. netværksdrev
/opt Installerede programmer der ikke administreres af apt
/proc Processer - det er et real-time filsystem, der er placeret i RAM.
/root Superbrugerens hjemmemappe
/run En mappe der er placeret i RAM - her lægges tmp filer
/sbin root's binære filer -
/srv Servermappen. Heri lægges alle filer der deles med andre
/sys En mappe placeret i RAM, der viser informationer om hardware
/tmp En mappe til midlertidige filer
/usr Brugernes værktøjs- og programmappe. Indeholder indstillinger til de installerede programmer
/var Variable filer - filer der ændrer sig ofte f.eks. logfiler. Det er også i denne mappe at man finder Apaches www mappe.

Mappestruktur

Herunder er mappestrukturen for /home vist.

/
└── home
	└── tj
		├── Billeder
		├── bin
		├── Dokumenter
		├── Hentet
		├── Musik
		├── Offentligt
		├── public_html
		│   ├── css
		│   ├── images
		│   └── js
		├── Skabeloner
		├── Skrivebord
		├── Videoklip

Stien til mappen Hentet er: /home/tj/Hentet.

  1. niveau - / (roden)
  2. niveau - home
  3. niveau - tj
  4. niveau - Hentet

Filer

Linux anvender modsat windows både de store og små bogstaver i alfabetet. Derfor vil der under Linux være forskel på filerne data og Data og brugerne tj og Tj.

I Linux er der 3 grundlæggende rettigheder vi kan give filer og mapper: read, write og execute (læse, skrive og udføre).

Rettighed Forklaring
r - Read (læse) Man kan se indholdet af filen.
w - Write (skrive) Man kan ændre på indholdet i filen. Hvis der ikke er læse-rettigheder kan man ikke se indholdet, men man kan stadig ændre i den. Det kan f.eks. være logfiler som der skal skrives i, men som kun root skal læse i
x - eXecute (udførelse) Filen kan tolkes som et program og derfor køres af operativsystemet.

Det er ved hjælp af disse rettigheder at filens egenskaber er styret. I windows kan programmer genkendes ved deres efternavn f.eks. .exe eller .msi. I Linux bliver en tekstfil til et program, ved at man tilføjer execute rettighedet.

Man anvender også efternavne på filer i Linux, for at de bliver læsbare for brugeren. Det gælder f.eks for tekstfiler som: *.pdf og *.odt, grafikformater som *.jpg og *.png og til at kende forskellige filtyper fra hinanden f.eks: .sh til shellscript og .py til Python-filer.

Navigation

For at navigere rundt i og orientere sig i filsystemet anvender man følgende kommandoer:

  • cd - change directory
  • ls - list
  • pwd - print working directory
  • tree – viser filerne i træstruktur

Herunder angives eksempler med kommandoerne:

cd

cd /etc/apt Skift til mappen /etc/apt
cd / Skift til roden af filstrukturen
cd .. Gå et mappeniveau ned
cd ~ Skift til din hjemmemappe

ls

ls Viser fil- og mappenavne
ls -l udvidet visning (rettigheder,ejerskab, størrelse, dato)
ls -al Udvidet visning med de skjulte filer/mapper
ls -al /etc/log Udvidet visning af /etc/log
ls -d Vis kun filer
ls -d .* Vis kun skjulte filer
ls -d */ Viser kun mapper

pwd

pwd Viser hvor man er i filsystemet

tree

tree viser indholdet af en mappe i en træstruktur. Det følger ikke med som standard og skal derfor installeres først

sudo apt install tree -y

Det kan f.eks. bruges til vise filstrukturen som herunder tree /usr -d -L 1

thoj@thoj-VirtualBox:~$ tree /usr -d -L 1	
/usr
├── bin
├── games
├── include
├── lib
├── local
├── sbin
├── share
└── src

9 directories

Kommandoen udvider ls ved at man kan vise det i flere niveauer. Prøv f.eks. at køre kommandoen:

tree /usr -d -L 2
tree Viser filerne i træ struktur i den lokale mappe
tree /usr Viser træstrukturen i mappen /usr
tree /usr -d Viser kun mapper i /usr
tree /usr -d -L 1 Viser mapperne i /usr i et niveauer
tree /usr -du -L 1 Viser mapperne i /usr i et niveauer med ejerskab
tree /usr --du -L 1 Viser mapperne i /usr i et niveauer med filstørrelser
tree /usr --dirsfirst -L 1 Viser alle filerne i /usr og sætter mapperne først.
tree /usr -pua --dirsfirst Viser filerne med rettigheder og ejer og sætter mapperne først

Størrelse af filer

du - Disk usage

For at se hvor meget filerne i en folder fylder anvendes du.

du -hs ~

Herunder kan du se output fra mit eget system.

thoj@thoj-VirtualBox:~$ du -hs ~
2,6M	/home/thoj

df

For at se den brugte plads på en partition anvendes kommandoen df

df -h *partition*

-h gør at, størrelsen vises i MB og GB i stedet for Kb.

df -h Viser brugt plads på alle mountede partitioner i GB
df -h / Viser brugt plads på /
df -h -t ext4 Viser informationer om partitioner der er formateret med ext4
df -h -x tmpfs Viser informationer om partitioner der IKKE er formateret med tmpfs
df -hT / Viser også hvilket filsystem der anvendes

Læg mærke til at df viser pladsforbrug på den valgte partition, hvis du vælger en mappe derpå.

thoj@thoj-VirtualBox:~$ df -h -t ext4
Filsystem      Størr Brugt  Tilb Brug% Monteret på
/dev/sda1        91G  5,3G   81G    7% /
/dev/sdb1        99G   60M   94G    1% /data