Chapter 1 Flashcards

(261 cards)

1
Q

Hvordan havne på samme sted når du logger inn igjen?

A

tmux a

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hva er forskjellen mellom unix/linux

A

Unix: (Dennis Richie (C prog) & Ken Thompson)

1960-1970 (Multix, working on it)

Alternative (can only run 1 prog at a time, made Unics, became unix)

because of monopoly, given to uni freely

different versions (distributions) were made

standards (POSIX) (have these APIs etc)

GNU (GNU is not unix)

finnish guy lionel (clone of unix, not with the source code, but with the philosophy of how it was made)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

ls (and options)

A

list directory (in the catalog we’re in)

list -a (show hidden files too)
list -l (list in a list)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

pwd

A

print working directory (active directory we’re in)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

cd

A

change directory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

tree eller tree filename/

A

viser innhold av katalog

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hvordan gå oppover i rot med cd?

A

cd ../../fil (2 hakk)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvordan gå bakover i rot med cd?

A

cd ../../.. (2 hakk)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

cat filnavn

A

(concatenate), viser innhold

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Bruker pwd til å lage fil (fra der vi er i pwd)

A

pwd > filnavn.txt (rederigering >)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

få loggen

A

history

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hva skjer når vi har pwd > filnavn.txt og skriver den igjen?

A

den blir overskrevet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hva om vi vil legge på (append) en fil med pwd > filnavn.txt?

A

echo “hola”&raquo_space; filnavn.txt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

hva om vi vil skive ut flere filer i 1 katalog?

A

cat fila filb filc > nyfil

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

forskjell mellom > og&raquo_space;

A

> når vi LAGER den, som med pwd > filnavn, eller når vi vil legge de til (og printe de) med cat > filnavn.

pwd&raquo_space; plussfila ((vil APPENDE til den plussfila til der vi ligger i pwd (dir)))

cat fil1 fil2 fil3 &raquo_space; filer (vil sende de inn i en ny fil)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

q

A

går ut av man (manual)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

cat (uten args)

A

leser fra standard fil, som er testaturet. HUSK alt i en pc med linux er filer
så det du skriver etter cat, vil bare bli printet tilbake til deg

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

end fil?

A

