Różnice między wybraną wersją a wersją aktualną.
— |
so:test1_cwiczenia [2024/03/21 00:31] (aktualna) jkonczak utworzono |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
+ | Jeżeli do któregoś z zadań chcesz użyć interaktywnego programu (np. htop do zarządzania procesami), poza nazwą programu podaj jakie komendy, skróty klawiszowe lub działania należy użyć po uruchomieniu tego programu żeby osiągnąć cel. | ||
+ | \\ | ||
+ | Np. jeśli zadanie brzmi //Podaj komendę która pozwoli już uruchomionemu procesowi ''expensiveComputations'' używać tylko zerowego procesora//, to prawidłowe odpowiedzi to zarówno \\ | ||
+ | //''taskset -c 0 -p $(pgrep expensiveComputations)''//, a także \\ | ||
+ | //uruchamiam ''htop'', wyszukuję proces ''expensiveComputations'' używając skrótu ''/'', zmieniam przydział procesorów skrótem ''a''//, \\ | ||
+ | a nawet skrótowo zapisane //''htop'', ''/expensiveComputations'', ''a''//. | ||
+ | |||
+ | Wykonanie niektórych ćwiczeń wymaga stworzenia wpierw wspomnianych w ćwiczeniu plików bądź katalogów. | ||
+ | |||
+ | -------------------- | ||
+ | |||
+ | ~~#~~. Korzystając z podręcznika systemowego do programu ''bash'', podaj komendę która usunie alias ''la''. | ||
+ | |||
+ | ~~#~~. Podaj czego dotyczy strona z nazwą ''random'' z czwartej sekcji podręcznika systemowego. | ||
+ | |||
+ | ~~#~~. Jedna ze stron podręcznika systemowego mających tytuł ''signal'' tłumaczy czym jest sygnał ''SIGILL''. Znajdź ten fragment i podaj wyjaśnienie (komentarz). | ||
+ | |||
+ | ~~#~~. Znajdź w podręczniku systemowym do programu ''yt-dlp'' opcję która pobierze tylko audio z podanego linku, i podaj komendę która pobierze tylko audio z adresu %%https://www.youtube.com/watch?v=de2Hsvxaf8M%% | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą zalogujesz się po SSH jako użytkownik ''nethack'' na serwer znajdującym się pod adresem ''alt.org''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą zalogujesz się po SSH na komputer ''slurm'' ze swoja bieżącą nazwą użytkownika, nie podając jej w treści komendy((komendę możesz przetestować z serwera polluks)). | ||
+ | |||
+ | ~~#~~. Podaj komendę, która wyświetli katalog roboczy. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą przejdziesz do katalogu ''db'' znajdującym się w katalogu ''var'' znajdującym się bezpośrednio w głównym katalogu (root directory). | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą zmienisz katalog roboczy na katalog ''Documents'' znajdujący się katalog wyżej niż jesteś (tzn. w katalogu w którym jest katalog w którym jesteś). | ||
+ | |||
+ | ~~#~~. Podaj jedną komendę, która wyświetlisz zawartość katalogów ''.config'' oraz ''.local'' znajdujących się w twoim katalogu domowym. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą wyświetlisz wszystkie pliki (tzn. łącznie z ukrytymi plikami) w katalogu ''/tmp''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą wyświetlisz pliki w katalogu ''/usr/lib64/python/'' wraz z rozmiarami tych plików. | ||
+ | |||
+ | ~~#~~. Podaj ile MB ma plik ''/usr/bin/gdb'' i podaj jaką komendą uzyskałeś tą informację. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą wyświetlisz zawartość katalogu ''szkola podstawowa'' z podkatalogu ''stare zdjecia'' (oba katalogi mają spację w nazwie). | ||
+ | |||
+ | ~~#~~. Podaj nazwę pliku z najnowszą datą modyfikacji w katalogu ''/var/log'' i podaj jaką komendą uzyskałeś tą informację. | ||
+ | |||
+ | ~~#~~. Podaj jedną komendę, którą stworzysz katalog ''2024'' w katalogu ''data'', jednocześnie tworząc katalog ''data'' w razie gdyby ten nie istniał. | ||
+ | |||
+ | ~~#~~. Podaj jedną komendę, którą stworzysz katalogi o nazwach ''moje obrazy'' i ''moja muzyka''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą usuniesz pusty katalog ''Downloads''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą utworzysz (twarde) dowiązanie o nazwie ''commandHistory'' do pliku ''.bash_history''. | ||
+ | |||
+ | ~~#~~. Podaj jedną komendę, którą utworzysz (twarde) dowiązanie do plików ''~/.config/mimeapps.list'' i ''.config/htop/htoprc'' w katalogu domowym. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą utworzysz dowiązanie symboliczne do pliku ''/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq'' pod nazwą ''cpu0_frequency'' w bieżącym katalogu. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą utworzysz dowiązanie symboliczne o nazwie ''up'' wskazujące na katalog nadrzędny względem bieżącego. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą skopiujesz wszystkie pliki z rozszerzeniem ''.jpg'' z katalogu ''pictures'' do katalogu ''/tmp/a''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą skopiujesz katalog ''.local'' wraz z zawarością z twojego katalogu domowego na pulpit((zwykle katalog ''Desktop'' w katalogu domowym)) pod nazwę ''lokalne''. | ||
+ | |||
+ | ~~#~~. Podaj komendę (wykonywaną z katalogu domowego), którą stworzysz kopię pliku ''.bashrc'' pod nazwą ''.bashrc.bak'' tak, by kopia miała tę samą datę modyfikacji co oryginał. | ||
+ | |||
+ | ~~#~~. Podaj komendę którą przeniesiesz wszystkie pliki z rozszerzeniem ''*.txt'' z twojego katalogu domowego do katalogu ''notatki''. | ||
+ | |||
+ | ~~#~~. Podaj komendę którą zmienisz nazwę pliku ''mysia wierza.png'' na ''mysia_wieza.png''. | ||
+ | |||
+ | ~~#~~. Podaj komendę którą poprawisz nazwę katalogu ''soembdoy'' znajdującego się w katalogu ''/tmp'' na ''somebody''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą skopiujesz plik ''kitten'' znajdujący się w folderze ''/var/tmp'' na serwerze ''polluks.cs.put.poznan.pl'' do katalogu ''tmp'' na twoim komputerze. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą skopiujesz razem z zawartością katalog ''Moje obrazy'' z twojego katalogu domowego do swojego katalogu domowego na serwerze ''polluks.cs.put.poznan.pl''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą umieścisz lokalny plik ''x.sh'' w katalogu ''Desktop'' znajdującym się w twoim katalogu domowym na serwerze ''polluks.cs.put.poznan.pl'' pod nazwą ''skrypt1.sh''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą usuniesz plik ''plik tymczasowy'' z katalogu ''/tmp'' | ||
+ | |||
+ | ~~#~~. Podaj komendę, która usunie całą zawartość katalogu ''.cache'' znajdującego się w twoim katalogu domowym (pozostawiając sam folder ''.cache'' na swoim miejscu). | ||
+ | |||
+ | ~~#~~. Podaj komendę, która usunie zabezpieczony przed zapisem plik ''readOnly'' bez wyświetlania pytania o potwierdzenie. | ||
+ | |||
+ | ~~#~~. Podaj komendę, która usunie wszystkie pliki z rozszerzeniami ''.toc'', ''.nav'' i ''.aux'' z bieżącego katalogu. | ||
+ | |||
+ | ~~#~~. Podaj komendę, która usunie wszystkie pliki których nazwa zaczyna się od ''try'' i kończy na ''.c'' z katalogu ''programming''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, która wyświetli twoją nazwę użytkownika. | ||
+ | |||
+ | ~~#~~. Podaj komendę, która wyświetli do jakich grup należy bieżący użytkownik. | ||
+ | |||
+ | ~~#~~. Podaj komendę, która wyświetli do jakich grup należy użytkownik ''root''. | ||
+ | |||
+ | ~~#~~. Podaj kiedy ostatnio logował się użytkownik ''root''. Podaj komendę, którą to sprawdziłeś. | ||
+ | |||
+ | ~~#~~. Podaj komendę którą sprawdzisz jacy użytkownicy są w tej chwili zalogowani na bieżącym komputerze. | ||
+ | |||
+ | ~~#~~. Podaj do jakiego użytkownika i jakiej grupy należy plik ''/dev/console'' oraz jakiej komendy użyłeś żeby się tego dowiedzieć. | ||
+ | |||
+ | ~~#~~. Podaj do jakiego użytkownika i jakiej grupy należy katalog ''/var/spool/clientmqueue''((taki katalog istnieje na serwerze polluks)) oraz jakiej komendy użyłeś żeby się tego dowiedzieć. | ||
+ | |||
+ | ~~#~~. Podaj i uzasadnij czy użytkownik ''infXYZ'' należący do grupy ''students'' może wyświetlić treść pliku ''/home/jkonczak/so/obscure/mooo'' na serwerze polluks. | ||
+ | |||
+ | ~~#~~. Podaj i uzasadnij czy użytkownik ''infXYZ'' należący do grupy ''students'' może wyświetlić treść pliku ''/home/jkonczak/so/obscure/joker'' na serwerze polluks((to zadanie może być podchwytliwe)). | ||
+ | |||
+ | ~~#~~. Podaj i uzasadnij czy użytkownik ''foo'' należący do grupy ''staff'' może wyświetlić zawartość katalogu ''/home/jkonczak/so/dir'' na serwerze polluks. | ||
+ | |||
+ | ~~#~~. Podaj którzy użytkownicy mogą wyświetlić zawartość pliku ''.bash_history'' w twoim katalogu domowym. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą odbierzesz osobom niebędącym w twojej grupie możliwości przeczytania pliku ''nasze tajne dane.txt''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą zabronisz dostępu (odczytu, zapisu i wykonania) do swojego pliku ''~/public_html/index.php'' (należącego do grupy ''students'') innym studentom, ale nie zabronisz dostępu serwerowi www (który nie należy do grupy ''students'')((Pliki które na serwerze polluks zostaną umieszczone w podkatalogu ''public_html'' katalogu domowego użytkownika //username// są dostępne pod adresem %%https://sirius.cs.put.poznan.pl/~%%//username//%%/%%.)). | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą zmienisz grupę pliku ''access_log'' na ''www-data'' (prawdopodobnie nie będziesz mieć uprawnień do wykonania takiej komendy jako zwykły użytkownik). | ||
+ | |||
+ | ~~#~~. Podaj jedną komendę, którą ustawisz uprawnienia dostępu do pliku ''access_log'' tak, żeby grupa mogła tylko pisać do tego pliku, żebyś ty tylko mógł go odczytać, a pozostałe osoby nie miały do niego żadnego dostępu. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą zmienisz uprawnienia dostępu do katalogu ''/tmp/myDir'' tak, żeby użytkownicy nie będący tobą mogli przeczytać treść pliku ''/tmp/myDir/pub.txt'', ale nie mogli wyświetlić zawartości katalogu ''/tmp/myDir''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, która pozwoli użytkownikowi ''jkonczak'' należącemu do grup ''staff'' i ''lindev'' na odczytanie i wykonanie pliku ''zadanie.sh'' w twoim katalogu domowym na serwerze polluks, ale zabroni użytkownikowi ''inf111111'' należącemu do grupy ''students'' na odczytanie tego pliku. | ||
+ | |||
+ | ~~#~~. Podaj kiedy ostatnio była modyfikowana zawartość pliku ''/etc/sudoers''. | ||
+ | |||
+ | ~~#~~. Podaj kiedy ostatnio były zmieniane metadane pliku ''/etc/sudoers''. | ||
+ | |||
+ | ~~#~~. Podaj kiedy został utworzony plik ''/var/log/wtmp''((zadanie można zrobić jeśli użyty system plików przechowuje daty utworzenia plików; na serwerze polluks zadanie można wykonać)). | ||
+ | |||
+ | ~~#~~. Podaj komendę, która zmieni datę ostatniej modyfikacji pliku ''treaty'' na ''1992-2-7 11:55'' | ||
+ | |||
+ | ~~#~~. Podaj komendę, która uruchomi program ''lsof'' i zmierzy czas jego działania. | ||
+ | |||
+ | ~~#~~. Podaj jaki identyfikator ma sesja powłoki w której pracujesz i jaką komendą to ustaliłeś. | ||
+ | |||
+ | ~~#~~. Podaj jak nazywa się proces będący rodzicem procesu ''X'' (''X'' to nazwa programu odpowiedzialnego za 'okienka' w [[http://x.org/|X Window System]]). Jeżeli wykonujesz to zadanie na polluksie, poszukaj rodzica procesu ''pickup''. | ||
+ | |||
+ | ~~#~~. Podaj listę argumentów z jakimi został uruchomiony program ''ntpd'' na twoim komputerze. | ||
+ | |||
+ | ~~#~~. Podaj który użytkownik uruchomił program ''rpcbind'' na twoim komputerze. | ||
+ | |||
+ | ~~#~~. Podaj który program zajmuje najwięcej miejsca w RAMie swoimi prywatnymi plikami (tzn. licząc //__res__ident set size//). Podaj jaką komendą to ustaliłeś. | ||
+ | |||
+ | ~~#~~. Uruchom w jednej konsoli program ''sleep 1h'' a w drugiej program ''sleep 2h''. Podaj komendę którą z trzeciej konsoli sprawdzisz identyfikator procesu czekającego jedną godzinę. | ||
+ | |||
+ | ~~#~~. Uruchom w jednej konsoli program ''sleep 1h''. Podaj komendę, którą z drugiej konsoli zakończysz działanie tego programu. | ||
+ | |||
+ | ~~#~~. Uruchom w jednej konsoli program ''mkpasswd''. Podaj komendę, którą z drugiej konsoli wyślesz do tego programu sygnał ''FPE''. | ||
+ | |||
+ | ~~#~~. Uruchom w jednej konsoli program ''mkpasswd''. Podaj komendy, które pozwolą tobie z drugiej konsoli wysłać sygnał ''HUP'' do powłoki w której jest uruchomiony program ''mkpasswd''. | ||
+ | |||
+ | ~~#~~. Podaj skrót klawiszowy który zwyczajowo przerwie i zakończy działanie procesu pierwszoplanowego. | ||
+ | |||
+ | ~~#~~. Podaj skrót klawiszowy który zwyczajowo zatrzyma (tzn. uśpi) działanie procesu pierwszoplanowego. | ||
+ | |||
+ | ~~#~~. Uruchom z terminala program ''xterm''. Zatrzymaj działanie programu odpowiednim skrótem. Podaj komendę, którą przywrócisz program xterm do działania jako proces w tle (tzn. tak byś dalej mógł używać i bieżącego terminala i programu xterm). | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą uruchomisz w tle polecenie ''perl -e "system'fortune'while sleep 5"''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą przeniesiesz uruchomione w tle zadanie w tryb pierwszoplanowy. | ||
+ | |||
+ | ~~#~~. Uruchom w tle program ''mkpasswd'' oraz program ''sleep 50''. Podaj komendę którą przywołasz na pierwszy plan program ''mkpasswd''. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą wpiszesz listę procesów działających w tle w bieżącym terminalu. | ||
+ | |||
+ | ~~#~~. Podaj komendę, którą uruchomisz z najniższym możliwym priorytetem program ''yes'' z argumentem ''boo''. | ||
+ | |||
+ | ~~#~~. Podaj komendy, które zmniejszą priorytet (//niceness//) bieżącej powłoki do 5. | ||
+ | |||
+ | ~~#~~. Podaj komendę, która wyświetli zawartość pliku ''/etc/protocols'' numerując wiersze. | ||
+ | |||
+ | ~~#~~. Podaj komendę, która wyświetli zawartość pliku ''/etc/fstab'' formatując wynik jako tabelę. | ||
+ | |||
+ | ~~#~~. Podaj komendę, która wyświetli wartości kolejnych bajtów w pliku ''/usr/bin/yes'' jako liczby szesnastkowe. | ||
+ | |||
+ | ~~#~~. Podaj komendę, która używając przekierowań stworzy plik ''message'' z zawartością ''Premission denined''. | ||
+ | |||
+ | ~~#~~. Podaj komendy które używając przekierowań stworzą plik o nazwie ''1'' z liczbami od 1 do 5 w nowych wierszach, oraz plik o nazwie ''5'' z liczbami od 5 co 5 do 25 w nowych wierszach. | ||
+ | |||
+ | ~~#~~. Podaj komendę która wyświetli zawartość plików z poprzedniego zadania obok siebie. | ||
+ | |||
+ | ~~#~~. Podaj jedną komendę która wyświetli zawartość plików z poprzedniego zadania jeden pod drugim. | ||
+ | |||
+ | ~~#~~. Podaj komendę która wykona i zmierzy czas wykonania polecenia ''lsof'' oraz wynik polecenia ''lsof'' umieści w pliku ''lsof.log'' | ||
+ | |||
+ | ~~#~~. Podaj komendę która doda na koniec pliku ''lsof.log'' bieżącą datę. | ||
+ | |||
+ | ~~#~~. Podaj komendę która wykona polecenie ''find /var'' i wyrzuci do śmieci komunikaty o błędach. | ||
+ | |||
+ | ~~#~~. Podaj jak wykonać komendę ''strace -e 'openat' ls ~'' tak, by wynik programu ''ls'' trafił do pliku ''ls.out'' a (wypisywane na standardowy błąd) komunikaty programu ''strace'' trafiły do pliku ''ls.strace''. | ||
+ | |||
+ | ~~#~~. Podaj komendę która uruchomi w tle program ''glxgears'' i wrzuci wszystko co ten program produkuje na standardowym wejściu i wyjściu do "czarnej dziury". | ||
+ | |||
+ | ~~#~~. Podaj komendę która wykona polecenie ''wc'' wstawiając jako standardowe wejście treść pliku ''/etc/resolv.conf''. | ||
+ | |||
+ | ~~#~~. Podaj komendę która uruchomi program ''bc'' i przekaże temu programowi na standardowe wejście dwie linie: ''(4^4)^4'' oraz ''4^(4^4)''. | ||
+ | |||
+ | |||