/Users/student/<login>/ dla systemu macOS, /home/student/<login>/ dla systemu Linux) utworzyć podkartotekę 2024, w niej podkartotekę odpowiadającą numerowi aktualnego miesiąca, a w niej z kolei
kartoteki odpowiadające numerom dni tego miesiąca, które przypadają w bieżącym tygodniu./etc/passwd o nazwie pass<numer_dnia>.stare_kartoteki oraz kartotekę (być może niepustą) o nazwie stary_rok.nano), spisać wszystkie kolejne polecenia niezbędne do wykonania całego zadania w pliku tekstowym o nazwie kartoteki.ls -lR 2024 >> kartoteki, po czym plik ten należy przesłać jako rozwiązanie zadania.install.curl pobrać obraz dysku instalacyjnego systemu Linux Mint dostępny pod adresem: https://ftp.psnc.pl/linux/linuxmint/iso/stable/21.2/linuxmint-21.2-xfce-64bit.iso.Mint-<login> i zainstalować na niej system ze ściągniętego obrazu.virtual i zanotować w nim zauważone różnice pomiędzy systemami host (macOS lub Windows) i guest (Linux).uname -a >> virtual, po czym plik ten należy przesłać jako rozwiązanie zadania.linki, w niej stworzyć dwie kopie pliku /etc/passwd o nazwach
kopia1 i kopia2 oraz dwa dowiązania do tych kopii:
statyczne (twarde) do pierwszej z nich o nazwie hard oraz symboliczne (miękkie) do drugiej o nazwie soft.linki pod nazwą <login>-lnk.links.txt, po czym plik ten należy przesłać jako rozwiązanie zadania.redir i w niej wykonać kolejne kroki zadania z użyciem podanych konsolowych programów użytkowych.echo: Utworzyć plik user zawierający linię w formacie "USER: <login>" a następnie dopisać do pliku kolejną linię w formacie "GROUP: <numer grupy laboratoryjnej>".less: Odnaleźć w pliku /etc/passwd linię zawierającą opis administratora root, po czym przekopiować ją z terminala i dopisać poleceniem echo jako kolejną linię pliku user.cat: Połączyć pliki /etc/passwd oraz /etc/group w jeden plik o nazwie system, po czym utworzyć jego kopię zawierającą numery linii na początku (opcja -n) w pliku pod nazwą system1.head, tail: Zapisać dwie pierwsze linie pliku system1 a następnie dwie ostatnie linie tego pliku do nowego pliku system2.wc: Łączną liczbę wszystkich linii w obydwu plikach system1 oraz system2 zapisać w pliku lines.nr.tr, sort, uniq: Uporządkowaną alfabetycznie listę wszystkich słów (jako separatory potraktować znaki spacji, nowej linii, dwukropka oraz /) występujących w obydwu plikach system1 oraz system2 zapisać w pliku words.al a ich ilość w pliku words.nr.pipeline.txt, po czym plik ten należy przesłać jako rozwiązanie zadania.files i w niej wykonać kolejne kroki zadania.binary i umieścić w niej kopie dwóch pierwszych (w porządku alfabetycznym) plików z kartoteki /usr/bin, których nazwa rozpoczyna się od małej litery będącej inicjałem imienia użytkownika (w przypadku braku odpowiednich plików wziąć kolejne z listy).text i umieścić w niej kopie dwóch ostatnich (w porządku alfabetycznym) plików z kartoteki /etc, których nazwa rozpoczyna się od małej litery będącej inicjałem nazwiska użytkownika.cpio o nazwie bintex.cpio a następnie usunąć obie kartoteki i odtworzyć ich zawartość z powstałego archiwum.tar o nazwie bintex.tar a następnie usunąć obie kartoteki i odtworzyć ich zawartość z archiwum.compress a drugie programem gzip.tar o nazwie bintex.tgz a następnie usunąć obie kartoteki i odtworzyć ich zawartość z powstałego archiwum.zip o nazwie bintex.zip a następnie usunąć obie kartoteki i odtworzyć ich zawartość z powstałego archiwum.files.txt a następnie nie zmieniając kartoteki wykonać polecenie ls -lR files >> files.txt, po czym plik files.txt należy przesłać jako rozwiązanie zadania.exreg i w niej wykonywać następne polecenia.error_log (można wykorzystać narzędzie wget lub curl).errors_only a linie informacyjne (litera I na początku) spisać do pliku info_only.<rok>.txt.grep.txt,
po czym przesłac go jako rozwiązanie zadania.dane i w niej wykonywać następne polecenia.error_log (można wykorzystać narzędzie wget lub curl).Listening') na podanym porcie IPv4 wypisać do pliku info.txt daty odpowiadających im zdarzeń w formacie: YYYY-MM-DD uporządkowane
od najnowszych do najstarszych.awk.txt,
po czym przesłac go jako rozwiązanie zadania.logs, w której następnie należy stworzyć skrypt shell'owy o nazwie times.sh.xinetd.log.3 po wyświetleniu komunikatu "Invalid parameters"),
gdzie pierwszy jest wybranym rokiem, drugi numerem miesiąca a trzeci nazwą pliku - działanie należy testować na ściągniętym pliku xinetd.log, a jako rok przyjąć np. 2016 oraz 8 jako miesiąc.
times.txt zawierający czasy w formacie [godz:min:sek], w których zanotowano połączenia FTP w danym miesiącu podanego roku oddzielone spacją od odpowiedniego numeru IP.domains.txt zawierający trzy pierwsze człony znalezionych adresów IP, posortowane malejąco wg. wartości numerycznej.logs.tar zawierające kartotekę logs wraz z jej całą zawartością (skrypt, plik z danymi i wygenerowane pliki), po czym całość skompresować
programem gzip (plik logs.tar.gz należy przesłać jako rozwiązanie zadania).calc.sh obsługujący następujące opcje:-a n1 n2-m n1 n2-s n1 n2-d n1 n2-n n1-in1 i n2 oznaczają liczby (najlepiej rzeczywiste) poddawane odpowiednim działaniom.calc.sh należy przesłać jako rozwiązanie zadania.seconds.sh uruchamiany z jednym parametrem oznaczającym liczbę sekund (należy zakomunikować nieobecność parametru poprzez kod wyjścia równy 1).seconds-<PID>.txt znajdujacego się w kartotece domowej użytkownika uruchamiającego skrypt.killer.sh, który znajdzie numery PID wszystkich uruchomionych programów o nazwie seconds.sh należących do użytkownika uruchamiającego ten skrypt i spowoduje ich zamknięcie
(na wyjściu diagnostycznym powinien pojawić się jedynie odpowiedni wpis np. "3 process(es) terminated").lab10.tar.gz należy przesłać jako rozwiązanie zadania.atjobs uruchamiany przez demona at uruchamiający następujące zadania:ls -lR) kartoteki domowej użytkownika w pliku ls.log umieszczonym w kartotece domowej,nazwa:właściciel:prawa dostępu (w postaci liczbowej):rozmiar (w MB) informacji o wszystkich plikach z całego systemu plików (polecenie find), które mają rozmiar większy od 1MB w pliku bigfiles umieszczonym w kartotece domowej.README opisać sposób uruchomienia zadania o godzinie 11:30atjobs oraz README należy umieścić w archowum atjobs.tar i przesłać jako rozwiązanie zadania.cron o nazwach cronjob1 i cronjob2 realizujące odpowiednio następujące zadanie 1 i zadanie 2:student w archiwum /tmp/<data>.tarfind), w pliku progs_size umieszczonym w kartotece domowejREADME opisać sposób uruchomienia zadania 1 o godzinie 11:15 w każdą środę oraz zadania 2 co pół godziny w trzecim dniu pierwszego miesiąca każdego kwartałucronjob1, cronjob2 oraz README należy umieścić w archiwum cronjobs.tar i przesłać jako rozwiązanie zadania.whoisalive, który:student, w przeciwnym wypadku zakończy działanie z kodem wyjścia 1,ping do wszystkich numerów IP w tej sieci,arp) wypisze na standardowe wyjście.alive.txt należy przesłać w postaci archiwum alive.tar jako rozwiązanie zadania.my_installer z wykorzystaniem programu dialog, który:README w postaci okna,primeseq.c a pliku skompilowanego to primeseq,seq, przy czym wyświetlane mają być jedynie kolejne liczby pierwsze z zakresu ograniczonego jednym bądź dwoma parametrami.zaj14.tar.gz. należy przesłać jako rozwiązanie zadania.Za terminowe wykonanie i nadesłanie raportu z przebiegu pracy nad każdym z 14 zadań można uzyskać maksymalnie 5 pkt. co w sumie pozwala zdobyć 70 punktów na koniec semestru. W zależności od uzyskanej liczby punktów student otrzymuje następujące oceny:
| Punkty: | Ocena: |
| 64-70 | 5 |
| 57-63 | 4.5 |
| 50-56 | 4 |
| 43-49 | 3.5 |
| 36-42 | 3 |
| 0-35 | 2 |
Kontakt: SoftAdm