ctrl d (avslutter når du er i cat (uten arg)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

cat > fil.txt (hva gjør den?)

A

cat (skive, siden ikke noe arg, leser fra standard fil (tastatur) og inni fil.txt.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

få hjelp og forskjellige versjoner av man

A

man kommandonavn

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

kort beskrivelse om hva kommandoen gjør

A

whatis kommandonavn

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

med man, hva indikerer tallene i (her)?

A

hvis (1), det er for linux kommandoer
hvis (3), det er for c funksjonene

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

man man

A

manual to manual

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

hvordan spørre om c funk/linux kommandoer man?

A

man 1 printf (linux)
man 3 printf (c)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
stdin (0)
standard innlesning (det er en prosess) når vi starter prog fra terminal, det vil være tastatur
26
stdout (1)
standard utlesning
27
stderr (2)
for errors
28
Hva skjer når vi åpner en fil i terminalen?
det er 3 åpne filer: en for standard innskrift(0), utskrift(1) og error (2). dette gjelder alle prog språk (c, python etc) om vi kjører det på en linux system
29
vi kan bestemme hvilken rederigering skal skje med filene ved å spesifisere det før > (rederigeringstegnet)
pwd 1> utfil.txt (kan også gjøre det med 2 feks hvis vi vil sende alle error der)
30
rederigering av en text (tenk på det som (re)redigering av en text) hvordan skrive ut en text der alle tingene i den er baklengs?
tac < fil.txt (rederigering av stdin siden det er en motsatt vei. her sier vi "les inn fra fil.txt som baklengs")
31
semikolon?
det gjør at vi kan utføre flere ting etter hverandre på en linje slik: cat f; ls -l; tree
32
hva gjør echo
bare skriver ut akkurat det du skrev inn. forskjell mellom de tog cat er at du bare trenger å skrive cat 1 gang og hoppe ut (ctrl d) mens du må skrive echo for hver gang
33
joker tegn (spesielle tegn)
de er * og ?
34
hvilke er de og hva gjør *?
hvis vi bruker ls før vi bruker echo *, så gjør den akkurat det samme som ls. * vil bli erstattet med filnavnene
35
echo *py
* vil bli erstattet med filnavnene, det vil si at den kommer til å echo (skrive ut) alt som har ....py i enden
36
echo eks?.?.sh
dette sier finn alt som starter med eks?(har et random tegn vi ikke kjenner til).(deretter har et punktum her)?(så et tegn til vi ikke kjenner til).(så et punktum til)sh(så slutter på sh)
37
hva gjør ?
det representerer 1 char/tegn
38
ls -l mynt*
list alle som starter på mynt og har whatever bak seg her viser vi at vi IKKE trenger å bruke echo om vi ikke vil så lenge vi holder på *
39
kan vi bruke * med noe annet enn ls (+ versions)?
nei
40
file kommando
finner ut HVA slags fil det er
41
file eks?.??
viser hav slags fil det er som starter med eks(random tegn).(to random tegn)
42
ls fil*
skriver ut alle filer som starter på fil og har whatever bak seg
43
ls fil.??
skriver ut alle filer som starter på fil og har 2 ukjente tegn bak seg
44
kan vi bruke ls *fil
nei, siden vi forteller jo den bare å lese ut whatever tegn/char, hva er vitsen med fil her? vi spesifiserer ikke at den skal lete etter en fil som har fil inne-skvist et sted i navnet
45
mest brukt sections i dette kurset
executable programs or shell commands (sec 1) eller file formats and conventions eg (sec 5) eller system administrations commands (sec 7)
46
hvordan finne section?
vi sa det før, det er de inne i parantesene (nr) bruk whatis kommandonavn først slik finner man hvilken section det er så kan du skrive det etter man slik: man nr kommandonavn
47
apropos komanndonavn
vet ikke hva vi skal gjøre, gir deg forslag
48
ls -help
får hjelp
49
Finn ut hvem er pålogget.
Kommandoer: finger, who, w. (På web01 ser du bare brukernavnene, ikke fullt navn).
50
less kommandoen
Less is a program similar to more (1), but it has many more features. Less does not have to read the entire input file before starting, so with large input files it starts up faster than text editors like vi(1).
51
more
more is a filter for paging through text one screenful at a time. This version is especially primitive.
52
mkdir
make directory, lager catalogs
53
touch filnavn1 navn2 navn3 mellomrom?
åpner en fil hvis den eksisterer (oppdaterer sist åpnet da) lager fil hvis ikke kan lage flere på en gang slik mellomrom: må være rundt "her dobble" //ikke gjør det
54
cp
kopiere, MÅ ha minst 2 args: cp original kopyfil vil sette de inni en kat?: cp original kopyfil katnavn/ (relativ sti til der vi står)
55
name giving files
bokstaver tall - . _ ikke spesielle tegn og mellomrom
56
hidden files
navn som begynner med . les med ls -a da får vi det med . (denne kat) og .. (hjemme kat)
57
mv
move, flytter filer: mv fil1 kat1/ (må ha / når flytter, flytter bare til KATALOGER. kan ikke ha fil inni en fil) flytte flere filer som starter på noe: mv fil* kat1/ eller rename file: mv gammelnavn nynavn
58
rm
remove, sletter filer
59
rmdir
sletter directory (MÅ være tom) (så vi MÅ bruke dette først: rm kat1/* (slett alt som er i kat1, så bruke rmdir kat1) )
60
rm -r kat1 eller rm -rf kat1 (f for force)
sletter alt som er i kat og kat seg selv
61
find vs locate
aktivt søk på det vi har nå, så nyere men tregere find -name filnavn Loacte. Uses database so its faster. Not completely up to date. Use when red for speed. Find. Up to date. Slower. Use when want more advanced
62
locate
bruker en database, så den er ikke helt up to date finner ikke egne filer, har ikke tilgang til bruke egne filer, for å ikke få info lekasje
63
ln, typer og hvordan brukes
lenker symlink (symbolic link) og hard link ln -s (sym lenke): (shortcut) ln -s fil1 fil_som_ikke_eksisterer_enda (lager den) (sym link er en fil som peker på en annen, eller seg selv med forskjellig navn. det er en shortcut basically. file size er mindre enn original. and inode nr (id nr) er forskjellige fra original file. MEN! om du sletter den originale, så vil symlenkene være useless) ln (uten noe, er hard lenke): ln fil1 fil2 (different name, same file, same size file and inode nr. de fungerer her som en KOPI, om du sletter den originale, så sletter du IKKE hardlenkene) eks: touch A ln A B (lenke mellom A og B, de er egentlig samme fil, men forskjellige navn) echo heii > A (alt som skrives inni A kommer i B) cat A og cat B viser det samme = heii (de er samme fil, men om du sletter A så er B fortsatt der. tenk på det som holvika dør bokstaver, sletter en, finnes en annen inngang fordi du lagde den) en fil kan ha mange navn, trenger ikke engang å være i samme katalog (inngang i 8-klasse bygning eller 10-klasse bygning etc)
64
inode
inode er det som keep track of linux filesystem and directories contain: inode nr file size owner info file type number of links etc does NOT contain file name file content
65
paths, what are the different types?
relativ sti, absolutt sti
66
relativ sti
relativ path til the working dir vi er i vi bruker relativ path også når vi bare skriver cd filnavnet
67
absolutt sti
starter helt fra toppen og går fremover starter alltid med / vanskelig å keep track over med amnge nested directories MÅ begynne med /home/bruker/fil/fil/fil
68
vi kan gå tilbake til en annet dir med relativ path, hvordan? si du er i gren1 og vil til gren2 inne i trefil
cd ../gren2 (går tilbake ett hakk, så til gren2)
69
hva betyr . med relativ sti?
peker på seg selv
70
~ mening
home dir shortcut (alltid med cd!!)
71
hvordan kombinere ls med dir og * med en relativ sti? (vil gå fremover)
ls -l filforan/fil*
72
ls .
leser denne filen, akkurat som ls
73
ls ..
leser forrige fil
74
ls ...
hacker, prøver å skjule en fil
75
shell/skall
et prog som brukes til å utføre prosessene som vi skriver inn i kommandolinjen. den er command line interface (CLI) basert.
76
shell/skall typer
sh: Bourne shell bash: Bourne again shell csh: C shell (C aktig shell) mc: midnight commander etc vi har forskjellige shells: command in line shells: provide text based interface where user types commando directly (bash, Zsh, fish, powershell. these are shells good for scripting) graphical shells (provide visual interface with icons, windows, menus. has a GUI (think windows). ex. (include a desktop enviroment like GNOME, KDE, windows explorer). easier to manage, since it's visual. terminal: user interface where you write commands. a progam that allows ACCESS to the shell! SO, you ARE using bash in the terminal.
77
på kommadolinjen, vil hoppe til foran eller bak, shortcut hvordan?
ctrl a (foran) ctrl e (bak) /tenk på det som end
78
slette noe foran makrøren (der vi er) og etter markøren
ctrl u (foran markør, dette er ikke i emacs) ctrl (k) (etter markør) /tenk på kill
79
vil avbryte kommando
ctrl c
80
fullføre kommando og filnavn?
tab
81
kopiere ting i kommandolinje
bare marker og høyre klikk
82
bash
versatile shell, interprets commands and provide text like interface to use it, write bash in terminal. that's it
83
nano
not suitible for complex tasks to use: nano filename.txt to open or make if not exist
84
emacs
powerful! to use: emacs filename.txt to open or make if not exist
85
bash script make
nano filename.sh (inside #! /bin/bash) Important to write that, save, go out, go in. tada! bash script allowed!
86
echo dir er $(pwd)
vi får dir der vi er, men vi MÅ ha () rundt og $ foran. it acts like deref pointer dette er kalt for command substitution det som er INNI i () blir 1st exec. så det uti så her finner vi pwd også skriver den ut
87
lager variabler
var=innhold
88
$ mening?
retrieve var innhold med echo echo dette er variable $var /HUSK $ALLTID FOR Å FÅÅ INNHOLDET /her vil vi få ut dette er variable innhold hvis det ikke finner en variable navn som heter var, så skrives alt dette ut som en vanlig string: echo dette er variable $var (var har da ikke noe innhold, det skrives ut bare dette) den sier at den skal omskrives til innhold: var=inn echo $var (var navnet/var skal bli omskrevet med $ til inn(innhold))
89
var='pwd' vs var="pwd" echo dir er $var forskjell? output?
når vi bruker ' så skriver vi ut det som er inni den som en string literal. output: dir er pwd uten " så er den det samme som $var. Output: dir er home/smash/spill. Variable expansion of command substitution
90
difference between ' and "
'pwd' : preserves literal value of what's inside, so it will just print out pwd with echo (not thee dir, just the word) will NOT command substitute (does NOT allow variable expansion) det vil returnere KUN var navn (dette er for unngår overskriving) " : WILL command substitute. will print out what's inside as substitute for the var name. USE THIS!: var="name" echo $var (allows variable expansion) with nothing : will print out the actual dir
91
Variable expansion
imp. in shell scripting. allow substitution: the value of variable to expression or string
92
type with {}
HUSK ${} to GET the val of the var name="alice" echo name is ${name} same: name="alice" echo name is $name name="alice" echo name is $(name) VIL IKKE printe ut alice
93
hvordan lagre alt i en liste (som vi lister opp) i en var?
var=$(ls filnavn/) //om vi vil lagre det fra spes fil/kat. trenger den ikke
94
UNNGÅ å overskrive en variabel
entern bruk ', så vil den returnere KUN var navn eller bruk echo \$var
95
Hvorfor ()
ALT som utføres i () skjer først!!! IKKE bruk den for $() med mindre det er noe inni () som SKAL utføres først (en kommando som ls etc)
96
forskjell mellom () og {}, når bruke hva?
() groups commands together: (command1; command2; command3) it creates subshells (echo "this is a subshell") use () when you want a command to happen before wihtin the () DON'T use them with $(var). WRONG! use them on arithmetic op: var=(1-2) echo $var {} use with grouping commands too {command1; command2; command3} use them with echo {a, b, c}: prints a b c out USE with ${}
97
editor
prog for å jobbe med ren text, ikke formatert text med all den extra formateringen som vi har på word flere typer: nano/pico, vi/vim, emacs word we IKKE en editor, det er en katalog som inneholder FLERE filer inni (xml, etc). vi kan zip den opp unzip navn\ filnavn.doc
98
nano vs vim vs emacs
nano for lett/simple for store progs vim: mer unix prog gjør 1 ting, og gjør den veldig bra og har bra funksjonaliteter emasc: ikke typisk unix. kan serfe på nett, kan skrive emails og sende de etc (nesten et OS i seg selv)
99
piping
want to move data between commands used to send the output of one command to another command so output of one command acts as input to another eks: cat fil.txt | sort cat dil.txt | grep peach (word we wanna find) echo command1 | command2 (com1 given to 2)
100
clear skjerm?
clear all
100
sortering av noe inni en fil
sort fil.txt
100
how display first eks 8 lines?
cat fil.txt | head -8
101
how to combine and show first 8 lines and last 4 lines?
cat fil.txt | head -8 | tail -4
101
how display last eks 4 lines?
cat fil.txt | tail -4
102
how to find word count?
cat fil.txt | wc
103
how to combine redirection command () with piping
cat fil.txt | wc > ny_fil.txt (som vi har laget eller lager if not exist)
104
log out in linux
ctrl d
104
grep
global regular expression print search for text within files Grep word file (if have specified and not in this one)
105
hva skjer hvis vi bruker cat fil.txt | grep word
vi pipeliner den, så istedenfor å printe ut ordet word som vi finner i fil.txt, så greper vi den og ingenting kommer ut
106
reverse inside of file?
tac
107
Get every line without that grep word from a file
cat fil.txt | grep -v word will print every line that is NOT word
108
how to best use grep?
use it alone like this with NO cat and pipeline grep word /file/file (absolutt path) eller grep -v word tp get all lines without word
109
grep -n word
gives line number to where it was found
110
grep -c word
gives the nr of times the word was find only
111
grep and capslock
use grep -i word (to not care)
112
look through every file with grep from a spes file
grep word dir (can mix it with -n // -c etc) Searches through the dir and all its sub dir and files
113
how to use grep to find
allows to search files and directories grep -r word /dir/file eller grep -r word * eller grep -r word (if were in home and can search through everything)
113
hoppe over, istedefor cd
pushd file eller /file popd for å gå tilbake (smart siden om vi ikke husker bare bruk pushd og popd for å shortcut det fra og til)
114
grep to search for stuff examples (3.5)
cat file | grep word grep word /absolutt/ sti eller grep word fil grep -r word (hvis vi ikke kjenner til ordet) grep -r fil * (hvet ikke hvor er) eller grep fil * (bare let i alt)
114
rettigheter til linux catalog og filer
3 grupper: eier av fila: U (user) knytte til en gruppe : G (group) alle systemer kan bruke det: O (others) rettigheter: reading: r (4) writing: w (2) execute: x (1) all active: 777 (don't do that, give access to all) -rw-r--r-- 1 263669 263669 nr date date date fil.txt (- user group others) drw-r--r-- 1 263669 263669 nr date date date fil.txt (dir) forandrer det til x for alle ved å gjøre filen executable r-x
115
chown
brukes for å forandre EIER til en fil, MÅ være root bruker ellers funker ikke
115
chgrp
forandrer gruppe eierskap
115
unmask og unmask -S
en bit mask med opprette av rettigheter
116
chmod
brukes for å endre rettigheter ved å bruke den med chmod +x file.sh vi forandrer rettighetene på r-- til r-x for alle siden ikke spesifisert kan forandre det med nr slik: chmod 700 (read write exec for user only) chmod 755 (no write for group or others, but exec and read allowed. user allowed all)
116
chmod +x
selv om vi har gjort filen til en bash skript med #!bin/bash, så trenger vi å 'aktivere den/gjøre den om til en bash skript med chmod +x filname
117
kjøre bash fil?
./filename
117
more
old givefilename (pager) (kan bruke space for å få opp og ned i fila) q for å hoppe ut
118
less
less filename can bruke arrowkeys on keyboard and space for å få opp og ned i fil search for text in file
118
kill a process running in terminal
ctrl c
118
watch commandnavn
redo command every 2 sec
118
free
shows how much mem in sys
119
watch free -h
runs forever. to kill, ctrl c
119
kill any process running in computer
kill a prog from terminal ex firefox: killall firefox you can only do it for something user (yourself) opened up
120
chmod med user, group, others
chmod u/g/o/a(all) +/- r/w/x/(a)
120
rev command, how to use
used with echo or cat but always with | to make it reverse (baklengs) after you have read from file with cat, or wanne use echo "hei" | rev to reverse it to ieh
120
how to get out of a bash session
logged into terminal, done, wanna get out: exit eller ctrl d
120
dismiss changes and quit in vim
:q! IKKE :!q (dette er en terminal kommando når vi skriver ! først)
120
vim plug ins
er customizations you make to your vim editor to suit your own needs and make shortcuts etc
121
explain how vim works
each key has kommand, eks : means start kommand in normal mode (the start vim file)
121
quit in vim
:q (saves changes)
122
what does d and a mean in vim?
delete and append
122
:colorscheme blue
changes colors
122
how to make a vim file?
vi filename.c
122
what does i do in vim?
it enters the insert mode, which means that everything we write now is just a string litereral
123
all the keys that enter the insert mode
a i o they differ in how they enter insert mode i write one before the cursor a write one after the cursor o makes a new line and write one after the line there (not like enter, no matter where is on line)
123
how to write into a file to begin with start of file
:w
123
:set relativenumber does what?
shows where we are, makes all the lines under and over where we are start with one so it's easier to jump up and down with nr ^/> etc
123
how to save the writing in vim and quit?
escp (to jump to command line) and :wq
123
how to escape insert mode?
escape key
124
change a line
cc (inserts the insert mode, deletes full line, and you can now write)
124
wanna use mouse
:set mouse=a (kan scroll now)
124
how to get cap letters
shift key i / a / o shift i goes to front of line we're in and writes there shift a goes to backof line we're in and writes there shift o makes a line above we are
124
plug in to make the screen show numbers how?
:set number
124
how to jump cursor in vim?
have to be in the text editor (not command line) and write the nr we wanna jump and show if we wanna go up, down or sideways with arrows: ex. 2 ^
124
visual mode?
for selecting use shift v in command line, can noe select a word, delete, and copy it when selcted with cursor d for deleting y for yanking (copying) p for paste eller 10 p for å få de 10 ganger etter hverandre
125
delete whole line?
dd eller spesifiser hvor mange 5 dd
125
how to undo and redo in vim
u and ctrl r
126
how to save the settings when :wq quit
have to have a config file, setting file, that does it for me each time. om den eksiterer så laster vim den, om ikke, så lager vi den. får tak i den i terminal ved å skrive: vi ~/.vimrc
126
copy full line
yy
127
e vim
jumps to the end of the line
127
ciw yiw ci"" yi"" kan også bruke ci( eller yi(
change in a word wank in word (copy it) change in " " marks while we are inside them
127
delete from cursor to end
delete key or cap d
127
delete and replace for one single character
r
128
hoppe til neste ord og til forrige ord
w (foran) b (bak) vi kan være i visual mode og delete det lett da
128
in which mode do we write and where are we normally most of the time?
we are always mostly in normal mode (escp) med mindre vi skal skrive noe copy, paste, move, read, delete, undo, search all in normal mode
128
delete char in nano
ctrl d
128
going to the next found word when searched for in vim vs nano
in vim, you can just hit enter and it will go to the next one while in nano you have to use alt key w
128
move to the next word in nano
ctrl space key
128
search for a word vim
/word backwards search (from the back to the top) ?word
129
copy (cut) and paste in nano
ctrl k (cut) and ctrl u
129
reverse order (change with ^ command)
:g/^/m0 (alle tallene vi lagde er når baklengs)
129
how to sub beginning of each line
(kommand line :, % to change, ^meaning start of each line) :%^/\=printf('%-4d', line('.')) gonna sub each line start with line nr
129
how to copy a file and save it locally (nano as eks)
cp file.txt (eller absolutt sti med det nye tallet) . (. means in this file) vil heller bare save det slik: cp orig nyfil (vi er jo allerde i dir vi vil være)
129
vil åpne spes sted i nano
nano +4 fil.txt
129
grammer check nano
ctrl t in nano a file
129
go to begining og file and end
gg (start) eller bare 0 shift g (end) eller bare $ spes line (nr cap g) eller :nr
130
search in nano
ctrl w write word after
130
d$
delete until the end of the line
130
how to change a word in vim with another everywhere in the text
:%s/word/subword/g (global sub, meaning everywhere)
130
sentralisert
pusher sine endringer til et sentralisert prog utv. opmråde. godt for samarbeid, men alle de tjenerne må gå inn og hente nye versjon etc. ulempten med at det er så sentralisert er at alt går igjennom denne serveren. om noe går galt, eks. interenettet ryker, så er alle andre servere avhengig av det. kan løse det, backup servers). men poeng er at ingennting kan sendes fra en server til en annen uten at det er den sentralisere serveren
130
hvordan funker versjonskontrollsystemer
de fleste versj.kon.sys lagrer KUN den aller første versjonen helt. så lagrer de BARE endringene for de versjonene som blir laget. disse endringene kalles for diff/deltaene. de blir organisert i en rekkefølge. så prog kan bare rekonstruere filene for å ha alle typs versj. kalles delta endrignsbasert versojnskontroll. GIT er IKKE sånn. den lagrer ALLE filer hver gang hvis det er gjort noen endringer. det er som å ta en screenshot av det hver gang noe skjer. tar veldig mye plass slik, så best for bare tekst kode. ikke vids og sånn
130
tilstander og de 3 områder
1. modifisert tilstand: arbeidstreet (working tree) 2. klargjøringsområdet (staging tilstand): området av samling av nye filer som skal registreres (oppbevares) kalles bare for index til file (git/index) git repositoriet (repo) inneholder alle endringene, kommentarer som vi sender inn med git commit -a "fdshfoe". det er et sted som har alt av kode, modifikasjoner (har history av det). det ER en egen folder som heter .git/ som er gjemt ex: vil jobbe med en fil som allerde eksisterer, sjeker da repo, åpner da i working tree. så går den til klargjøring når vi gjør endringer og er klar for å sende den inn. så sender den inn og den havner i repo igjen, ny versjon
130
mv -i ../file.txt meaning
we are moving a file we are one 'behind us' (..) to file.txt and -i means interactive, makins sure to ask if we wanna override the file.txt if we have one with the same name.
130
distribuert versjonskontroll
har ikke den sentraliserte problem. sys er ikke avhengig av bare 1 punkt (sentralisert server), alle er likeverdig. alle comps har en versjon av databasen, så selv om server går ned, comps kan individ fortsette. eks på det er GIT
130
hva er de 3 tilstandene med GIT?
1. modified, endret men ikke klargjort 2. staged (klargjort), markert for innregistrering og forsegling (sjekke om den er korrekt/er det samme som før) 3. committed (forpliktet), innreg og forseglet
131
how to keep things updated latest version of file
use a symlink to point to the last version veldig primitiv en bedre versjon er database som eks: GNU revision control system (RCS) som har en fil som peker på den siste versjonen (3), som peker på versjon 2 og som peker på 1st versjon.
131
git-config kommando
den kan opperere på 3 nivåer: --system (for alle brukere på i repo i sys, bare root kan skrive til den filen da)ligger i:(/etc/gitconfig) --global (for alle egne repo, egen hjemme katalog) ligger i. (~/.gitconfig) --local (for aktiv repo) (.git/config)
131
husk når "h i" vs 'h i'
dette er 1 arg, ikke 2 selv om det er mellomrom. med "" om det er variabler med samme navn (og $ med) så vil det bli skrevet om (expression substitusion) men ikke med ''dette er string literal
131
git-init
initialize, vil versjonskontrollere. viser alle. makes a .git file that has this versjon of the file. so it makes the space to make changes/modif to the file
131
git config --list og git config --list --show-origin
henter info, ligger globalt
131
git-commit
sender inn (sender inn i repo)
131
hvis vi vil at " skal være med i echo?
bare ha \" ahfoef\" eller bare ha "\" ahfoef\""
131
view only, cant change the nano. how?
nano -v fil.txt (in terminal)
131
git-add
git add . (denne katalogen) hvis vi er bak i directory og den legger til alle (klargjort til å bli commit)
131
hva heter det når git merker at vi er inni en av de tre tilstandene?
det kalles å være sporet (tracket) hvis ikke så er det ikke sporet (untracked) (som nye filer)
131
git clone
lager en kopy av et prosjekt: git clone 263669@usn.no:fil_navn_som_vi_vil_sende
131
GIT
før versjonskontroll så brukte de patches som hadde bare de endringene, ikke hele sys, og de skulle bli automatisert inni sys. for hver endring 2005 GIT laget av han som lagde Linux: Linus Torvalds
132
remove git repo
rm -rf /path/file
132
GIT kommandoer
git config --global user.name "tom" git kommando underkommando options arg kommentar(arg)
132
hvordan sende noe inn med git?
git status for å sjekke om noe mangler git pull for å hente sist endringer git add . (denne filen) git commit "jeg gjorde bla bla bla" git push
132
versjonshåndtering
ved utvikling av progs så er det behov om å hente tidligere versjoner av filer, altså versjonskontroll. en enkel vers er som jeg gjør, finish, dooone, virkelig done etc
132
git-help
for å få hjelp: git --help git help man git-
132
ctrl z
vil sette prog på PAUSE (ikke en kommandolinje for prog inni, men generelt) [1]+ Venter mutt [dette er hvor mange prosessor som venter]
132
git remote add and git remote -v
git remote add lkfjeafl and git remote -v (to show) and pull from the lkfjeafl thing
132
git remote -v
-v option stands for verbose and means that we want to get as much feedback info from the sys about this as posible
132
cat < file vs cat > file
cat < file (reads from file) cat > file (writes to file)
132
cat > rev
her so er det en FIL som heter akkurat det samme som kommando rev
132
git status
sjekker statusen
132
starter en job i bakgrunnen da vi lager/starter den
bare sett & i enden av kommandoen: ./eks.sh film &
132
git log
får opp loggen som lagringer og endringer
132
what is exist status?
when prog runs with no errors, return 0 we can't see. how to see it? echo $? hvis det ER en feil, eks du prøver å få tak i et dir med ls som ikke eksisterer og deretter gjør echo $? vil få tall annet enn 0
132
to kill a job?
kill %jobnr slik: kill %1
132
false && echo hei vs true && echo hei
false && echo hei logisk og, hvis FLØRSTE feiler, ingen vits å kjøre andre da true && echo hei (returnerer hallo)
132
hvordan få en liste over jobbene som venter?
bare skriv jobs
132
rev kommando
akkurat som cat, men baklengs, bare at med tac så må vi bruke cat og | pipelining rev skriver ut akkurat som cat bare reverse
132
hva gjør fg
det står for foreground. det er interactiv i terminalen. den occupy terminal helt til den er completed eller suspended. den gjør at vi kan fortsette eller stoppe en job ved å skrive fg nrjob. si at vi har 3 jobs: om vi ikke spesifiserer hvilke job etter fg (med tallet deres) så ÅPNER vi denne prosessen den siste jobben først (3 til 1 liksom)
132
what is fg?
they are the interactive jobs/processes that rely on user interput and interaction. this is were you include commands, inputs, edit files.happen in the terminal, occupy that space. sp basiacally what you're doing actively consume system resources like the cpu, memory. has priority and responsive to user input. errors are immediedtly shows to user.
132
lscpu
finner hvor mange cpu brukt
132
hva er nice?
ps -o "%u %n %c" også nice vi eller nice emcas kommando høyere niceness, lavere priortitet hvis vi er root, kan lage neg. niceness for å få høyere prio
132
drepe process?
ps (får processer opp) kill prosnr (det som ligger først)
132
jobs vs processes
en job består av flere prosesser. process: når du exec kommando i terminal, det blir en process. eget minne kjøre independent eller har child process eks:åpner text editor = made process job: konsept brukt i shell eller bash any prog interactively start within the shell assosiert med fg og bg to suspend fg: ctrl z to bring it back use fg jobnr bg start when have & at ending of prog kommand in the background
132
time
kan time et prog eks: time ls -l får real: real time user: hvor mye tid bruker brukte sys: hvor mye tid sys brukte
132
ps kommando
skriver prosessene som er i denne sesjonen vi er i
133
demonen at
vi kan sette scheduled jobb med at. at 11:29 (dato vi vil skal skje) at > echo "hei" ctrl d (exit) eller med rederigering: at 11:29 < fil_med_kommando (les fra denne filen)
133
stdin vs stdout
< vs >
133
what is bg?
background job. happens behind the scene.does NOT run in the terminal/shell. user does not interact directly with it. ex: sys maintance, printing, network communication. examples: daemons, scheduled tasks, long running server processes. don't compete for attention. low priority, allow other tasks to go first. errors are in the background, not shown immediately to user.
133
for å se fremtidig jobbene med demon at?
atq
133
demonen cron
planlegge GJENTAGENDE fremtidige jobber denne tabellen kan vedlikeholdes av crontab -e (får editor som gir når den skal gjøres og kommando etter det) crontab -l (lister den opp)
133
regex
regular exression sequence of char som viser et pattern. character sets allow you to match any chars rom spes set. [^aeiouy] ^negates, så match alt utennom de
133
slette fremtidig demononen at jobb
atrm
133
wc
prints newline
133
sed
stream editor for filtering and transforming text
133
grep
finner ordet som kommer etter
134
awk
searches files (eller input stream) for linjer med spes patterns. når en linje matches, awk performs a user deg actions on that line (som du gjøre for å lese fra en fil husk) who | awk '{denne teksten}'
135
head
outputs first part of file
135
tail
outputs last part of file
136
cmp
compare two files byte by byte
137
åpne flere paneler i tmux
ctrl b så % (vertikal) ctrl b så " (horisontal) ctrl b < pil for å gå der, samme med opp ned og andre side
138
STDIN VS STDOUT VS STDERR
STDIN : input stream fra prog eller command. default, connected to keyboard. (0) //( STDERR (2) //2>(rederect err to file) >> append
138
vis alle sesj i tmux
tmux list-sessions
139
stenge en tmux side oppe
ctrl d eller exit alle? ctrl b så d
140
env command
env (uten arg): display enviroment variables. printer liste av alle enviroment variables det vil liste variables som PATH, HOSTNAME, TERM eller spes envirment med pipeline env | grep HOME viser Val til HOME variable
141
sort
sortere alphabatisk
142
tr
translates or deletes char
142
unique
report /omit repeated lines
143
split
split file to pieces
144
fmt
simple optimal text formatter
145
$PATH
enviroment variable som forteller sjell (command line) hvilke dir to search for executable files (ready to run) when you command use the command. VISER ALLE CONFIG FILER i terminalen kan bruke export PATH="/bin/script:$PATH" som tillater oss å hente den fra hvor som helst fra hvor som helst vi er
146
remove dir with $PATH
export PATH="${PATH//:/}"
147
enviroment
et sted som har info om all behavior til progs. som variables. global enviroment variables: accessable from anywhere in the terminal enviroment can define a global varibale in skrript eller terminal. local enviromen variabels: confined to specific enviroment
147
accessing enviroment variables
echo $VARINAME (du vet dette)
148
display env vari
printenv display all env vari set list both global and local env vari env presents a list of global enviroment variables
149
env command
to modify env
149
tmux what is
terminal multiplexer. makes you able to come back to same place after exit tmux a eller åpne flere paneler i samme sjlengen
149
arv
når lager dir inside dir, child dir arver rights from parent dir arv of processes child process shares mem and file discription fra parent . men kan modif indep også
150
~
home dir
151
$#
rep. nr og args passes to a shell script eller func. ./script.sh arg arg2 arg3 $# vil gi 3
152
$?
show exit status, som er 0 uten errors
152
#
komment, eller command line i shell skript
153
#!
shebang, start og skript to show its skript #!/bin/bash
154
sending arg to a skript
stored as variables inside the script