Advertisement
Guest User

Untitled

a guest
Apr 26th, 2015
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.54 KB | None | 0 0
  1. Zestaw zadan nr 1
  2. ========================================================================
  3. UWAGA: W przypadku jakichkolwiek trudnosci z rozwiazaniem zadan,
  4. bardzo prosze o zapytanie prowadzacego.
  5. ========================================================================
  6. Zad. 1. Wymien pliki, w ktorych przechowywane sa informacje o uzytkownikach i grupach.
  7. /etc/passwd
  8. /etc/group
  9.  
  10. Zad. 2. Wyswietl zawartosc pliku /etc/passwd
  11. cat /etc/passwd
  12.  
  13. Zad. 3. Wyswietl plik jak wyzej, ale postronicowany
  14. cat /etc/passwd | more
  15.  
  16. Zad. 4. Wyswietl zawartosc pliku /etc/group postronicowany
  17. cat /etc/group | more
  18.  
  19.  
  20. Zad. 5. Wyszukaj w pliku /etc/passwd wlasne konto
  21. (wyswietl tylko jedna linie z tego pliku)
  22. cat /etc/passwd | grep "Jakub Homlala"
  23. grep "Homlala" /etc/passwd
  24.  
  25. Zad. 6. Sprawdz, jakie sa Twoje numery UID i GID.
  26. grep "Homlala" /etc/passwd
  27. d84365:*:1467:1000:Jakub Homlala:/home/students/2013/d84365:/usr/local/bin/bash
  28. 1467 to UID
  29. 1000 to GID
  30.  
  31. Zad. 7. Wyswietl liste plikow z katalogo /bin,
  32. ktorych nazwy rozpoczynaja sie od litery c.
  33. ls /bin/c*
  34.  
  35. Zad. 8. Sprawdz, jakiego typu plikiem jest /bin/bash.
  36. file --mime-type /usr/local/bin/bash
  37. wynik: /usr/local/bin/bash: application/x-executable
  38.  
  39. Zad. 9. Wyswietl liste osob zalogowanych do systemu.
  40. who/finger
  41.  
  42. Zad.10. Okresl nazwe terminala, na ktorym pracujemy.
  43. who am i
  44. d84365 ttyp1 Apr 25 11:49 (eos242.neoplus.adsl.tpnet.pl)
  45.  
  46.  
  47. Zad.11. Okresl jak w rzeczywistosci nazywa sie wlasciciel konta "root".
  48. Komendy: grep "0:0" /etc/passwd
  49. finger root
  50.  
  51. Zad.12. Wyslij przy pomocy poczty elektronicznej list pod adres prowadzacego,
  52. potwierdzajacy wykonanie zadan.
  53. Komenda: echo "Zadanie wykonane" | mail -s "Zadanie" agramacki
  54.  
  55. Zestaw zadan nr 2
  56. ========================================================================
  57. Zalogowac sie do systemu na dwoch sesjach, ale w odstepie dwoch minut.
  58. Uwagi:
  59. 1) Na komputerach pracujacych w konsoli kolejne terminale uzyskuje sie
  60. kombinacja klawiszy Ctrl-Alt-Fn.
  61. 2) Na komputerach z Windows kazda sesja to nowe okno programu emulacji
  62. terminala. (np. PUTTy)
  63. 3) Kazda nowa sesja powoduje otwarcie nowej linii w systemie.
  64. (patrz uwagi do zadania 5)
  65. ========================================================================
  66. Zad. 1. Wyswietlic zawartosc pliku /etc/passwd z podzialem na strony.
  67.  
  68. cat /etc/passwd | more
  69.  
  70. Zad. 2. Wyswietlic ta linie pliku /etc/passwd, ktora dotyczy naszego konta.
  71.  
  72. grep "d84365" /etc/passwd
  73.  
  74. Zad. 3. Wyswietlic liste uzytkownikow zalogowanych w systemie, z podzialem na strony.
  75. w | more
  76.  
  77. Zad. 4. Z wyniku zadania 4. wyfiltrowac linie, dotyczace osob zalogowanych
  78. z terminala, na ktorym pracujemy.
  79.  
  80. Uwaga: pojecie "linia" oznacza pewne urzadzenie (czesc systemu
  81. operacyjnego), za pomoca ktorego system komunikuje sie z "terminalem",
  82. czyli z komputerem PC, na ktorym Panstwo pracujecie.
  83. np:
  84. komenda "w" zwraca wynik w nastepujacym formacie:
  85.  
  86. USER TTY FROM LOGIN@ IDLE WHAT
  87. mkruchli p1 a5.iie.pz.zgora. 16.48 - /bin/bash
  88. mkruchli pf a5.iie.pz.zgora. 16.55 - /bin/bash
  89. ... ^^ ^^
  90. | |
  91. linia terminal
  92.  
  93. W tym przykladzie uzytkownik mkruchli zalogowal sie do systemu z
  94. komputera laboratoryjnego (terminala) A5, otwierajac dwie sesje:
  95. o godzinie 16.48 i 16.55. System przeznaczyl dla komunikacji z tym
  96. terminalem dwie linie, "p1" i "pf", po jedenej na kazda sesje.
  97.  
  98. who
  99.  
  100. Zad. 5. Wezwac prowadzacego i odpowiedziec na pytanie:
  101. jaka jest nazwa linii, na ktorej zalogowal sie na ostatnio rozpoczetej
  102. sesji (uruchomionej najpozniej) uzytkownik terminala, wskazanego przez
  103. prowadzacego.
  104.  
  105. last
  106.  
  107. Zad. 6. Przy pomocy komendy "write" wyslac do tej osoby wiadomosc dowolnej
  108. tresci.
  109. Uwaga: nalezy przyjac zalozenie ze osoba zalogowana na kilku sesjach
  110. obserwuje ekran ostatniej z nich, dlatego nalezy laczyc sie z ta ostatnia
  111. sesja (otwarta najpozniej). Po wpisaniu wiadomosci nalezy wygenerowac z
  112. klawiatury znak EOF (Koniec Pliku) kombinacja klawiszy CTRL-D.
  113.  
  114. write d84365
  115.  
  116. Zad. 7. Stworzyc plik tekstowy zawierajacy dowolna wiadomosc o maksymalnej
  117. dlugosci 4 linijek i wyslac ja komenda write do kolegi obok.
  118.  
  119. Komenda : echo "Plik na 4 linjiki" > plik.txt
  120. write d84365 < plik.txt
  121.  
  122.  
  123. Zad. 8. Wykonac polecenie banner imie np. banner Ola i przekierowac wynik
  124. polecenia do pliku tekstowego. Wyslac ten plik sobie na maila.
  125.  
  126. banner ola | mail -s "Banner" jhomlala@gmail.com
  127.  
  128. Zad. 9. Wyswietlic w biezacym terminalu kalendarz na obecny miesiac i rok,
  129. wykorzystujac polecenie cal.
  130.  
  131. Komenda : cal
  132. cal -y // na caly rok
  133.  
  134.  
  135. Zad.10. Wyslac poczta elektroniczna list do prowadzacego ze zgloszeniem
  136. wykonania wszystkich zadan. List nalezy wyslac na adres
  137. ogolnouczelniany, a nie na adres lokalny na serwerze willow.
  138. Komenda : echo "Potwiedzenie wykonania zadania" | mail -s "Zadanie" agramacki@iie.uz.zgora.pl
  139.  
  140. Zestaw zadan nr 3
  141. =======================================================================
  142. Potrzebne komendy: pwd, ls, grep, mkdir, basename, dirname, rm, mail
  143. =======================================================================
  144. Zad. 1. Sprawdzic pelna nazwe (bezwzgledna sciezke dostepu) naszego
  145. domowego katalogu. Odpowiedz przedstawic prowadzacemu.
  146.  
  147. pwd
  148.  
  149. Zad. 2. Przejsc do katalogow podanych ponizej i przejrzec ich zawartosc.
  150. /bin
  151. /dev Co to jest /dev/null?
  152. /etc
  153. /home
  154. /var
  155.  
  156. wejscie do katalogu cd
  157. odczyt katalogu ls
  158. W Uniksopodobnych systemach operacyjnych /dev/null to wirtualne
  159. urządzenie usuwające wszystkie dane przekierowane do niego i nie generujące żadnych danych dla procesów czytających z niego.
  160.  
  161. Zad. 3. Przejrzec zawartosc katalogu /var/mail. Co sie w nim znajduje?
  162. Wyswietlic informacje o pliku nazywajacym sie tak, jak nasze konto.
  163.  
  164. cd /var/mail
  165. ls
  166. cat d84365
  167.  
  168. Zad. 4. Przejsc do katalogu domowego, utworzyc wykonujac jedna komende
  169. nastepujaca galaz podkatalogow: ^^^^^^^^^^^^^
  170. zajecia/zadania/lab3
  171. cd ~
  172. mkdir -p zajecia/zadania/lab3
  173.  
  174.  
  175. Zad. 5. Sprawdzic dzialanie komend "basename" i "dirname" w nastepujacy
  176. sposob:
  177. a) napisac polecenie
  178. echo $HISTFILE
  179. Co jest jego wynikiem?
  180. /home/students/2013/d84365/.bash_history
  181. b) napisac polecenia
  182. basename $HISTFILE
  183. .bash_history
  184. i dirname $HISTFILE.
  185. /home/students/2013/d84365
  186.  
  187. Wyniki przedstawic prowadzacemu.
  188.  
  189. Zad. 6. Wyswietlic liste plikow w katalogu domowym, uporzadkowana wedlug
  190. czasu tworzenia/modyfikacji plikow, ale w kolejnosci odwrotnej.
  191. ls -ltr
  192. Zad. 7. Wyswietlic liste plikow w katalogu domowym w formacie
  193. wielokolumnowym opatrzonym specjalnymi znakami, tj. / dla katalogow,
  194. * dla plikow wykonywalnych, @ dla linkow, itd. (wykorzystac jedna
  195. z opcji komendy "ls").
  196. ls -CF
  197.  
  198. Zad. 8. Za pomoca komendy
  199. echo "napis" > nazwa_pliku
  200. stworzyc pliki testowe "test1", "test2" i "test3", zalozyc katalog
  201. "tmp" i skopiowac do niego te pliki.
  202.  
  203. echo "napis" > test1
  204. echo "napis" > test2
  205. echo "napis3"> test3
  206. mkdir tmp
  207. cp test1 tmp
  208.  
  209. Zad. 9. Usunac pliki test* (z katalogu domowego) komenda rm bez opcji
  210. rm test*
  211.  
  212. Zad. 10. Usunac pliki test* (z katalogu tmp) przy pomocy komendy rm
  213. z opcjami powodujacymi odpytanie uzytkownika o zgode.
  214. rm -i test
  215.  
  216. Zad. 11. Stworzyc plik tekstowy ".profile" (tylko ci, ktorzy go nie maja).
  217. Wpisac w nim linie (chyba ze taka linia juz istnieje):
  218. alias rm='rm -i'
  219. Dopisanie tej linii osiaga sie komenda:
  220. echo "alias rm='rm -i'" >> .profile
  221.  
  222. Wylogowac sie i zalogowac ponownie w celu uruchomienia
  223. ustawien zawartych w pliku startowym ".profile"
  224.  
  225. teraz bedzie sie pytalo o zgode czy usunac na pewno
  226.  
  227. Zad. 12. Sprawdzic wszystkie zdefiniowane aliasy
  228. (nie tylko przez .profile).
  229.  
  230. alias
  231.  
  232.  
  233. Zad. 13. Storz pliki: usun1, usun2, usun3, usun4.
  234. Nastepnie usun pliki: usun1, usun2.
  235. Wykonaj polecenie: unalias rm.
  236. Nastepnie usun pliki: usun3, usun4.
  237. Jakie zmiany mozna zaobserwowac?
  238.  
  239. bedzie sie pytalo czy chcemy usunac na pewno , potem juz nieb edzie
  240.  
  241. Zad. 14. Stworzyc katalog rmtest, umiescic w nim dowolne 3 pliki,
  242. a nastepnie z poziomu katalogu nadrzednego usunac ten katalog
  243. wraz z zawartoscia.
  244.  
  245. rm -rf <folder do usuniecia> // to usunie wszystko
  246.  
  247. Zad. 15. Stworzyc plik lista.txt ktory bedzie zawieral wszystkie pliki
  248. (lacznie z ukrytymi), katalogi oraz zawartosc tych katalogow i
  249. podkatalogow z twojego katalogu domowego. (-R)
  250.  
  251. ls -R > lista.txt
  252.  
  253. Zad. 16. Stworzyc plik, w ktorym bedzie wynik polecenia ps oraz ls (w
  254. jednym pliku) w katalogu domowym.
  255.  
  256. ps > wynik.txt
  257. ls >> wynik.txt
  258.  
  259. Zad. 17. Stworzyc jednoczesnie katalogi dir1 dir2 i dir3.
  260.  
  261. mkdir dir1 dir2 dir3
  262. Zad. 18. Stworzyc pusty plik o nazwie .pusty (touch).
  263. Wykonac polecenie ls. Jakiego przelacznika nalezy uzywac,
  264. aby plik byl widoczny na liscie plikow?
  265.  
  266. touch .pusty
  267. ls -a
  268.  
  269. Zad. 19. Zmienic date modyfikacji pliku lista.txt na przedwczoraj o 7 rano.
  270. # touch -t YYMMDDHHMM nazwa pliku// to stworzy plik i nastepnie trzeba przekopiowac dane
  271. cat lista.txt > file.txt
  272. i zmienic nazwe mv oldfile newfile
  273.  
  274. Zad. 20. Wyslac list do prowadzacego, z odpowiedzia na nast. pytania:
  275. 1) Do czego sluzy plik ".profile"?
  276. 2) Czy celowe jest wpisanie do tego pliku linii jak w zad. 11?
  277.  
  278. Zestaw zadan nr 4
  279. ========================================================================
  280. Potrzebne komendy:
  281. znaki ograniczajace, mkdir, ln, touch, rm, cat, head, tail, chmod
  282. ========================================================================
  283. Zad. 1. Stworzyc (przy pomocy jednej komendy) we wlasnym katalogu
  284. domowym podkatalog: "test/proba/zadania". Zapisac tresc
  285. niniejszego listu do pliku zad_lab4 i przeniesc ten plik
  286. do wspominanego katalogu.
  287.  
  288. mkdir -p test/proba/zadania
  289. echo "tekst" > test/proba/zadania/zad_lab4.txt
  290.  
  291. Zad. 2. Utworzyc we wlasnym katalogu domowym link symboliczny o nazwie
  292. "zl4", wskazujacy na plik z poprzedniego zadania.
  293.  
  294. ln -s test/proba/zadania_zad_lab4.txt link
  295.  
  296. Zad. 3. Utworzyc link symboliczny o nazwie "zu" wskazujacy na katalog
  297. ~/zadania/unix, sprawdzic wynik komendy "cd zu"
  298. Uwaga: najpierw nalezy stworzyc w/w katalog
  299.  
  300. ln -s ~/zadania/unix zu
  301.  
  302.  
  303. Zad. 4. Utworzyc katalog test2.
  304. Przy pomocy komendy
  305. touch nazwa_pliku nazwa_pliku2 ...
  306. stworzyc w nim pliki "ala.test", "bela.test", "cela.test",
  307. "dela.test", "mela.test". Stworzyc w katalogu domowym
  308. link symboliczny "a_sym" wskazujacy na plik "ala.test"
  309. i link sztywny "a_szt" wskazujacy na ten sam plik.
  310. Zbadac wlasciwosci linkow (np. dopisac cos do tresci pliku
  311. lub skasowac plik wskazywany przez linki).
  312.  
  313. ln -s (do ktalogow i plikow)
  314. ln - sztwny (tylko do plikow)
  315.  
  316. jezeli usuniemy plik ktory jest podlinkowany to w soft linku tracimy dostęp , a w hardlinku dalej mozemy uzywac
  317.  
  318. Zad. 5. Skasowac jedna komenda pliki: "bela.test", "cela.test",
  319. "dela.test", ale nie "mela.test".
  320.  
  321. rm *.test
  322.  
  323. Zad. 6. Za pomoca komend
  324.  
  325. ls -la /dev/c* > pl1 oraz ls -la /dev/t* > pl2
  326.  
  327. utworzyc dwa pliki. Polaczyc je w jeden o nazwie "pl_razem",
  328. z numerowanymi liniami, przy czym linie puste nie maja byc
  329. numerowane.
  330. Uwaga: Numeracja ma byc ciagla w calym pliku "pl_razem".
  331.  
  332.  
  333. (d84365@willow)-bash:~/test2/$ cat -b pl1 > plik_razem
  334. (d84365@willow)-bash:~/test2/$ cat -b pl2>>plik_razem
  335.  
  336. (d84365@willow)-bash:~/test2/$ cat -b pl1 pl2 >pl_razem
  337.  
  338.  
  339. Zad. 7. Wyswietlic zawartosc pliku, zawierajacego tresc wykonywanych
  340. obecnie zadan, ("zad_lab4", zapisany w zadaniu 1), poczawszy
  341. od wzorca tekstu "Zad. 7."
  342.  
  343. grep -nr "Zad. 7. Wyswi" zad_lab04 | cut -d ":" -f2 // zwroci nam linie 50
  344. tail -50 zad_lab04
  345.  
  346.  
  347. Zad. 8. Wyswietlic 10 pierwszych linii pliku "zad_lab4"
  348. head -10 zad_lab04
  349.  
  350. Zad. 9. Wyswietlic 15 ostatnich linii pliku "zad_lab4"
  351. tail -15 zad_lab04
  352.  
  353. Zad. 10. Wyswietlic 10 ostatnich linii pliku "zad_lab4",
  354. w odwrotnej kolejnosci.
  355. tail -10 -r zad_lab04
  356.  
  357. Zad. 11. Komende z zadania 10 (polecenie, a nie jego wynik!) zapisac
  358. do pliku "zad10", dopisac na koncu komende:
  359.  
  360. echo 'Koniec :-)'
  361.  
  362. Zmienic atrybuty pliku "zad10" na wykonywalne dla uzytkownika
  363. i zakaz odczytu dla "innych".
  364. Wykonac napisany w ten sposob skrypt (wywolac nazwe pliku "./zad10"
  365.  
  366. echo "tail -10 -r zad_lab04" > zad10
  367. echo "echo..." >> zad10
  368. chmod +x zad10
  369. ./zad10
  370.  
  371. Zad. 12. Usunac zbedne linki, pliki i katalogi, stworzone podczas
  372. dzisiejszych zajec
  373.  
  374. Zglosic prowadzacemu wykonanie zadan (ustnie).
  375.  
  376. Zestaw zadan nr 5.
  377. ========================================================================
  378. Ponizsze operacje nalezy wykonac przy pomocy edytora "vi".
  379. ========================================================================
  380.  
  381. Zad. 1. Stworzyc plik konfiguracyjny edytora vi, wpisac w nim polecenie,
  382. powodujace automatyczne wlaczenie wskaznika trybu edytora.
  383. Opuscic edytor i uruchomic go ponownie, sprawdzic dzialanie
  384. wskaznika trybu. Dopoki nie bedzie on dzialal poprawnie, nie
  385. wolno realizowac kolejnych zadan.
  386.  
  387. vi
  388. w vi polecenie :mkexrc fileName (.exrc)
  389. echo ":set smd" >> .exrc
  390.  
  391. W prawym dolnym rogu pokazuje jakƒÖ funkcjƒô mamy uruchomionƒÖ.
  392.  
  393. Zad. 2. Z dostarczonej listy wybrac trzy cytaty, przepisac, numerujac je
  394. (cytaty, nie linie) i zapisac je do pliku "cytaty.txt". Nalezy
  395. pamietac takze o przepisaniu nazwiska autora cytatu.
  396.  
  397. Zad. 3. Pierwszy z cytatow nalezy powielic 5 razy na koncu pliku
  398. (wykorzystac operacje kopiowania przez bufor).
  399.  
  400. ESC 3y - skopiowanie do bufora 3 linii poczƒÖwszy od obecnej
  401. p - paste (wklej zawartosc bufora)
  402.  
  403. Zad. 4. Usunac pierwszy z cytatow oraz jego cztery powtorzenia na koncu
  404. pliku (ma pozostac piate powtorzenie). Nastepnie dokonac
  405. odpowiednich operacji, tak aby w efekcie odwrocic kolejnosc
  406. cytatow (najpierw nr 3, potem nr 2, potem nr 1).
  407.  
  408. dG - usuniecie biezacego wiersza i wszystkich ponizej
  409. d1G - usuniecie biezacego wiersza i wszystkich powyzej
  410. d3d - usuniecie 3 kolejnych wierszy
  411. y3y - skopiowanie do bufora 5 kolejnych wierszy
  412.  
  413. Zad. 5. Zamknac plik "cytaty.txt" i wyslac go poczta do prowadzacego na
  414. adres lokalny na serwerze willow, poprosic o odpisanie.
  415.  
  416. :wq
  417.  
  418. Zad. 6. Wybrany cytat wstawic do wlasnego pliku ".profile" (pliku
  419. startowego programu powloki, polozonego w domowym katalogu kazdego
  420. uzytkownika), tak aby po zalogowaniu sie zostal on wyswietlony na
  421. ekranie. UWAGA: aby plik startowy ".profile" byl uruchomiony, trzeba
  422. dokonac ponownego logowania
  423. Oto przyklad fragmentu tresci pliku
  424. ...
  425. echo "--------------------------------------"
  426. echo "Czy seks jest nieprzyzwoity?"
  427. echo "Tylko wtedy, gdy robisz to jak nalezy."
  428. echo " Woody Allen "
  429. echo "--------------------------------------"
  430. ...
  431.  
  432. Zad. 7. Sprawdzic, jaka wartosc ma zmienna systemowa "PATH", za pomoca
  433. komendy echo $PATH (duzymi literami!)
  434. Zmienna ta okresla nazwy katalogow, ktore przeszukuje system w
  435. poszukiwaniu polecenia (nazwy programu), jakie wydal uzytkownik.
  436. Poszczegolne katalogi oddzielone sa znakiem dwukropka.
  437. Zmienna ta jest deklarowana w pliku ".profile". Aby dokonane zmiany
  438. zostaly wprowadzone w zycie, konieczne jest ponowne zalogowanie.
  439.  
  440. Zadanie: przy pomocy edytora vi dopisac (o ile jeszcze nie jest
  441. dopisana) do wartosci zmiennej PATH (deklarowanej w pliku
  442. startowym) sciezke "$HOME", czyli wlasny katalog domowy;
  443. Uwaga: w przypadku realizowania zadania przez grupe kilkuosobowa,
  444. konieczne jest dokonanie wspomnianych zmian sciezki PATH
  445. na koncie KAZDEJ z osob nalezacych do grupy.
  446. Przedstawic wynik prowadzacemu.
  447.  
  448. vi .bash_profile
  449.  
  450. Zad. 8. Stworzyc plik o nazwie "ccls", umiescic w nim komende czyszczaca
  451. ekran, komende wypisujaca zawartosc biezacego katalogu w dlugim
  452. formacie, posortowana odwrotnie wg czasu dostepu do pliku, ze
  453. stronicowaniem wydruku. Zapisac plik, nadac mu prawa wykonywania,
  454. sprawdzic dzialanie. Jest to wasz pierwszy skrypt systemowy.
  455.  
  456. touch ccls
  457. echo "clear" >> ccls
  458. echo "ls -ltr | more" >> ccls
  459. chmod 777 ccls
  460.  
  461. Sprawdzic poprawnosc wykonania zadan nr 7 i 8, przechodzac do katalogu
  462. /tmp i probujac wykonac polecenie ccls. Jesli system nie potrafi odnalezc
  463. pliku ccls, oznacza to niepoprawne rozwiazanie zadania 7.
  464.  
  465. Wynik dzialania skryptu przedstawic prowadzacemu.
  466. Zestaw zadan nr 6
  467. ========================================================================
  468. UWAGA: ponizsze zadania nalezy wykonac uzywajac komendy "find"
  469. ========================================================================
  470.  
  471. Zad. 1. Wyswietlic nazwy wszystkich katalogow, nazywajacych sie tak jak
  472. nasze konto. Poszukiwania rozpoczac od katalogu "/" (od glownego
  473. katalogu w sytemie plikow). Strumien bledow skierowac do
  474. "kosza". Uwaga: operacja ta moze potrwac kilka minut.
  475.  
  476. find / "d84365*" > /dev/null
  477.  
  478. Zad. 2. Wyswietlic nazwy wszystkich plikow badz katalogow, ktorych
  479. wlascicielem jestesmy my. Poszukiwania rozpoczac od katalogu "/".
  480.  
  481. find / -user d84365
  482.  
  483.  
  484. Zad. 3. Wyswietlic nazwy wszystkich plikow badz katalogow, ktorych
  485. wlascicielem jest nasza grupa. Poszukiwania rozpoczac od katalogu
  486. "/".
  487.  
  488. find / -group students
  489.  
  490.  
  491. Zad. 4. Wyswietlic nazwy wszystkich plikow w systemie, nie majacych
  492. wlasciciela i jednoczesnie nie majacych grupy.
  493.  
  494. find / -nouser -nogroup
  495.  
  496.  
  497. Zad. 5. Wyswietlic nazwy wszystkich plikow w naszym katalogu domowym, nie
  498. modyfikowanych od 7 dni.
  499. ^^^^^^^^^^^^^^^^^^^^^^^^
  500.  
  501. find /home/students/2013/d84365 -mtime 7
  502.  
  503.  
  504. Zad. 6. Odszukac wszystke pliki "*.c" polozone w katalogu:
  505. /home/staff/iie/wzajac a nastepnie wykorzystujac wyrazenie pierwotne
  506. "-exec" wypisac ich liste w dlugim formacie. UWAGA: jesli wspomniany
  507. katalog nie jest dostepny do odczytu poprosic prowadzacego o
  508. wskazanie innego katalogu.
  509.  
  510. find $p*.txt -exec ls -l \;
  511.  
  512.  
  513. Zad. 7. Odszukac w katalogu /tmp wszystkie pliki "*.txt"
  514. mniejsze niz 1000 bajtow i wyswietlic o nich informacje w dlugim formacie.
  515.  
  516. find $p*.txt -size -1000
  517. + wieksze - mniejsze
  518.  
  519. Zad. 8. Wyswietlic nazwy i zawartosc plikow "*.txt" we wlasnym katalogu
  520. domowym. Jesli nie ma takich plikow, nalezy wczesniej stworzyc dwa
  521. pliki tekstowe: "test1.txt" i "test2.txt".
  522.  
  523. find $p*.txt -exec cat {} \;
  524.  
  525.  
  526. Zglosic prowadzacemu wykonanie zadan (ustnie).
  527.  
  528. Zestaw zadan nr 7
  529. ========================================================================
  530. Potrzebne komendy: more, cp, echo, ustawienie zmiennej, znaki
  531. ograniczajace, tee, find.
  532. ========================================================================
  533. Zad. 1. Przejrzec zawartosc systemowego pliku "/etc/profile".
  534. Co zawiera i jakie ustawienia moga byc w nim dokonane?
  535. Co oznacza znak "#"? Kto moze zmieniac ten plik?
  536. UWAGA: MOZLIWE ZE TEGO PLIKU W OGOLE NIE MA!
  537.  
  538. The /etc/profile file is not very different however it is used to set system wide environmental variables on users shells. The variables are sometimes the same ones that are in the .bash_profile, however this file is used to set an initial PATH or PS1 for all shell users of the system.
  539.  
  540. /etc/profile.d
  541. In addition to the setting environmental items the /etc/profile will execute the scripts within /etc/profile.d/*.sh. If you plan on setting your own system wide environmental variables it is recommended to place your configuration in a shell script within /etc/profile.d.
  542.  
  543.  
  544.  
  545.  
  546. Zad. 2. Przejrzec zawartosc wlasnego pliku ".profile" we wlasnym katalogu
  547. domowym. Porownac z zawartoscia pliku przykladowego
  548. "/home/staff/iie/wzajac/.profile". Jakie ustawienia moga byc
  549. dokonane za jego pomoca? Wedlug uznania skopiowac (lub nie)
  550. plik przykladowy do wlasnego katalogu domowego, wylaczyc lub
  551. wlaczyc komentarze przy wybranych komendach.
  552. Jesli wspomniany katalog nie jest dostepny do odczytu,
  553. poprosic prowadzacego o wskazanie innego
  554.  
  555. Zad. 3. Jakie wartosci maja zmienne systemowe:
  556. TERM
  557. HOME
  558. PATH
  559. LOGNAME
  560. PWD
  561. PS1
  562. PS2
  563.  
  564. Kiedy pojawia sie tzw. drugi znak zachety?
  565.  
  566. echo $HOME , $PWD ... itp
  567.  
  568.  
  569. Zad. 4. Za zmienna systemowa "p" podstawic wynik komendy wyszukujacej w
  570. naszym katalogu domowym pliki "*.txt". Jaki symbol ograniczajacy
  571. sluzy do podstawienia wyniku komendy? Wyswietlic zawartosc
  572. zmiennej p. Usunac zmienna p.
  573.  
  574. ls $p*.txt
  575. cat p
  576.  
  577.  
  578. Zad. 5. Napisac komende wyswietlajaca liste plikow "*.c" z katalogu
  579. domowego, skierowujac wynik jednoczesnie na wyjscie
  580. standardowe (ekran) i do pliku "pliki_c". Wydruk na ekranie
  581. musi byc stronicowany.
  582. Jesli wspomniany katalog nie jest dostepny do odczytu lub
  583. brak w nim plikow "*.c", wybrac katalog we wlasnym zakresie lub
  584. poprosic prowadzacego o wskazanie innego katalogu.
  585.  
  586. ls -a $p more | more | tee zapis.txt
  587.  
  588.  
  589. Zad. 6. Napisac komende, ktora wyszukuje w calym systemie plikow
  590. pliki o rozszerzeniu "out" i wyswietla ich nazwy w dlugim
  591. formacie, jednoczesnie zapisujac te liste do pliku "lista.txt".
  592. Strumien bledow skierowac do "kosza".
  593.  
  594. find / -name "*.out" >> zapis.txt >> /dev/null
  595.  
  596.  
  597. Zad. 7. Napisac polecenie, ktore wyswietli liste osob zalogowanych
  598. w tej chwili do systemu, ale tylko tych, ktorzy maja uruchomiony
  599. program "mail".
  600.  
  601. w |grep "mail"
  602.  
  603.  
  604.  
  605. Zestaw zadan nr 9
  606. ========================================================================
  607. Potrzebne komendy: echo, ustawienie zmiennej, znaki ograniczajace,
  608. tr, head, sort, find.
  609. ========================================================================
  610. Zad. 1. Wyswietic pierwsze 20 linii pliku /etc/passwd, posortowane
  611. wg UID
  612.  
  613. head -20 /etc/passwd | sort -n -t ':' -k3
  614.  
  615.  
  616. Zad. 2. Wyswietlic liste plikow w katalogu domowym, w dlugim formacie,
  617. posortowana wg nazw plikow.
  618.  
  619.  
  620.  
  621. Zad. 3. Wyswietlic liste plikow w katalogu domowym, w dlugim formacie,
  622. posortowana wg rozmiaru plikowu.
  623.  
  624. ls -l | sort -k5
  625.  
  626.  
  627. Zad. 4. Napisac komende wyswietlajaca liste plikow "*.c" w dlugim
  628. formacie) z katalogu "~wzajac", posortowane wg. rozmiaru
  629. Jesli wspomniany katalog nie jest dostepny do odczytu,
  630. poprosic prowadzacego o wskazanie innego
  631.  
  632. ls -l $pwd*.txt | sort -k5
  633.  
  634.  
  635. Zad. 5. Napisac komende, ktora wyszukuje w katalogu /tmp pliki
  636. typu "txt" i wyswietla ich nazwy w dlugim
  637. formacie. Liste posortowac wg wlascicieli plikow.
  638. Strumien bledow skierowac do "kosza".
  639.  
  640. ls -l /tmp/*.txt | sort -k3 > plik.txt > /dev/null
  641. ls -l /tmp/*.txt | sort -k3 &> /dev/null
  642.  
  643.  
  644. Zad. 6. Napisac polecenie, ktore przypisze do zmiennej x wynik polecenia ls.
  645. Wyswietlic zawartosc zmiennej x, porownac z wynikiem polecenia ls.
  646.  
  647. result=$(ls)
  648. echo $result
  649.  
  650.  
  651. Zad. 7. Napisac polecenie, wyswietlajace na ekranie napis jak ponizej:
  652. "Prosiaczek to swinia" - Kubus Puchatek
  653. echo "\"Prosiaczek to swinia\"- Kubus Puchatek "
  654.  
  655.  
  656. Zad. 8. Napisac polecenie, ktore wyswietli ilosc listow w naszym
  657. wlasnym pliku mbox, nadanych przez prowadzacego.
  658.  
  659.  
  660. Wskazowka: Kazdy list posiada naglowek, w ktorym zapisano adres nadawcy.
  661. Nalezy wykorzystac polecenie grep, zliczajace ilosc linii
  662. zawierajacych poszukiwany tekst.
  663. trzeba najpierw odebrac email
  664. grep -c '^From ' mbox_file
  665.  
  666. Zad. 9. Napisac polecenie, ktore wyswietli te linie z pliku /etc/passwd, ktora
  667. dotyczy naszego konta. Dane w pliku oddzielane sa dwukropkiem, ale
  668. na ekranie nalezy je zastapic znakiem #
  669.  
  670. grep "d84365" /etc/passwd | tr ":" "#"
  671.  
  672.  
  673.  
  674. Zad. 10. Napisac polecenie, ktore wyswietli liste plikow w katalogu domowym
  675. w dlugim formacie, w taki sposob, ze poszczegolne pola informacji
  676. beda oddzielone od siebie znakiem =
  677.  
  678. ls -l | tr " " "="
  679. ls -l | tr "[:blank:]" "="
  680.  
  681.  
  682. Zglosic prowadzacemu wykonanie zadan.
  683.  
  684. Zestaw zadan nr 10
  685. ==
  686. Potrzebne komendy: cut, sort, grep, tr, ls.
  687. ===
  688. Zad. 1. Wyswietl linie i numery linii z pliku /etc/passwd, ktore
  689. zawieraja napis "Jan" albo "jan"
  690. cat -n /etc/passwd | grep -e "Jan" -e "jan"
  691. Zad. 2. Wyswietl liczbe linii pliku /etc/passwd, ktore zawieraja napis
  692. "Jan" albo "jan"
  693. cat -n /etc/passwd | grep -e "Jan" -e "jan" | wc -l
  694. Zad. 3. Policz, ile linii zawiera plik /etc/motd.
  695. cat /etc/motd | wc -l
  696. Zad. 4. Policz, ilu uzytkownikow systemu uzywa powloki bash (zgodnie z
  697. zapisami w pliku /etc/passwd).
  698. cat /etc/passwd | grep "bash" | wc -l
  699. Zad. 5. Wyswietl liste praw dostepu do plikow i ich nazwy w biezacym
  700. katalogu.
  701. ls -l
  702. Zad. 6. Wyswietl liste jak wyzej, ale z katalogu /tmp
  703. ls /tmp/*
  704. cd /tmp ls -l
  705. Zad. 7. Wyswietl zawartosc pliku /etc/passwd, posortowana wedlug numerow UID
  706. w kolejnosci od najwiekszego do najmniejszego.
  707. sort -k3 -r /etc/passwd
  708. Zad. 8. Utworz plik "wielkosci.dat", zawierajacy liczby bedace wielkosciami
  709. plikow z biezacego katalogu.
  710. ls -s > wielkosci.dat
  711. Zad. 9. Wyswietl liste plikow z aktualnego katalogu, zamieniajac wszystkie
  712. znaki oprocz znaku nowej linii i spacji na znaki wykrzyknika.
  713. ls -a | tr a-z0-9A-Z._ !
  714. Zad. 10. Opierajac sie na danych z pliku /etc/passwd wyswietl nazwy
  715. uzytkownikow, ich numery UID i GID posortowane alfabetycznie
  716. wedlug nazwy uzytkownika i oddzielone spacjami. Wynik przedstawic
  717. prowadzacemu
  718. cut -d : -f 1,3,4 /etc/passwd | sort -k1 | tr ":" " "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement