summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2023-02-15 11:17:26 +0100
committerlonkaars <loek@pipeframe.xyz>2023-02-15 11:17:26 +0100
commitdb39bc7df6927dd81ccbe32dc5a247e619b58f86 (patch)
treea981701eabd9ce2606eb957f1df4f22a9b14012e
parent3064926731fdbf3516e496fa1e905278defeccc3 (diff)
os week 3 klaar
-rw-r--r--.gitignore1
-rw-r--r--os1w3/huiswerk.md77
-rw-r--r--os1w3/opgave2.txt8
-rw-r--r--os1w3/practicum.md91
-rw-r--r--os1w3/windows.txt3
5 files changed, 180 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 50ceb83..fb0c7ef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
**/*.zip
+**/*.pdf
diff --git a/os1w3/huiswerk.md b/os1w3/huiswerk.md
new file mode 100644
index 0000000..db7d1ab
--- /dev/null
+++ b/os1w3/huiswerk.md
@@ -0,0 +1,77 @@
+# os week 3 huiswerk
+
+## 1
+
+Met I/O redirection kun je stdout/stderr samenvoegen of naar losse bestanden
+sturen, terwijl pipes alleen de stdout van een proces doorvoeren naar de stdin
+van een andere.
+
+## 2
+
+```bash
+$ ls
+huiswerk.md opgave2-ln-2.txt os-hw.pdf practicum.md windows.txt
+opgave2-ln-1.txt opgave2.txt os-p.pdf windows-utf8.txt
+$ ls -li | sort -k1 | uniq -c -w8
+ 1 3943448 -rw-r--r-- 1 loek loek 52531 Feb 15 09:51 os-hw.pdf
+ 1 3943704 -rw-r--r-- 1 loek loek 65225 Feb 15 09:52 os-p.pdf
+ 3 3943705 -rw-r--r-- 3 loek loek 37 Feb 15 09:52 opgave2-ln-1.txt
+ 1 3943706 -rw-r--r-- 1 loek loek 23 Feb 15 09:52 windows.txt
+ 1 6295935 -rw-r--r-- 1 loek loek 1497 Feb 15 11:05 huiswerk.md
+ 1 6304713 -rw-r--r-- 1 loek loek 1948 Feb 15 10:48 practicum.md
+ 1 6305020 -rw-r--r-- 1 loek loek 20 Feb 15 10:43 windows-utf8.txt
+ 1 total 144
+$
+```
+
+Dit werkt, want de inodes van hard links zijn hetzelfde als het oorspronkelijke
+bestand. Hier heb ik `sort` en `uniq` gebruikt om te tellen hoeveel hard links
+er zijn naar elke unieke inode.
+
+## 3
+
+```bash
+$ mkdir temp
+$ ls -lia
+total 156
+6318877 drwxr-xr-x 3 loek loek 4096 Feb 15 11:10 .
+6316645 drwxr-xr-x 9 loek loek 4096 Feb 15 09:52 ..
+6304712 -rw-r--r-- 1 loek loek 1543 Feb 15 11:09 huiswerk.md
+3943705 -rw-r--r-- 3 loek loek 37 Feb 15 09:52 opgave2-ln-1.txt
+3943705 -rw-r--r-- 3 loek loek 37 Feb 15 09:52 opgave2-ln-2.txt
+3943705 -rw-r--r-- 3 loek loek 37 Feb 15 09:52 opgave2.txt
+3943448 -rw-r--r-- 1 loek loek 52531 Feb 15 09:51 os-hw.pdf
+3943704 -rw-r--r-- 1 loek loek 65225 Feb 15 09:52 os-p.pdf
+6304713 -rw-r--r-- 1 loek loek 1948 Feb 15 10:48 practicum.md
+6295935 drwxr-xr-x 2 loek loek 4096 Feb 15 11:10 temp
+6305020 -rw-r--r-- 1 loek loek 20 Feb 15 10:43 windows-utf8.txt
+3943706 -rw-r--r-- 1 loek loek 23 Feb 15 09:52 windows.txt
+$ ls -lia temp
+total 8
+6295935 drwxr-xr-x 2 loek loek 4096 Feb 15 11:10 .
+6318877 drwxr-xr-x 3 loek loek 4096 Feb 15 11:10 ..
+$
+```
+
+- De inode van de `.` map in de `temp` map, is hetzelfde als de inode van
+ de`temp` map.
+- De inode van de `..` map in de `temp` map, is hetzelfde als de inode van de
+ bovenliggende map.
+
+## 4
+
+De stdout van `mijn_script` gaat naar /dev/null (wordt weggegooid), en stderr
+wordt doorgevoerd naar stdout (ook weggegooid, omdat stdout naar /dev/null
+gaat).
+
+## 5
+
+Als de mappen `"$HOME/var/log/mijn_script"` bestaan, zal deze een bestand
+aanmaken met alleen de stderr (waarschijnlijk foutmeldingen) die mijn\_script
+output.
+
+## 6
+
+Ik weet niet wat ik hier als antwoord moet invullen maar de pager werkt
+:thumbsup:
+
diff --git a/os1w3/opgave2.txt b/os1w3/opgave2.txt
new file mode 100644
index 0000000..8488c63
--- /dev/null
+++ b/os1w3/opgave2.txt
@@ -0,0 +1,8 @@
+woord
+nog
+een
+woord
+en
+nog
+een
+woord
diff --git a/os1w3/practicum.md b/os1w3/practicum.md
new file mode 100644
index 0000000..ecc87ed
--- /dev/null
+++ b/os1w3/practicum.md
@@ -0,0 +1,91 @@
+# os week 3 practicum
+
+## 1
+
+```bash
+# print df met "human" sizes -> sorteer "human" op kolom 4 (delimiter automatisch)
+$ df -h | sort -hk4
+Filesystem Size Used Avail Use% Mounted on
+tmpfs 785M 64K 785M 1% /run/user/1000
+dev 3.9G 0 3.9G 0% /dev
+run 3.9G 1.2M 3.9G 1% /run
+tmpfs 3.9G 0 3.9G 0% /dev/shm
+tmpfs 3.9G 4.0K 3.9G 1% /tmp
+/dev/sda2 439G 228G 189G 55% /
+$
+```
+
+## 2
+
+```bash
+$ sort -u < opgave2.txt
+een
+en
+nog
+woord
+$ sort < opgave2.txt | uniq
+een
+en
+nog
+woord
+$
+```
+
+## 3
+
+Ik denk dat het commando `tee` zo heet omdat het een soort t-splitsing is maar
+dan voor i/o streams.
+
+```bash
+$ ls | tee listing.txt | wc -l
+6
+$ cat listing.txt
+huiswerk.md
+opgave2.txt
+os-hw.pdf
+os-p.pdf
+practicum.md
+windows.txt
+$
+```
+
+## 4
+
+```bash
+$ file windows.txt
+windows.txt: ASCII text, with CRLF line terminators
+$ xxd windows.txt
+00000000: 6861 6c6c 6f0d 0a68 616c 6c6f 0d0a 7769 hallo..hallo..wi
+00000010: 6e64 6f77 730d 0a ndows..
+$ tr -d '\r' < windows.txt > windows-utf8.txt
+$ file windows-utf8.txt
+windows-utf8.txt: ASCII text
+$ xxd windows-utf8.txt
+00000000: 6861 6c6c 6f0a 6861 6c6c 6f0a 7769 6e64 hallo.hallo.wind
+00000010: 6f77 730a ows.
+$
+```
+
+## 5
+
+```bash
+# a (zie dat 0x0d 0x0a verandert naar 0x0a)
+$ hexdump -C < windows.txt | head -n2
+00000000 68 61 6c 6c 6f 0d 0a 68 61 6c 6c 6f 0d 0a 77 69 |hallo..hallo..wi|
+00000010 6e 64 6f 77 73 0d 0a |ndows..|
+$ hexdump -C < windows-utf8.txt | head -n2
+00000000 68 61 6c 6c 6f 0a 68 61 6c 6c 6f 0a 77 69 6e 64 |hallo.hallo.wind|
+00000010 6f 77 73 0a |ows.|
+$
+# b
+$ wc -c < windows.txt
+23
+# 23 bytes in windows.txt
+$ wc -c < windows-utf8.txt
+20
+# 20 - 3 bytes in windows-utf8.txt
+$ wc -l < windows.txt
+3
+# 3 regels in windows.txt (per regel een \r\n)
+$
+```
diff --git a/os1w3/windows.txt b/os1w3/windows.txt
new file mode 100644
index 0000000..978f065
--- /dev/null
+++ b/os1w3/windows.txt
@@ -0,0 +1,3 @@
+hallo
+hallo
+windows