Narzędzia użytkownika

Narzędzia witryny


Pasek boczny

so:test2_cwiczenia

1. Podaj komendę, która w katalogu /sys wyszuka wszystkich plików o nazwie cpu.

2. Podaj komendę, która w katalogu /sys wyszuka wszystkich plików zawierających w nazwie threshold.

3. Podaj komendę, która w katalogach .config oraz .local znajdujących się w twoim katalogu domowym wyszuka pliki których nazwa kończy się na rc

4. Podaj nazwę pliku istniejącego w katalogu /usr/include którego nazwa zawiera message i w ścieżce do którego jest katalog json.

5. Podaj komendę, która w katalogu /usr/share wyszuka wszystkich symlinków których nazwa zawiera fullscreen.

6. Podaj komendę, która w twoim katalogu domowym wyszuka pliku zmodyfikowanie między 7 a 5 dni temu.

7. Podaj komendę, która w twoim katalogu domowym wyszuka pliki z rozszerzeniem txt i pokaże dla każdego znalezionego pliku jego pierwszą linię.

8. Podaj komendę, która w twoim katalogu domowym wyszuka pliki z rozszerzeniem txt i spakuje je do archiwum o nazwie pliki_txt.tar.xz.
(Tworzenie takiego archiwum to komenda tar cJf pliki_txt.tar.xz lista plików. Komendą tar tf pliki_txt.tar.xz sprawdzisz zawartość archiwum.)

9. Podaj komendę, która w katalogu /usr/include/ wyszuka pliki których nazwa zaczyna się od std i następnie wypisze ilość wierszy w każdym z tych plików.

10. Podaj komendę (używającą potoku) która powtórzy poprzednie zadanie, ale zwróci wyniki posortowane po ilości linii w plikach.


11. W teście będzie jedno polecenie z treścią:
Skopiuj podany plik (np. /home/jkonczak/so/old_mcdonald_mistyped.txt na serwerze polluks) w dowolne miejsce, następnie wykonaj podaną komendę która pokaże co masz poprawić w pliku (np. /home/jkonczak/so/old_mcdonald_check.sh nazwa_twojej_kopii na serwerze polluks). Popraw plik, następnie podaj sumę kontrolną MD5 poprawionego pliku.
Sumę kontrolną liczy się komendą md5sum < nazwa_twojej_kopii.
(Na maszynie do testów nie ma graficznych edytorów tekstowych.)


Pamiętaj o ćwiczeniach z potoków na podstronie potoki_cwiczenia z przykładowymi rozwiązaniami tutaj.

12. Podaj komendę (lub potok) który policzy ile procesów ma uruchomionych użytkownik student.

13. Podaj komendę (potok) które wyświetli wszystkie grupy do których należy jakiś plik bądź katalog w katalogu /dev.

14. Podaj komendę (potok) które wyświetli pięć największych plików w katalogu /usr/lib które nie mają ustawionego prawa do wykonywania.

15. Podaj komednę (potok), która wykorzysując komendę find -ls znajdzie największy plik w twoim katalogu domowym.

