Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Zestaw zadan nr 1
- ========================================================================
- UWAGA: W przypadku jakichkolwiek trudnosci z rozwiazaniem zadan,
- bardzo prosze o zapytanie prowadzacego.
- ========================================================================
- Zad. 1. Wymien pliki, w ktorych przechowywane sa informacje o uzytkownikach i grupach.
- /etc/passwd
- /etc/group
- Zad. 2. Wyswietl zawartosc pliku /etc/passwd
- cat /etc/passwd
- Zad. 3. Wyswietl plik jak wyzej, ale postronicowany
- cat /etc/passwd | more
- Zad. 4. Wyswietl zawartosc pliku /etc/group postronicowany
- cat /etc/group | more
- Zad. 5. Wyszukaj w pliku /etc/passwd wlasne konto
- (wyswietl tylko jedna linie z tego pliku)
- cat /etc/passwd | grep "Jakub Homlala"
- grep "Homlala" /etc/passwd
- Zad. 6. Sprawdz, jakie sa Twoje numery UID i GID.
- grep "Homlala" /etc/passwd
- d84365:*:1467:1000:Jakub Homlala:/home/students/2013/d84365:/usr/local/bin/bash
- 1467 to UID
- 1000 to GID
- Zad. 7. Wyswietl liste plikow z katalogo /bin,
- ktorych nazwy rozpoczynaja sie od litery c.
- ls /bin/c*
- Zad. 8. Sprawdz, jakiego typu plikiem jest /bin/bash.
- file --mime-type /usr/local/bin/bash
- wynik: /usr/local/bin/bash: application/x-executable
- Zad. 9. Wyswietl liste osob zalogowanych do systemu.
- who/finger
- Zad.10. Okresl nazwe terminala, na ktorym pracujemy.
- who am i
- d84365 ttyp1 Apr 25 11:49 (eos242.neoplus.adsl.tpnet.pl)
- Zad.11. Okresl jak w rzeczywistosci nazywa sie wlasciciel konta "root".
- Komendy: grep "0:0" /etc/passwd
- finger root
- Zad.12. Wyslij przy pomocy poczty elektronicznej list pod adres prowadzacego,
- potwierdzajacy wykonanie zadan.
- Komenda: echo "Zadanie wykonane" | mail -s "Zadanie" agramacki
- Zestaw zadan nr 2
- ========================================================================
- Zalogowac sie do systemu na dwoch sesjach, ale w odstepie dwoch minut.
- Uwagi:
- 1) Na komputerach pracujacych w konsoli kolejne terminale uzyskuje sie
- kombinacja klawiszy Ctrl-Alt-Fn.
- 2) Na komputerach z Windows kazda sesja to nowe okno programu emulacji
- terminala. (np. PUTTy)
- 3) Kazda nowa sesja powoduje otwarcie nowej linii w systemie.
- (patrz uwagi do zadania 5)
- ========================================================================
- Zad. 1. Wyswietlic zawartosc pliku /etc/passwd z podzialem na strony.
- cat /etc/passwd | more
- Zad. 2. Wyswietlic ta linie pliku /etc/passwd, ktora dotyczy naszego konta.
- grep "d84365" /etc/passwd
- Zad. 3. Wyswietlic liste uzytkownikow zalogowanych w systemie, z podzialem na strony.
- w | more
- Zad. 4. Z wyniku zadania 4. wyfiltrowac linie, dotyczace osob zalogowanych
- z terminala, na ktorym pracujemy.
- Uwaga: pojecie "linia" oznacza pewne urzadzenie (czesc systemu
- operacyjnego), za pomoca ktorego system komunikuje sie z "terminalem",
- czyli z komputerem PC, na ktorym Panstwo pracujecie.
- np:
- komenda "w" zwraca wynik w nastepujacym formacie:
- USER TTY FROM LOGIN@ IDLE WHAT
- mkruchli p1 a5.iie.pz.zgora. 16.48 - /bin/bash
- mkruchli pf a5.iie.pz.zgora. 16.55 - /bin/bash
- ... ^^ ^^
- | |
- linia terminal
- W tym przykladzie uzytkownik mkruchli zalogowal sie do systemu z
- komputera laboratoryjnego (terminala) A5, otwierajac dwie sesje:
- o godzinie 16.48 i 16.55. System przeznaczyl dla komunikacji z tym
- terminalem dwie linie, "p1" i "pf", po jedenej na kazda sesje.
- who
- Zad. 5. Wezwac prowadzacego i odpowiedziec na pytanie:
- jaka jest nazwa linii, na ktorej zalogowal sie na ostatnio rozpoczetej
- sesji (uruchomionej najpozniej) uzytkownik terminala, wskazanego przez
- prowadzacego.
- last
- Zad. 6. Przy pomocy komendy "write" wyslac do tej osoby wiadomosc dowolnej
- tresci.
- Uwaga: nalezy przyjac zalozenie ze osoba zalogowana na kilku sesjach
- obserwuje ekran ostatniej z nich, dlatego nalezy laczyc sie z ta ostatnia
- sesja (otwarta najpozniej). Po wpisaniu wiadomosci nalezy wygenerowac z
- klawiatury znak EOF (Koniec Pliku) kombinacja klawiszy CTRL-D.
- write d84365
- Zad. 7. Stworzyc plik tekstowy zawierajacy dowolna wiadomosc o maksymalnej
- dlugosci 4 linijek i wyslac ja komenda write do kolegi obok.
- Komenda : echo "Plik na 4 linjiki" > plik.txt
- write d84365 < plik.txt
- Zad. 8. Wykonac polecenie banner imie np. banner Ola i przekierowac wynik
- polecenia do pliku tekstowego. Wyslac ten plik sobie na maila.
- banner ola | mail -s "Banner" jhomlala@gmail.com
- Zad. 9. Wyswietlic w biezacym terminalu kalendarz na obecny miesiac i rok,
- wykorzystujac polecenie cal.
- Komenda : cal
- cal -y // na caly rok
- Zad.10. Wyslac poczta elektroniczna list do prowadzacego ze zgloszeniem
- wykonania wszystkich zadan. List nalezy wyslac na adres
- ogolnouczelniany, a nie na adres lokalny na serwerze willow.
- Komenda : echo "Potwiedzenie wykonania zadania" | mail -s "Zadanie" agramacki@iie.uz.zgora.pl
- Zestaw zadan nr 3
- =======================================================================
- Potrzebne komendy: pwd, ls, grep, mkdir, basename, dirname, rm, mail
- =======================================================================
- Zad. 1. Sprawdzic pelna nazwe (bezwzgledna sciezke dostepu) naszego
- domowego katalogu. Odpowiedz przedstawic prowadzacemu.
- pwd
- Zad. 2. Przejsc do katalogow podanych ponizej i przejrzec ich zawartosc.
- /bin
- /dev Co to jest /dev/null?
- /etc
- /home
- /var
- wejscie do katalogu cd
- odczyt katalogu ls
- W Uniksopodobnych systemach operacyjnych /dev/null to wirtualne
- urządzenie usuwające wszystkie dane przekierowane do niego i nie generujące żadnych danych dla procesów czytających z niego.
- Zad. 3. Przejrzec zawartosc katalogu /var/mail. Co sie w nim znajduje?
- Wyswietlic informacje o pliku nazywajacym sie tak, jak nasze konto.
- cd /var/mail
- ls
- cat d84365
- Zad. 4. Przejsc do katalogu domowego, utworzyc wykonujac jedna komende
- nastepujaca galaz podkatalogow: ^^^^^^^^^^^^^
- zajecia/zadania/lab3
- cd ~
- mkdir -p zajecia/zadania/lab3
- Zad. 5. Sprawdzic dzialanie komend "basename" i "dirname" w nastepujacy
- sposob:
- a) napisac polecenie
- echo $HISTFILE
- Co jest jego wynikiem?
- /home/students/2013/d84365/.bash_history
- b) napisac polecenia
- basename $HISTFILE
- .bash_history
- i dirname $HISTFILE.
- /home/students/2013/d84365
- Wyniki przedstawic prowadzacemu.
- Zad. 6. Wyswietlic liste plikow w katalogu domowym, uporzadkowana wedlug
- czasu tworzenia/modyfikacji plikow, ale w kolejnosci odwrotnej.
- ls -ltr
- Zad. 7. Wyswietlic liste plikow w katalogu domowym w formacie
- wielokolumnowym opatrzonym specjalnymi znakami, tj. / dla katalogow,
- * dla plikow wykonywalnych, @ dla linkow, itd. (wykorzystac jedna
- z opcji komendy "ls").
- ls -CF
- Zad. 8. Za pomoca komendy
- echo "napis" > nazwa_pliku
- stworzyc pliki testowe "test1", "test2" i "test3", zalozyc katalog
- "tmp" i skopiowac do niego te pliki.
- echo "napis" > test1
- echo "napis" > test2
- echo "napis3"> test3
- mkdir tmp
- cp test1 tmp
- Zad. 9. Usunac pliki test* (z katalogu domowego) komenda rm bez opcji
- rm test*
- Zad. 10. Usunac pliki test* (z katalogu tmp) przy pomocy komendy rm
- z opcjami powodujacymi odpytanie uzytkownika o zgode.
- rm -i test
- Zad. 11. Stworzyc plik tekstowy ".profile" (tylko ci, ktorzy go nie maja).
- Wpisac w nim linie (chyba ze taka linia juz istnieje):
- alias rm='rm -i'
- Dopisanie tej linii osiaga sie komenda:
- echo "alias rm='rm -i'" >> .profile
- Wylogowac sie i zalogowac ponownie w celu uruchomienia
- ustawien zawartych w pliku startowym ".profile"
- teraz bedzie sie pytalo o zgode czy usunac na pewno
- Zad. 12. Sprawdzic wszystkie zdefiniowane aliasy
- (nie tylko przez .profile).
- alias
- Zad. 13. Storz pliki: usun1, usun2, usun3, usun4.
- Nastepnie usun pliki: usun1, usun2.
- Wykonaj polecenie: unalias rm.
- Nastepnie usun pliki: usun3, usun4.
- Jakie zmiany mozna zaobserwowac?
- bedzie sie pytalo czy chcemy usunac na pewno , potem juz nieb edzie
- Zad. 14. Stworzyc katalog rmtest, umiescic w nim dowolne 3 pliki,
- a nastepnie z poziomu katalogu nadrzednego usunac ten katalog
- wraz z zawartoscia.
- rm -rf <folder do usuniecia> // to usunie wszystko
- Zad. 15. Stworzyc plik lista.txt ktory bedzie zawieral wszystkie pliki
- (lacznie z ukrytymi), katalogi oraz zawartosc tych katalogow i
- podkatalogow z twojego katalogu domowego. (-R)
- ls -R > lista.txt
- Zad. 16. Stworzyc plik, w ktorym bedzie wynik polecenia ps oraz ls (w
- jednym pliku) w katalogu domowym.
- ps > wynik.txt
- ls >> wynik.txt
- Zad. 17. Stworzyc jednoczesnie katalogi dir1 dir2 i dir3.
- mkdir dir1 dir2 dir3
- Zad. 18. Stworzyc pusty plik o nazwie .pusty (touch).
- Wykonac polecenie ls. Jakiego przelacznika nalezy uzywac,
- aby plik byl widoczny na liscie plikow?
- touch .pusty
- ls -a
- Zad. 19. Zmienic date modyfikacji pliku lista.txt na przedwczoraj o 7 rano.
- # touch -t YYMMDDHHMM nazwa pliku// to stworzy plik i nastepnie trzeba przekopiowac dane
- cat lista.txt > file.txt
- i zmienic nazwe mv oldfile newfile
- Zad. 20. Wyslac list do prowadzacego, z odpowiedzia na nast. pytania:
- 1) Do czego sluzy plik ".profile"?
- 2) Czy celowe jest wpisanie do tego pliku linii jak w zad. 11?
- Zestaw zadan nr 4
- ========================================================================
- Potrzebne komendy:
- znaki ograniczajace, mkdir, ln, touch, rm, cat, head, tail, chmod
- ========================================================================
- Zad. 1. Stworzyc (przy pomocy jednej komendy) we wlasnym katalogu
- domowym podkatalog: "test/proba/zadania". Zapisac tresc
- niniejszego listu do pliku zad_lab4 i przeniesc ten plik
- do wspominanego katalogu.
- mkdir -p test/proba/zadania
- echo "tekst" > test/proba/zadania/zad_lab4.txt
- Zad. 2. Utworzyc we wlasnym katalogu domowym link symboliczny o nazwie
- "zl4", wskazujacy na plik z poprzedniego zadania.
- ln -s test/proba/zadania_zad_lab4.txt link
- Zad. 3. Utworzyc link symboliczny o nazwie "zu" wskazujacy na katalog
- ~/zadania/unix, sprawdzic wynik komendy "cd zu"
- Uwaga: najpierw nalezy stworzyc w/w katalog
- ln -s ~/zadania/unix zu
- Zad. 4. Utworzyc katalog test2.
- Przy pomocy komendy
- touch nazwa_pliku nazwa_pliku2 ...
- stworzyc w nim pliki "ala.test", "bela.test", "cela.test",
- "dela.test", "mela.test". Stworzyc w katalogu domowym
- link symboliczny "a_sym" wskazujacy na plik "ala.test"
- i link sztywny "a_szt" wskazujacy na ten sam plik.
- Zbadac wlasciwosci linkow (np. dopisac cos do tresci pliku
- lub skasowac plik wskazywany przez linki).
- ln -s (do ktalogow i plikow)
- ln - sztwny (tylko do plikow)
- jezeli usuniemy plik ktory jest podlinkowany to w soft linku tracimy dostęp , a w hardlinku dalej mozemy uzywac
- Zad. 5. Skasowac jedna komenda pliki: "bela.test", "cela.test",
- "dela.test", ale nie "mela.test".
- rm *.test
- Zad. 6. Za pomoca komend
- ls -la /dev/c* > pl1 oraz ls -la /dev/t* > pl2
- utworzyc dwa pliki. Polaczyc je w jeden o nazwie "pl_razem",
- z numerowanymi liniami, przy czym linie puste nie maja byc
- numerowane.
- Uwaga: Numeracja ma byc ciagla w calym pliku "pl_razem".
- (d84365@willow)-bash:~/test2/$ cat -b pl1 > plik_razem
- (d84365@willow)-bash:~/test2/$ cat -b pl2>>plik_razem
- (d84365@willow)-bash:~/test2/$ cat -b pl1 pl2 >pl_razem
- Zad. 7. Wyswietlic zawartosc pliku, zawierajacego tresc wykonywanych
- obecnie zadan, ("zad_lab4", zapisany w zadaniu 1), poczawszy
- od wzorca tekstu "Zad. 7."
- grep -nr "Zad. 7. Wyswi" zad_lab04 | cut -d ":" -f2 // zwroci nam linie 50
- tail -50 zad_lab04
- Zad. 8. Wyswietlic 10 pierwszych linii pliku "zad_lab4"
- head -10 zad_lab04
- Zad. 9. Wyswietlic 15 ostatnich linii pliku "zad_lab4"
- tail -15 zad_lab04
- Zad. 10. Wyswietlic 10 ostatnich linii pliku "zad_lab4",
- w odwrotnej kolejnosci.
- tail -10 -r zad_lab04
- Zad. 11. Komende z zadania 10 (polecenie, a nie jego wynik!) zapisac
- do pliku "zad10", dopisac na koncu komende:
- echo 'Koniec :-)'
- Zmienic atrybuty pliku "zad10" na wykonywalne dla uzytkownika
- i zakaz odczytu dla "innych".
- Wykonac napisany w ten sposob skrypt (wywolac nazwe pliku "./zad10"
- echo "tail -10 -r zad_lab04" > zad10
- echo "echo..." >> zad10
- chmod +x zad10
- ./zad10
- Zad. 12. Usunac zbedne linki, pliki i katalogi, stworzone podczas
- dzisiejszych zajec
- Zglosic prowadzacemu wykonanie zadan (ustnie).
- Zestaw zadan nr 5.
- ========================================================================
- Ponizsze operacje nalezy wykonac przy pomocy edytora "vi".
- ========================================================================
- Zad. 1. Stworzyc plik konfiguracyjny edytora vi, wpisac w nim polecenie,
- powodujace automatyczne wlaczenie wskaznika trybu edytora.
- Opuscic edytor i uruchomic go ponownie, sprawdzic dzialanie
- wskaznika trybu. Dopoki nie bedzie on dzialal poprawnie, nie
- wolno realizowac kolejnych zadan.
- vi
- w vi polecenie :mkexrc fileName (.exrc)
- echo ":set smd" >> .exrc
- W prawym dolnym rogu pokazuje jakƒÖ funkcjƒô mamy uruchomionƒÖ.
- Zad. 2. Z dostarczonej listy wybrac trzy cytaty, przepisac, numerujac je
- (cytaty, nie linie) i zapisac je do pliku "cytaty.txt". Nalezy
- pamietac takze o przepisaniu nazwiska autora cytatu.
- Zad. 3. Pierwszy z cytatow nalezy powielic 5 razy na koncu pliku
- (wykorzystac operacje kopiowania przez bufor).
- ESC 3y - skopiowanie do bufora 3 linii poczƒÖwszy od obecnej
- p - paste (wklej zawartosc bufora)
- Zad. 4. Usunac pierwszy z cytatow oraz jego cztery powtorzenia na koncu
- pliku (ma pozostac piate powtorzenie). Nastepnie dokonac
- odpowiednich operacji, tak aby w efekcie odwrocic kolejnosc
- cytatow (najpierw nr 3, potem nr 2, potem nr 1).
- dG - usuniecie biezacego wiersza i wszystkich ponizej
- d1G - usuniecie biezacego wiersza i wszystkich powyzej
- d3d - usuniecie 3 kolejnych wierszy
- y3y - skopiowanie do bufora 5 kolejnych wierszy
- Zad. 5. Zamknac plik "cytaty.txt" i wyslac go poczta do prowadzacego na
- adres lokalny na serwerze willow, poprosic o odpisanie.
- :wq
- Zad. 6. Wybrany cytat wstawic do wlasnego pliku ".profile" (pliku
- startowego programu powloki, polozonego w domowym katalogu kazdego
- uzytkownika), tak aby po zalogowaniu sie zostal on wyswietlony na
- ekranie. UWAGA: aby plik startowy ".profile" byl uruchomiony, trzeba
- dokonac ponownego logowania
- Oto przyklad fragmentu tresci pliku
- ...
- echo "--------------------------------------"
- echo "Czy seks jest nieprzyzwoity?"
- echo "Tylko wtedy, gdy robisz to jak nalezy."
- echo " Woody Allen "
- echo "--------------------------------------"
- ...
- Zad. 7. Sprawdzic, jaka wartosc ma zmienna systemowa "PATH", za pomoca
- komendy echo $PATH (duzymi literami!)
- Zmienna ta okresla nazwy katalogow, ktore przeszukuje system w
- poszukiwaniu polecenia (nazwy programu), jakie wydal uzytkownik.
- Poszczegolne katalogi oddzielone sa znakiem dwukropka.
- Zmienna ta jest deklarowana w pliku ".profile". Aby dokonane zmiany
- zostaly wprowadzone w zycie, konieczne jest ponowne zalogowanie.
- Zadanie: przy pomocy edytora vi dopisac (o ile jeszcze nie jest
- dopisana) do wartosci zmiennej PATH (deklarowanej w pliku
- startowym) sciezke "$HOME", czyli wlasny katalog domowy;
- Uwaga: w przypadku realizowania zadania przez grupe kilkuosobowa,
- konieczne jest dokonanie wspomnianych zmian sciezki PATH
- na koncie KAZDEJ z osob nalezacych do grupy.
- Przedstawic wynik prowadzacemu.
- vi .bash_profile
- Zad. 8. Stworzyc plik o nazwie "ccls", umiescic w nim komende czyszczaca
- ekran, komende wypisujaca zawartosc biezacego katalogu w dlugim
- formacie, posortowana odwrotnie wg czasu dostepu do pliku, ze
- stronicowaniem wydruku. Zapisac plik, nadac mu prawa wykonywania,
- sprawdzic dzialanie. Jest to wasz pierwszy skrypt systemowy.
- touch ccls
- echo "clear" >> ccls
- echo "ls -ltr | more" >> ccls
- chmod 777 ccls
- Sprawdzic poprawnosc wykonania zadan nr 7 i 8, przechodzac do katalogu
- /tmp i probujac wykonac polecenie ccls. Jesli system nie potrafi odnalezc
- pliku ccls, oznacza to niepoprawne rozwiazanie zadania 7.
- Wynik dzialania skryptu przedstawic prowadzacemu.
- Zestaw zadan nr 6
- ========================================================================
- UWAGA: ponizsze zadania nalezy wykonac uzywajac komendy "find"
- ========================================================================
- Zad. 1. Wyswietlic nazwy wszystkich katalogow, nazywajacych sie tak jak
- nasze konto. Poszukiwania rozpoczac od katalogu "/" (od glownego
- katalogu w sytemie plikow). Strumien bledow skierowac do
- "kosza". Uwaga: operacja ta moze potrwac kilka minut.
- find / "d84365*" > /dev/null
- Zad. 2. Wyswietlic nazwy wszystkich plikow badz katalogow, ktorych
- wlascicielem jestesmy my. Poszukiwania rozpoczac od katalogu "/".
- find / -user d84365
- Zad. 3. Wyswietlic nazwy wszystkich plikow badz katalogow, ktorych
- wlascicielem jest nasza grupa. Poszukiwania rozpoczac od katalogu
- "/".
- find / -group students
- Zad. 4. Wyswietlic nazwy wszystkich plikow w systemie, nie majacych
- wlasciciela i jednoczesnie nie majacych grupy.
- find / -nouser -nogroup
- Zad. 5. Wyswietlic nazwy wszystkich plikow w naszym katalogu domowym, nie
- modyfikowanych od 7 dni.
- ^^^^^^^^^^^^^^^^^^^^^^^^
- find /home/students/2013/d84365 -mtime 7
- Zad. 6. Odszukac wszystke pliki "*.c" polozone w katalogu:
- /home/staff/iie/wzajac a nastepnie wykorzystujac wyrazenie pierwotne
- "-exec" wypisac ich liste w dlugim formacie. UWAGA: jesli wspomniany
- katalog nie jest dostepny do odczytu poprosic prowadzacego o
- wskazanie innego katalogu.
- find $p*.txt -exec ls -l \;
- Zad. 7. Odszukac w katalogu /tmp wszystkie pliki "*.txt"
- mniejsze niz 1000 bajtow i wyswietlic o nich informacje w dlugim formacie.
- find $p*.txt -size -1000
- + wieksze - mniejsze
- Zad. 8. Wyswietlic nazwy i zawartosc plikow "*.txt" we wlasnym katalogu
- domowym. Jesli nie ma takich plikow, nalezy wczesniej stworzyc dwa
- pliki tekstowe: "test1.txt" i "test2.txt".
- find $p*.txt -exec cat {} \;
- Zglosic prowadzacemu wykonanie zadan (ustnie).
- Zestaw zadan nr 7
- ========================================================================
- Potrzebne komendy: more, cp, echo, ustawienie zmiennej, znaki
- ograniczajace, tee, find.
- ========================================================================
- Zad. 1. Przejrzec zawartosc systemowego pliku "/etc/profile".
- Co zawiera i jakie ustawienia moga byc w nim dokonane?
- Co oznacza znak "#"? Kto moze zmieniac ten plik?
- UWAGA: MOZLIWE ZE TEGO PLIKU W OGOLE NIE MA!
- 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.
- /etc/profile.d
- 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.
- Zad. 2. Przejrzec zawartosc wlasnego pliku ".profile" we wlasnym katalogu
- domowym. Porownac z zawartoscia pliku przykladowego
- "/home/staff/iie/wzajac/.profile". Jakie ustawienia moga byc
- dokonane za jego pomoca? Wedlug uznania skopiowac (lub nie)
- plik przykladowy do wlasnego katalogu domowego, wylaczyc lub
- wlaczyc komentarze przy wybranych komendach.
- Jesli wspomniany katalog nie jest dostepny do odczytu,
- poprosic prowadzacego o wskazanie innego
- Zad. 3. Jakie wartosci maja zmienne systemowe:
- TERM
- HOME
- PATH
- LOGNAME
- PWD
- PS1
- PS2
- Kiedy pojawia sie tzw. drugi znak zachety?
- echo $HOME , $PWD ... itp
- Zad. 4. Za zmienna systemowa "p" podstawic wynik komendy wyszukujacej w
- naszym katalogu domowym pliki "*.txt". Jaki symbol ograniczajacy
- sluzy do podstawienia wyniku komendy? Wyswietlic zawartosc
- zmiennej p. Usunac zmienna p.
- ls $p*.txt
- cat p
- Zad. 5. Napisac komende wyswietlajaca liste plikow "*.c" z katalogu
- domowego, skierowujac wynik jednoczesnie na wyjscie
- standardowe (ekran) i do pliku "pliki_c". Wydruk na ekranie
- musi byc stronicowany.
- Jesli wspomniany katalog nie jest dostepny do odczytu lub
- brak w nim plikow "*.c", wybrac katalog we wlasnym zakresie lub
- poprosic prowadzacego o wskazanie innego katalogu.
- ls -a $p more | more | tee zapis.txt
- Zad. 6. Napisac komende, ktora wyszukuje w calym systemie plikow
- pliki o rozszerzeniu "out" i wyswietla ich nazwy w dlugim
- formacie, jednoczesnie zapisujac te liste do pliku "lista.txt".
- Strumien bledow skierowac do "kosza".
- find / -name "*.out" >> zapis.txt >> /dev/null
- Zad. 7. Napisac polecenie, ktore wyswietli liste osob zalogowanych
- w tej chwili do systemu, ale tylko tych, ktorzy maja uruchomiony
- program "mail".
- w |grep "mail"
- Zestaw zadan nr 9
- ========================================================================
- Potrzebne komendy: echo, ustawienie zmiennej, znaki ograniczajace,
- tr, head, sort, find.
- ========================================================================
- Zad. 1. Wyswietic pierwsze 20 linii pliku /etc/passwd, posortowane
- wg UID
- head -20 /etc/passwd | sort -n -t ':' -k3
- Zad. 2. Wyswietlic liste plikow w katalogu domowym, w dlugim formacie,
- posortowana wg nazw plikow.
- Zad. 3. Wyswietlic liste plikow w katalogu domowym, w dlugim formacie,
- posortowana wg rozmiaru plikowu.
- ls -l | sort -k5
- Zad. 4. Napisac komende wyswietlajaca liste plikow "*.c" w dlugim
- formacie) z katalogu "~wzajac", posortowane wg. rozmiaru
- Jesli wspomniany katalog nie jest dostepny do odczytu,
- poprosic prowadzacego o wskazanie innego
- ls -l $pwd*.txt | sort -k5
- Zad. 5. Napisac komende, ktora wyszukuje w katalogu /tmp pliki
- typu "txt" i wyswietla ich nazwy w dlugim
- formacie. Liste posortowac wg wlascicieli plikow.
- Strumien bledow skierowac do "kosza".
- ls -l /tmp/*.txt | sort -k3 > plik.txt > /dev/null
- ls -l /tmp/*.txt | sort -k3 &> /dev/null
- Zad. 6. Napisac polecenie, ktore przypisze do zmiennej x wynik polecenia ls.
- Wyswietlic zawartosc zmiennej x, porownac z wynikiem polecenia ls.
- result=$(ls)
- echo $result
- Zad. 7. Napisac polecenie, wyswietlajace na ekranie napis jak ponizej:
- "Prosiaczek to swinia" - Kubus Puchatek
- echo "\"Prosiaczek to swinia\"- Kubus Puchatek "
- Zad. 8. Napisac polecenie, ktore wyswietli ilosc listow w naszym
- wlasnym pliku mbox, nadanych przez prowadzacego.
- Wskazowka: Kazdy list posiada naglowek, w ktorym zapisano adres nadawcy.
- Nalezy wykorzystac polecenie grep, zliczajace ilosc linii
- zawierajacych poszukiwany tekst.
- trzeba najpierw odebrac email
- grep -c '^From ' mbox_file
- Zad. 9. Napisac polecenie, ktore wyswietli te linie z pliku /etc/passwd, ktora
- dotyczy naszego konta. Dane w pliku oddzielane sa dwukropkiem, ale
- na ekranie nalezy je zastapic znakiem #
- grep "d84365" /etc/passwd | tr ":" "#"
- Zad. 10. Napisac polecenie, ktore wyswietli liste plikow w katalogu domowym
- w dlugim formacie, w taki sposob, ze poszczegolne pola informacji
- beda oddzielone od siebie znakiem =
- ls -l | tr " " "="
- ls -l | tr "[:blank:]" "="
- Zglosic prowadzacemu wykonanie zadan.
- Zestaw zadan nr 10
- ==
- Potrzebne komendy: cut, sort, grep, tr, ls.
- ===
- Zad. 1. Wyswietl linie i numery linii z pliku /etc/passwd, ktore
- zawieraja napis "Jan" albo "jan"
- cat -n /etc/passwd | grep -e "Jan" -e "jan"
- Zad. 2. Wyswietl liczbe linii pliku /etc/passwd, ktore zawieraja napis
- "Jan" albo "jan"
- cat -n /etc/passwd | grep -e "Jan" -e "jan" | wc -l
- Zad. 3. Policz, ile linii zawiera plik /etc/motd.
- cat /etc/motd | wc -l
- Zad. 4. Policz, ilu uzytkownikow systemu uzywa powloki bash (zgodnie z
- zapisami w pliku /etc/passwd).
- cat /etc/passwd | grep "bash" | wc -l
- Zad. 5. Wyswietl liste praw dostepu do plikow i ich nazwy w biezacym
- katalogu.
- ls -l
- Zad. 6. Wyswietl liste jak wyzej, ale z katalogu /tmp
- ls /tmp/*
- cd /tmp ls -l
- Zad. 7. Wyswietl zawartosc pliku /etc/passwd, posortowana wedlug numerow UID
- w kolejnosci od najwiekszego do najmniejszego.
- sort -k3 -r /etc/passwd
- Zad. 8. Utworz plik "wielkosci.dat", zawierajacy liczby bedace wielkosciami
- plikow z biezacego katalogu.
- ls -s > wielkosci.dat
- Zad. 9. Wyswietl liste plikow z aktualnego katalogu, zamieniajac wszystkie
- znaki oprocz znaku nowej linii i spacji na znaki wykrzyknika.
- ls -a | tr a-z0-9A-Z._ !
- Zad. 10. Opierajac sie na danych z pliku /etc/passwd wyswietl nazwy
- uzytkownikow, ich numery UID i GID posortowane alfabetycznie
- wedlug nazwy uzytkownika i oddzielone spacjami. Wynik przedstawic
- prowadzacemu
- cut -d : -f 1,3,4 /etc/passwd | sort -k1 | tr ":" " "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement