From db39bc7df6927dd81ccbe32dc5a247e619b58f86 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Wed, 15 Feb 2023 11:17:26 +0100 Subject: os week 3 klaar --- .gitignore | 1 + os1w3/huiswerk.md | 77 +++++++++++++++++++++++++++++++++++++++++++++ os1w3/opgave2.txt | 8 +++++ os1w3/practicum.md | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ os1w3/windows.txt | 3 ++ 5 files changed, 180 insertions(+) create mode 100644 os1w3/huiswerk.md create mode 100644 os1w3/opgave2.txt create mode 100644 os1w3/practicum.md create mode 100644 os1w3/windows.txt 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 -- cgit v1.2.3