16. Podaj komendę (potok), która z pliku pan-tadeusz.txt (wziętego np. stąd: https://wolnelektury.pl/media/book/txt/pan-tadeusz.txt) wyciągnie linie poprzedzające linie w których znajduje się słowo Gerwazy.
Np:
┌            plik wejściowy                           ┬ → ┬              ma zostać                      ┐
│ Dech wciągnął, brzuch i piersi ścisnął co najwężéj: │ → │  Jak wąż głowę i ogon gdy chowa w przeguby, │
│ Aż jednym razem kurczy, wydyma się, pręży;          │ → │                                             │
│ Jak wąż głowę i ogon gdy chowa w przeguby,          │ → │                                             │
│ Tak Gerwazy z długiego stał się krótki, gruby;      │ → │                                             │
│ Rozciągnęły się, nawet skrzypnęły powrozy,          │ → │                                             │
│ Ale nie pękły! Klucznik ze wstydu i zgrozy          │ → │                                             │

17. Podaj komendę (potok), która z pliku study-in-scarlet.txt (wziętego np. stąd: https://www.gutenberg.org/ebooks/244.txt.utf-8) wyciągnie 100 najczęściej powtarzających się słów o długości co najmniej 6 liter i posortuje te słowa alfabetycznie. Komenda ma ignorować wielkość znaków (tzn. zliczać 'however' i 'However' jako to samo słowo).

18. Podaj komednę (potok) który policzy ile plików z rozszerzeniem .jpg w twoim katalogu domowym ma nieunikalną nazwę.

19. Podaj komendę wyświetlającą z pliku /etc/ssh/sshd_config wszystkie linie które nie są puste i nie są komentarzami (tzn. nie zaczynają się od '#').

20. Na serwerze polluks w katalogu /home/jkonczak/so jest plik o nazwie last.txt (będący wynikiem wykonania komendy last -w > last.txt na innym komputerze). Podaj komendę (potok), który z informacji zawartych w tym pliku wyświetli dla każdego użytkownika ile razy logował się z którego adresu IP. Posortuj wyniki tak, by najpierw były posortowane nazwą użytkownika, a potem ilością logowań.
Podpowiedź: tylko linie w których jest adres IP mają trzy kropki.
Fragment przykładowego wyniku:
1    hanna       83.8.150.248
1    hanna       83.8.211.93
3    jakub       89.64.42.11
1    jakub       77.254.245.5
4    jan         89.64.60.247
64   julia       194.4.62.88
25   julia       77.254.245.5
8    julia       178.43.46.50

21. Na serwerze polluks w pliku /home/jkonczak/so/sshd.log znajdują się logi serwera SSH. Zawierają one między innymi wpisy o próbach logowania botów szukających słabo zabezpieczonych serwerów SSH.
Linie zawierające treść:
mar 29 12:10:54 hostname sshd[2702236]: Invalid user god from 159.223.192.57 port 45932
wskazują, że taki bot próbował się zalogować jako użytkownik god.
Podaj komendę (potok) którą znajdziesz 25 najczęściej próbowanych nazw użytkownika.
Uwaga: boty próbują też logować się zostawiając pustą nazwę użytkownika – taki wpis będzie też pojawiać się w wynikach.


22. Żeby zrobić to zadanie, najpierw wykonaj: eval "$(echo Zm9yIFogaW4gYHNlcSAxMGAKZG8KZXZhbCBaJFo9JCgoUkFORE9NJTk5OTkpKQpkb25lCmV4cG9ydCBaNQpleHBvcnQgWjgK|base64 -d)"
Z listy zmiennych: Z1, Z2, …, Z10 ustawionych w powłoce dwie będą widoczne w programach uruchamianych przez tą powłokę. Podaj które.

23. Podaj komendę lub komendy które ustawią zmienną FOO na wartość zmiennej BAR oraz ustawią żeby programy uruchamiane przez bieżącą powłokę widziały zmienną środowiskową FOO.
Domyślnie zmienna BAR nie istnieje, jeśli chcesz wykonać polecenie najpierw ją ustaw. Możesz sprawdzić poprawność komend uruchamiając np. perl -e 'print(($ENV{"FOO"}//"Nie ma zmiennej FOO")."\n")'.

24. Stwórz w swoim katalogu domowym katalog bin i ściągnij tam jakiś program (np. edytor micro). Podaj komendę która pozwoli uruchamiać programy z katalogu bin w twoim katalogu domowym bez podawania pełnej ścieżki do nich.

25. Podaj komendę która ustawi wartość zmiennej X na iloczyn zmiennej COLUMNS i LINES oraz komendę która wyświetli tekst Terminal ma rozmiar HxW, więc mieści X znaków, gdzie H ma być wartością zmiennej LINES, W ma być wartością zmiennej COLUMNS a X ma być wartością zmiennej X.

26. Załóż, że w pliku data_file_count znajduje się liczba plików z danymi. Podaj komendy które:

  • umieszczą wynik polecenia free w pliku data_N, gdzie N jest wartością o jeden większą niż liczba wpisana w pliku data_file_count
  • zwiększą liczbę w pliku data_file_count o jeden

27. W pliku /var/run/cron.pid znajduje się identyfikator procesu cron. Podaj komendę, która wyśle sygnał TERM do identyfikatora odczytanego z podanego pliku. Nie masz (i nie powinieneś mieć) uprawnień do zabicia crona. Jeśli chcesz przetestować to polecenie, wykonaj zamiast tego: perl -e'$SIG{TERM}=sub{die"Ouch!"};use POSIX"pause";pause;'&echo $!>sleeper.pid umieszczające identyfikator zabijalnego procesu w pliku sleeper.pid.

28. Podaj polecenie, które wyświetli tekst O godzinie HH:MM działało N procesów. Liczba procesów ma niewuzględniać procesów biorących udział w wyświetlaniu tego tekstu.

29. Podaj komendę która poszuka w bieżącym katalogu plików o rozmiarze większym bądź równym rozmiarowi pliku /usr/bin/man, wiedząc że polecenie stat -c%s nazwa_pliku wypisze rozmiar pliku w bajtach.

30. Podaj komendę która poszuka w bieżącym katalogu plików o rozmiarze większym bądź równym rozmiarowi pliku /usr/bin/man, wiedząc że polecenie du -b nazwa_pliku wypisze rozmiar pliku w bajtach i jego nazwę.

31. Podaj komendę, która spróbuje utworzyć wcześniej nieistniejący katalog data i jeśli utworzenie katalogu się powiodło, to wejdzie do tego katalogu.

32. Podaj komendę, która spróbuje wyświetlić tylko linie zaczynające się od student  z wyników komendy ps -ef, a jeżeli w wyniki komendy nie zawierają pasujących linii, to wypisze Użytkownik student nie ma żadnych procesów.

33. Podaj komendę która utworzy alias o nazwie myps który będzie wykonywać komendę ps -HFu $LOGNAME.

34. W twojej powłoce polecenie grep jest interpretowane jako alias. Podaj do jakiej komendy się rozwija.

so/test2_cwiczenia.txt · ostatnio zmienione: 2024/04/15 00:55 przez jkonczak