Linux Flashcards
Keuze voor Linux als besturingssysteem (5)
1) rol
2) functie
3) levenscyclus
4) stabiliteit
5) kost
- rol: distributies beschikbaar voor verschillende systemen; commercieel voor servers & desktop, gespecialiseerd voor hergebruik van computers, embedded systemen, enz.
- functie: doel van gebruik of benodigde beveiliging bepalen distributie
- levenscyclus: grote en kleine updatecycli.
LTS (long term support): 5+ jaar, 13 jaar voor SUSE LTS - stabiliteit: stabiele & bèta-versies, ook releases in test
- kost: kosteloos, ondersteuning onder betaling
prompt sysadmin@localhost:~$ (3)
gebruikersnaam
systeemnaam
huidige directory
C: gebruikersnaam
whoami
C: systeemnaam
hostname
huidige directory
~
snelkoppeling: begin van command line
ctrl+A
snelkoppeling: einde van command line
ctrl+e
snelkoppeling: wis alles voor cursor in comando line
ctrl+u
snelkoppeling: wis terminal
ctrl+l (kleine L)
C: wis terminal
clear
teken voor 2 commando’s na elkaar uit te voeren
;
teken voor 2 commando’s voorwaardelijk: na succes
&&
teken voor 2 comamndo’s voorwaardelijk: na failure
||
C: toon het path van het commando
which command
whereis command kan ook, maar toont niet enkel executable files
type -a command bevat deze info ook, maar toont meer (vb alias)
C: info over soort commando
type command
C: toont waar commando opgeslaan is
type -a command
of whereis command
C: toon de historiek
history
C: toon de laatste 3 commando’s
history 3
C: voer het 5de laatste commando opnieuw uit
!-5
C: voer het laatste commando opnieuw uit
!!
C: voer het laatste commando ls opnieuw uit
!ls
snelkoppeling: zoek in history
+ 2e maal zoeken
ctrl+r
ctrl+r
C: hoe ken je ‘Mattijs’ toe aan variabel ‘naam’
naam=’Mattijs’
C: print variabel ‘naam’ (niet inhoud)
echo \naam
C: print de inhoud van variabel ‘naam’
echo $naam
C: print variabel ‘var’ + iabel
echo ${var}iabel
C: print nu is het datum
echo nu is het $(date)
C: toon lijst met omgevingsvariabelen
env
C: maak van lokale variabel ‘naam’ een omgevingsvariabel
export naam
C: schrap omgevingsvariabel ‘naam’
unset naam
noem 3 belangrijke omgevingsvariabelen
HOME, HISTSIZE & PATH
C: toon alle aliassen van huidige shell
alias
C: maak een alias met naam stoel van ls -l
alias stoel=’ls -l’
C: geef info weer over alias ‘stoel’
alias stoel
C: schrap de alias ‘stoel’
unalias stoel
welk teken voorkomt dat de shell speciale tekens interpreteert (allemaal)?
’
welk teken voorkomt dat de shell speciale tekens itnerpreteert (buiten variabelen en commando’s)?
”
$ maakt duidelijk dat het een variabel/commando is
welk karakter dient voor een opdrachtvervanging
` backquote
$(…)
globbing: betekenis *
0 of meer tekens
globbing: betekenis $
1 teken
globbing: 1 cijfer
[0-9]
globbing: 5 cijfers
[0-9]{5}
globbing: geen cijfer of letter
[^0-9,a-z,A-Z]
C: open documentatie van commando cp
man cp
wat is vaak de extensie van een man kaart?
.gz (gezipte tekst)
wat zijn de onderdelen van een man page (8)
1 name
2 synopsis
3 description
4 options
5 author
6 reporting bugs
7 copyright
8 see also
wat zijn de secties van de manpages (9)
1 general commands
2 system calls (systeemoproepen)
3 library calls (bibliotheekoproepen)
4 special files
5 file formats and conventions
6 games
7 miscellaneous
8 system administration commands
9 kernel routines
C: toon alle secties waarin commando ‘man’ in voorkomt
man -f man
C: toon alle man pages waar term ‘index’ in voorkomt
man -k index
man -f index = alle secties waar commando in voorkomt
C: toon man page van commando ‘man’ uit sectie 7
man 7 man
snelkoppeling: hoe roep je de commando’s op om te bewegen in de man pages
shift+H
snelkoppeling: hoe ga je uit de man pages/helppagina van man pages
q
hoe ga je 1 stap terug uit de man pages
L
C: toon functie, beschrijving en beperkte opties van mkdir
mkdir –help
C: toon functie van mkdir
whatis mkdir
C: waar is mkdir opgeslaan
whereis mkdir (alle referenties)
which mkdir (enkel locatie)
in welke mappen vind je vaak aanvullende info over de commando’s
:/usr/share/doc
:usr/doc
C: toon de inhoud van de root directory
ls /
wat is het adres van de home directory
/home
wat is het adres van de gebruikersmap
/home/naam of ~
C: toon de active directory op het scherm
pwd
C: ga naar folder Documents
cd Documents
C: ga naar de vorige locatie
cd -
C: ga naar de home directory
cd
of cd /home
C: ga een map omhoog
cd ..
wat is het teken voor de huidige map?
.
hoe zie je dat het een absoluut pad is?
het adres start met /
(kan verstopt zitten in een alias of variabel)
hoe zie je dat het een relatief pad is?
het adres start niet met /, maar wel met de naam van een directory
C: toon inhoud van map ‘Documents’
(absoluut)
ls ~/Documents
C: toon alle bestanden in de map ‘Documents’
(inclusief verborgen bestanden)
ls -a ~/Documents
C: toon alle bestanden in de map ‘Documents’
met hun metadata
ls -l ~/Documents
C: toon alle bestanden in de map ‘Documents’
met hun metadata uitgedrukt in MB
ls -lh ~/Documents
- -human-readable
C: toon info over de map ‘Documents’
ls -d ~/Documents
C: toon alle bestanden in de map ‘Documents’
inclusief onderliggende mappen
ls -R ~/Documents
C: toon alle bestanden in de map ‘Documents’
met hun inode
ls -i ~/Documents
C: toon alle bestanden in de map ‘Documents’
gesorteerd volgens aflopende grootte
ls -S ~/Documents
C: toon alle bestanden in de map ‘Documents’
gesorteerd volgens oplopende grootte
ls -Sr ~/Documents
(sort reversed)
C: toon alle bestanden in de map ‘Documents’
gesorteerd volgens tijd
ls -t ~/Documents
C: toon alle bestanden in de map ‘Documents’
met volledige datum & tijd
ls - -full-time ~/Documents
C: toon alle (sub) mappen van de huidige directory
ls -d */
verschil tussen locate & find
locate: zoekt in database -> snel
find: zoekt in echte bestanden -> acuraat
-rw-r–r–1 syslog adm 10871 Aug 23 15:17 syslog.1
wat betekent 1e karakter? (variaties)
’-‘ normaal
d directory
l symbolische link
-rw-r–r–1 syslog adm 10871 Aug 23 15:17 syslog.1
wat betekent rw-r–r–?
rechten
-rw-r–r–1 syslog adm 10871 Aug 23 15:17 syslog.1
wat betekent 1 na de rechten?
hardlinks (hard copy count)
-rw-r–r–1 syslog adm 10871 Aug 23 15:17 syslog.1
wat betekent syslog?
owner
-rw-r–r–1 syslog adm 10871 Aug 23 15:17 syslog.1
wat betekent adm?
group owner
-rw-r–r–1 syslog adm 10871 Aug 23 15:17 syslog.1
wat betekent 10871?
file size in bit
-rw-r–r–1 syslog adm 10871 Aug 23 15:17 syslog.1
wat betekent Aug 23 15:17?
timestamp
-rw-r–r–1 syslog adm 10871 Aug 23 15:17 syslog.1
wat betekent syslog.1?
file name
C: toon de bestands- & filestructuur van de huidige map
tree
C: toon de mapstructuur van de huidige map
tree -d
C: installeer tree
sudo apt-get install tree
C: toon de plaats van het bestand ‘stoel.txt’ in de home directory
find ~ -iname stoel.txt
find: zoekt in echte bestanden -> acuraat
locate: zoekt in database -> snel
maar je moet het volledige pad opgeven
locate ~/stoel.txt
C: tel het aantal keer dat stoel voorkomt in de directory Documents
locate -c ~/Documents/”xstoelx”
C: toon alle bestanden met ‘red’ in hun naam (en niet in hun folder)
locate -b red
C: zoek de exacte plaats van ‘\home/sysadmin/Documents/stoel.txt’
locate \home/sysadmin/Documents/stoel.txt
C: refresh de database waarbinnen locate zoekt
updatedb
C: kopieer bestand stoel.txt naar Documents/Work
cp stoel.txt Documents/Work
C: kopieer bestand stoel.txt naar Documents/Work
en hernoem naar tafel.txt
cp stoel.txt Documents/Work/tafel.txt
C: kopieer bestand stoel.txt naar Documents/Work
en toon de output als het gelukt is
cp -v stoel.txt Documents/Work/tafel.txt
(verbose)
C: kopieer bestand stoel.txt naar Documents/Work
en vraag toestemming om bestanden te overschrijven
cp -i stoel.txt Documents/Work
(interactive)
C: kopieer folder Music (incl onderliggende mappen) naar Work
cp -r Music Work
C: kopieer bestand stoel.txt naar Documents/Work
zonder bestanden te overschrijven
cp -n stoel.txt Work/tafel.txt
(no clobber)
C: verplaats bestand stoel.txt naar Documents/Work
mv stoel.txt Work
(move)
C: verplaats bestand stoel.txt naar Documents/Work
en hernoem naar tafel.txt
mv stoel.txt Work/tafel.txt
C: verplaats bestand stoel.txt naar Documents/Work
en toon de output als het gelukt is
mv -v stoel.txt Work
(verbose)
C: verplaats bestand stoel.txt naar Documents/Work
en vraag toestemming om te overschrijven
mv -i stoel.txt Work
(interactive)
C: verplaats bestand stoel.txt naar Documents/Work
en overschrijf geen bestanden
mv -n stoel.txt Work
(no clobber)
C: maak een folder examen in de folder Documents/School
mkdir Document/School/examen
C: maak een folder ‘examen IT’
mkdir “examen IT”
C: maak de folders Documents/Examen/IT fundamentals
mkdir -p Examen/”IT fundamentals”
C: verwijder de folder examens uit Documents
rm -d Documents/examen
C: verwijder de folder examens uit documents
ook als het in gebruik is
rm -f documents/examen
(force)
C: verwijder de bestand examens.txt uit documents
& vraag toestemming om te wissen
rm -i documents/examen.txt
(interactive)
C: verwijder de folder examens uit documents
en onderliggende folders
rm -rd documents/examen
(recursive)
C: vind het bestand stoel door te zoeken op naam
find -iname “stoel”
C: vind het bestanden met stoel in hun naam in folder Documents
door te zoeken op naam (hoofdlettergevoelig)
find Documents -name “xstoelx’”
en x is een ster
C: vind het bestand stoel in Documents
vind de folder stoel in Documents
find Documents -iname -f “stoel”
find Documents -iname -d “stoel”
(file & directory)
C: vind lege bestanden in folder Documents
find Documents -empty
C: vind het bestand stoel in Documents
en tot 2 folders diep
find Documents -maxdept 2 -iname “stoel”
C: vind het bestand stoel in Documents
& wis het
find Documents -iname -delete “stoel”
C: vind het bestand stoel in Documents
door gebruik te maken van regex
find Documents -regex “stoel”
C: vind bestanden groter dan 1Mb
find -size +1M
(c: bytes, k: kibibytes, M: mebibites, G: gibibites
C: vind bestanden kleiner dan 1Gb
find -size -1G
(c: bytes, k: kibibytes, M: mebibites, G: gibibites
C: vind bestand met een grote tss 20 & 30kb
find -size +20k -and -size -30k
(c: bytes, k: kibibytes, M: mebibites, G: gibibites
C: zoek bestanden op basis van tijd (3)
-atime of -amin: accessed
-ctime of -cmin: status changed
-mtime of mmin: modified
C: zoek met meerdere condities:
hoe schrijf je en/of
-a -and
-o -or
C: zoek een bestand dat is aangepast in de laatste 48 uur
find -mtime -2
C: find xxx
+toon de resultaten weer in een lijst met menselijke output
find xxx -exec ls - hl {} \;
-exec: start een nieuw programma
ls -hl: toont lijst met optie hl
{} placeholder voor de gevonden bestanden
; om elk bestand op andere lijn te zetten
\ om te vermijden dat bash ; intepreteert als einde van zoekopdracht
C: maak een nieuw bestand ‘zetel.txt’ aan
touch zetel.txt
C: maak nieuw bestand ‘zetel.csv’ aan met de tekst ‘ikea’ als inhoud
echo ikea > zetel.csv
C: maak een hard link ‘tafel2’ van bestand tafel.txt
ln tafel.txt tafel2
C: maak een soft link ‘tafel3’ van bestand tafel.txt
ln -s tafel.txt tafel3
hoe zie je in ls -hl het verschil tussen een hard link & een soft link (=symbolic link)
2 na de rechten in
-rw-rw-rr 2 sysadmin sysadmin 0 Oct 27 11:00 file_name
kleine L na de rechten
lrw-rw-rr 1 sysadmin sysadmin 0 Oct 27 11:00 file_name
hoe noem je een datastructuur die gegevens over bestanden & mappen bijhoudt
inode
houdt data bij over locatie op schijf, grootte, attributen, permissies
ls -i
welke verschillen zijn er tussen hard & soft links?
kopie van origineel bestand: hard link
delen zelfde inode: hard link
blijft bestaan na verwijderen origineel bestand: hard link
kan verwijzen naar directory of bestandssysteem: soft link
C: toon de inhoud van ‘stoel.txt’ in de terminal
cat stoel.txt
C: toon de inhoud van stoel.txt & tafel.csv in de terminal
cat stoel.txt tafel.csv
noem 2 commando’s om tekst te lezen in de terminal
welke is er de beste?
more & less
less laat toe om te zoeken
/woord: zoeken op woord
n = volgend resultaat, N = vorig resultaat
noem 2 tekstverwerkers in linux
nano
vi: krachtiger, maar complexer
C: toon de eerste 10 regels van het bestand stoel.csv
head stoel.csv
C: toon de eerste 15 regels van het bestand stoel.csv
head -n 15 stoel.csv
C: toon alles behalve de laatste 25 regels van stoel.csv
head -n -25 stoel.csv
C: toon de laatste 10 regels van stoel.csv
tail stoel.csv
C: toon de laatste 5 regels van het stoel.csv
tail -n 5 stoel.csv
C: toon vanaf regel 4 de volledige inhoud van stoel.csv
tail -n +4 stoel.csv
Wat zijn de drie uitvoerkanalen?
STDIN, STDOUT, STDERR
STDIN = standaardinvoer
STDOUT = standaarduitvoer
STDERR = standaardfout
Wat is STDIN?
en hoe voer je die om?
Standaardinvoer = toetsenbord
<
Wat is STDOUT?
en hoe voer je die om?
Standaarduitvoer (console)
> kan je ook schrijven als =1> (overschrijft bestand)
» (voegt toe aan bestand)
Wat is STDERR?
en hoe voer je die om?
Standaardfout (console)
2>
schrijf &> anders
1> & 2>
dit leidt zowel STDOUT als STDERR om
Dit betekent dat zowel de normale uitvoer als de foutuitvoer naar hetzelfde bestand worden gestuurd.
hoe leid je de output om naar niets?
> /dev/null
Dit betekent dat de uitvoer wordt genegeerd en niet wordt opgeslagen.
C: hoe stuur je alle tekst in batch door naar het bestand index.html?
Hoe kan je de input stroom afbreken?
Wat is de functie van cat > index.html? «EOF
Door het afgesproken teken (bijvoorbeeld EOF) wordt de invoer afgebroken.
C: sorteer inhoud van passwd
sort passwd
C: sorteer inhoud van passwd
op basis van 1e kolom
sort -k 1 passwd
C: sorteer inhoud van mypasswd
op basis van 2e en 1e kolom
sort -k2 -k1 mypasswd
C: sorteer inhoud van passwd
met ! als scheidingsteken
sort -t ! passwd
C: sorteer inhoud van passwd
op basis van 2e kolom die numeriek gesorteerd is
sort -n -k2 passwd
C: sorteer inhoud van passwd
op basis van 2e kolom die numeriek gesorteerd is in omgekeerde volgorde
sort -n -k2 -r passwd
welke info retuturneert het commando wc?
regels
#woorden
#bytes
eventueel een totaal als er meerdere bestanden zijn
C: geef de stats van tafel.txt
wc tafel.txt
C: tel het aantal woorden in tafel.txt
wc -w tafel.txt
C: tel het aantal regels in tafel.txt
wc -l tafel.txt
of locate -c
C: tel het aantal bytes in tafel.txt
wc -c tafel.txt
C: toon enkel de 2e kolom van tafel.txt
cut -f2 tafel.txt
C: toon 1e, 3e -> 5e kolom van tafel.txt
cut -f1,3-5 tafel.txt
C: toon per lijn enkel het 6e karakter van tafel.txt
cut -c6 tafel.txt
C: toon per lijn karakter 6e tem 10 van tafel.txt
cut -c6-10 tafel.txt
wat zijn de 4 belangrijkste tekstmanipulatiefuncties?
- sort
- wc
- cut
- grep
C: filter in bestand tafel.txt: alle lijnen met ‘poot’
grep ‘poot’ tafel.txt
C: filter tafel.txt: alles met ‘poot’
+ hoofdlettergevoelig
grep -i ‘poot’ tafel.txt
(case sensitive)
C: filter tafel.txt: alles met ‘poot’
+ : als scheidingsteken
grep tafel.txt -d: ‘poot’
C: filter in kolom 1 & 3 van tafel.txt op ‘poot’
grep -f1,3 ‘poot’ tafel.txt
C: filter op karakter 6 van tafel.txt op ‘z’
grep -E ‘…..z’ tafel.txt
C: toon alle lijnen van tafel.txt die geen ‘aap’ bevatten
grep -v ‘aap’ tafel.txt
(inverse)
C: tel het aantal lijnen in tafel.txt die ‘aap’ bevatten
grep -c ‘aap’ tafel.txt
C: toon alle lijnen uit tafel.txt die het woord ‘poot’ bevatten
grep -w ‘poot’ tafel.txt
C: gebruik reguliere expressies bij het doorzoeken van tafel
grep -E … tafel.txt
regex: 1 karakter
.
regex: opsomming van karakters
[a-d,z]
regex: opsomming van karakters om uit te sluiten
[^a-z]
regex: 0 of meer karakters
*
regex: karakter aan het begin van het woord
hoedje ^
regex: karakter aan het einde van het woord
$
regex: zoek op $ (ipv op regex)
\$
regex: a als optioneel
a?
regex: 1 of meerdere keren
+
regex: kan of kruik
“kan|kruik”
regex: meerdere cijfers
[0-9]+
regex: a 2 of 3 keer
a{2,3}
C: lijst de bestaande groepen op
cat /etc/group
C: maak een nieuwe groep ‘team’ aan
groupadd team
standaard GroupID (=GID): +laatst toegevoegde, GID <1000 = voor systeemgebruik
C: maak een nieuwe groep ‘team2’ aan met een group ID = 1055
groupadd -g 1055 team2
C: verander de groepsnaam van team naar ploeg
groupmod -n ploeg team
nieuw > oud
C: verander de groep ID van ploeg naar 1033
groupmod -g 1033 ploeg
C: schrap groep ploeg
groupdel ploeg
C: maak ploeg groepsowner van folder /School
chgrp ploeg /School
C: maak een gebruiker Mattijs aan
useradd -s /bin/bash -c “Mattijs” -m mattijs
-s: shell (bin/bash, anders kan je niet inloggen)
-c: echte naam
-m: +home directory aanmaken
alice: gebruikersnaam
waar staat de lijst met alle paswoorden?
/etc/passwd
welke info staat hier allemaal:
bob:x:1003:1003::/home/bob: /bin/bash
- bob: loginnaam
- x: wachtwoord
- 1003: gebruikers-ID
- 1003: GID
- : gebruikersnaam (leeg indien = loginnaam)
- /home/bob: homedirectory
- /bin/bash: shell waarmee gebruiker aanmeldt
C: maak de root user aan
useradd
C: stel het paswoord in voor mattijs
passwd mattijs
C: lock paswoord van mattijs
passwd -l mattijs
C: unlock het paswoord van mattijs
paswd -u mattijs
C: vraag de gebruikers & groeps ID op van mattijs
id mattijs
C: vraag de naam van de gebruiker waarmee je bent ingelogd op
who
C: wie is er allemaal ingelogd?
w
C: voeg een primaire groep 1004 toe aan mattijs
usermod -g 1004 mattijs
C: voeg mattijs toe aan groep ‘ploeg’
usermod -aG ploeg mattijs
C: wis user mattijs
userdel mattijs
beter: userdel -r mattijs
> schrapt ook home directory
C: neem account van mattijs over
su mattijs
C: keer terug naar eigen account
exit
C: voer 1 commando uit als root
sudo commando
(super user do)
C: maak Mattijs owner van folder Documents
chown mattijs Documents
welke info kan je hier aflezen?
-rw-r—r–
1e teken:
- tekstbestand
d map
l symbolische link
3*3 rechten
file: folder:
r read r read
w write w add/remove
x execute x navigate
- niet toegekend
welke 2 manieren bestaan er om de rechten aan te passen?
symbolische notatie:
u user, g groep, o other
+ toevoegen - verwijderen = instellen
rwx s (sticky)
numerieke notatie: 761
waarde: r = 4, w = 2, x = 1
wat betekent chmod 761
rwxrw—x
C: pas de rechten van Documents aan naar rwx——
chmod 700 Documents
chmod u +rwx g -rwx o -rwx
hoe worden de standaard rechten bepaald?
standaard rechten = maximale standaard rechten - umaskwaarde
maximale standaar rechten =
666 voor bestanden (rw-rw-rw-)
777 voor folder (rwxrwxrwx)
umask waardes = waarden die van standaardwaardes afgetrokken worden
C: stel de umask waarden in zodat standaard waarden rwx—— worden
unmask 0077
1e 0 = toont dat het octaal getal is
2e 0: geen rechten af voor user
1e & 2e 7: alle rechten af voor group & owner
hoe noemen archiven in Linux
TAR (Tape Archive)
C: maak een archief ‘oude bestanden’ met daarin ‘stoel.txt’
+ wat doet een archief?
tar -cf “oude bestanden.tar” stoel.txt
groepeert bestanden in 1 bestand (geen compressie)
C: maak een archief ‘oude bestanden’ met daarin ‘stoel.txt’
+ comprimeer volgens zip
tar -cfz “oude bestanden.tar.gz” stoel.txt
C: maak een archief ‘oude bestanden’ met daarin ‘stoel.txt’
+ comprimeer volgens bzip2
tar -cfj “oude bestanden.tar.bz2” stoel.txt
andere extenties: .tbz, .tbz2
C: bekijk content van archief.tar.gz
tar -tzf archief.tar.gz
>t toon bestanden
>z unzip
>f gebruik archief naam
C: extract content van archief.tar.gz
tar -xzf archief.tar.gz
>x extract bestanden
>z unzip
>f gebruik archief naam
C: extract file.txt
van archief.tar.bz2
in de school directory
tar -xjf archief.tar.bz2 School/file.txt
C: voeg fiets.csv toe aan archief.tar
tar -rf archief.tar fiets.csv
(niet voor gecompresseerde archieven)
C: zip folder Documents naar bestand alles.zip
zip alles.zip Documents
(onderliggende mappen niet mee gezipt)
C: zip folder Documents naar bestand alles.zip (inclusief onderliggende mappen)
zip -r alles.zip Documents
C: voeg bestand fiets.txt toe aan zip alles.zip
zip alles.zip fiets.txt
C: unzip alles.zip in School
unzip alles.zip School
vraagt toestemming om bestanden te overschrijven
C: toon inhoud van alles.zip
unzip -l alles.zip
C: unzip fiets.txt uit alles.zip in folder School
unzip alles.zip fiets.txt School