Lab 06
Uwagi do ćwiczeń
Tworzymy sprawozdanie z wykonanych czynności
Proszę o wykonywanie poniższych ćwiczeń, dokumentując rezultaty
- zapisanie numeru polecenia w nagłówku
- opis czynności
- wykonywanie zrzutów ekranu
- umieszczanie tych zrzutów jako zawartości do dowolnego edytora tekstu np. Word, Writer
- w żadnym przypadku nie kopiujemy manual-a lub helpa
Sprawozdanie zapisujemy w formacie PDF i przesyłamy do systemu jako potwierdzenie swojego udziału w zajęciach i wykonania ćwiczeń.
Plik sprawozdania proszę zapisać jako: Sprawozdanie_lab06_JanKowalski.pdf, dla studenta o nazwisku Jan Kowalski.
Zadania - Część pierwsza
Monitorowanie procesów:
- Użyj polecenia top lub htop (jeśli jest dostępne) aby monitorować procesy w czasie rzeczywistym.
- Zidentyfikuj procesy, które zużywają najwięcej zasobów (CPU i pamięci RAM).
- Zapisz, jak zmienia się zużycie zasobów przez te procesy w ciągu kilku minut.
- Wybierz jeden z procesów monitorowanych w części 1.
- Zmodyfikuj priorytet wybranego procesu, używając polecenia nice lub renice.
- Obserwuj, jak zmiana priorytetu wpływa na alokację zasobów dla tego procesu.
- Omów, jak zmiana priorytetu procesu wpłynęła na jego zachowanie i zużycie zasobów.
- Wnioski: Wyjaśnij, w jakich sytuacjach zarządzanie priorytetami procesów może być przydatne.
Obsługa repozytorium Github:
- Załóż konto na GitHub i utwórz nowe repozytorium.
- Sklonuj repozytorium na lokalny komputer.
- Wykonaj prosty kalkulator w języku python.
- Przyjmuje 3 argumenty: calc.py <liczba_1> < operacja + - > <liczba_2>
- Zapisuje wynik do pliku /tmp/wynik.txt
- Wykonaj pierwszy commit i push konfiguracji systemu do repozytorium na GitHub.
- Dokumentuj wszystkie kroki i napisz krótki raport opisujący proces i napotkane wyzwania.
- Na koniec utwórz skrypt w bash, skrypt ma być uruchamiany podczas startu naszego systemu i jego zadaniem jest uruchomienie naszego kalkulatora(crontab).
Zadania - Część druga
- Napisz skrypt w jezyku AWK zapisujący do pliku named1.txt tylko te linie, które zawierają słowo “Zadanie”.
- Napisz skrypt w języku BASH, wyświetlający tylko te pliki, które zostały zmodyfikowane w miesiącu podanym jako parametr skryptu.
Podstawy AWK
Basics
AWK - programming language used for processing text data
Each program of this language consists of any number of params pattern {action}
Running scripts
awk -f script_file.awk [parameters]
awk 'pattern {action}' [parameters]
Sample
#!/bin/env awk
pattern1 {action1}
pattern2 {action2}
We give the right to exercise; we run like a shell script
Built-in variables:
- ARGC - the number of arguments given from the command line
- ARGV - array of arguments given from the command line
- CONVFMT - internal conversion of numbers into strings (default “% .6g”)
- ENVIRON - array indexed by environment variable names (eg ENVIRON [“OSTYPE”] = “linux-gnu”)
- FILENAME - the name of the currently processed file
- FNR - record number in the currently processed file
- FS - separator of input fields
- NF - number of fields in the record
- NR - the number of the record processed in the entire input stream
- OFMT - printed number format (default “% .6g”)
- OFS - output field separator (default space character)
- ORS - separator of output records (default “\n”)
- RS - input record separator ("\n" by default)
Control instructions:
if ( condition ) instruction[ else instruction ]
while ( condition ) instruction
do instruction while ( condition )
for ( initialization; condition; increment ) instruction
for ( variable in array ) instruction
break
continue