Technologie Informacyjne - Linux 2
Instytut Matematyki Uniwersytet Gda ´nski
Poleceniegrep wypisuje z pliku lub strumienia wej´sciowego te wiersze, które s ˛a zgodne z podanym wyra˙zeniem.
Na przykład
$ grep root /etc/passwd - wypisze wszystkie wiersze z pliku /etc/passwd, które zawieraj ˛a w sobie słowo root.
$ grep root /etc/* - wyszuka wiersze ze słowem root we wszystkich plikach znajduj ˛acych si ˛e w katalogu /etc.
Opcja-i wył ˛acza rozró˙znienia wielkich i małych liter.
Opcja-v powoduje wypisywanie wierszy niezgodnych z wyra˙zeniem.
Powłoka - polecenia po´srednicz ˛ ace
Zadanie Pobra´c plik lista.txt a nast ˛epnie za pomoc ˛a polecenia grep wypisa´c wszystkie osoby:
a) o imieniu Wojciech,
b) zapisz wszystkie osoby o imieniu Marta do pliku Marta.doc, c) zapisz wszystkie osoby o imieniu innym ni˙z Marta do pliku NieMarta.odt
Zadanie Pobierz plik pesel.txt. Za pomoc ˛a odpowiedniego polecenia sprawdzi´c, czy w pliku jest pesel:
a) 67112966668, b) 73070871369.
Polecenieless (w starszych wersjach more) słu˙zy do przegl ˛adania zawarto´sci du˙zego pliku.Spacja powoduje przesuni ˛ecie tekstu o jeden ekran do przodu, naci´sni ˛ecie klawisza B - przewini ˛ecie o jeden ekran do tyłu. Klawisz Q powoduje zako ´nczenie pracy programu.
Wewn ˛atrz polecenia less mo˙zliwe jestposzukiwanie tekstu.
W celu poszukiwania słowa w dalszej cz ˛e´sci tekstu wpisujemy /słowo, w celu poszukiwania tego słowa wstecz wpisujemy
?słowo.
Zadanie
a) Sprawd´z działanie polecenia less na przykładzie pliku pesel.txt
b) Wyszukaj pesele wszystkich osób, które urodziły si ˛e w pa´zdzierniku 1966 roku.
Powłoka - polecenia po´srednicz ˛ ace
Mo˙zliwe jest przesłanie standardowego wyj´scia niemal ka˙zdego programu bezpo´srednio na standardowe wej´scie innego
programu. Przykład wysłania wyników programu grep do polecenia less:
$ grep ie /usr/share/dic/words | less
Zadanie Wy´swietl za pomoc ˛a polecena less wszystkie osoby z listy.txt, które nie maj ˛a na imi ˛e Wojciech.
Poleceniepwd wypisuje nazw ˛e aktualnego katalogu roboczego.
Poleceniefind kat -name plik -print pozwala znale´z´c plik o nazwie plik w katalogu kat.
Poleceniefile plik pozwala sprawdzi´c rozszerzenie pliku Zadanie
a) Wypisz nazw ˛e aktualnego katalogu roboczego.
b) B ˛ed ˛a´c w katalogu głównym znale´z´c lokalizacje pliku
Marta.txt oraz katalogów Informatyka i Analiza Matematyczna.
c) Wy´swietli´c informacje o rozszerzeniach pliku lista.txt, Marta.doc oraz NieMarta.odt.
Powłoka - polecenia po´srednicz ˛ ace
Poleceniediff plik1 plik2 pozwala na wyłuszczenie ró˙znicy pomi ˛edzy dwoma plikami tekstowymi.
Poleceniehead plik wypisuje pierwszych dziesi ˛e´c wierszy pliku, a polecenietail plik dziesi ˛e´c ostatnich wierszy. Liczb ˛e wierszy, któr ˛a chcemy wypisa´c mo˙zna zmieni´c stosuj ˛ac opcje -n, gdzie n to liczba wierszy.
Przykładowohead -5 /etc/passwd wypisze pi ˛e´c pierwszych wierszy z pliku passwd.
Polecenietail +n plik pozwala zobaczy´c wiersze poczynaj ˛ac od wiersza o numerze n.
Zadanie
a) Pobierz plik lista1.txt. Znajd´z ró˙znic ˛e pomi ˛edzy plikami lista oraz lista1.
b) Zapisa´c cztery pierwsze osoby z pliku lista.txt do pliku cztery.txt.
Zmienianie hasła i powłoki
Do zmiany swojego hasła słu˙zy poleceniepasswd. Pytania ono o poprzednie hasło, a nast ˛epnie prosi o dwukrotne wprowadzenie nowego.
Do zmiany aktywnej powłoki słu˙zy poleceniechsh albo jedno z polece ´n stosowanych zamiennie, takich jakksh lub tcsh.
Powłoka mo˙ze przechowywa´czmienne tymczasowe, nazywanezmiennymi powłoki (shell variables),
przechowuj ˛ace warto´sci liczbowe lub ci ˛agi znaków. Aby przypisa´c warto´s´c zmiennej u˙zywamy znaku równo´sci:
nazwa_zmiennej = warto ´s ´c_zmiennej.
Przykładowo
$ STUFF=blabla
przypisuje zmiennej STUFF warto´s´c blabla.
Dost ˛ep do warto´sci zmiennej uzyskujemy wpisuj ˛ac przed nazw ˛a zmiennej znak dolara. Przykładowo mo˙zemy u˙zy´c polecenia:echo $STUFF.
Zmienne ´srodowiskowe i powłoki
Zmienne ´srodowiskowe (environment variables) s ˛a bardzo podobne do zmiennych powłoki, ale nie s ˛a zwi ˛azane wył ˛acznie z powłok ˛a. Wszystkie programy w systemach uniksowych maj ˛a dost ˛ep do pami ˛eci zmiennych ´srodowiskowych. Zmienn ˛a
´srodowiskow ˛a tworzymy tak samo jak zmienn ˛a powłoki.
Nast ˛epnie przenosimy je do pami ˛eci zmiennej ´srodowiskowej za pomoc ˛a poleceniaexport. Przykładowo
$ STUFF=blabla
$ export STUFF
Zmienna PATH jest specjaln ˛a zmienn ˛a ´srodowiskow ˛a zawieraj ˛ac ˛a ´scie˙zk ˛e polece ´n. ´Scie˙zka polece ´n jest list ˛a katalogów w systemie, które powłoka b ˛edzie przegl ˛ada´c w czasie próby odnalezienia polecenia.
Zadanie
a) Zapisz w zmiennej IMIE swoje imi ˛e, a w zmiennej
NAZWISKO swoje nazwisko. Wy´swietl swoje imi ˛e i nazwisko.
b) Zapisz zawarto´s´c zmiennej PATH w pliku path.
Mo˙znazmieni ´c warto ´s ´c zmiennej PATH tak, aby powłoka wyszukiwała programy tak˙ze w innych katalogach.
PoleceniePATH=kat:$PATH spowoduje, ˙ze powłoka najpierw szuka programu w katalogu kat a dopiero nast ˛epnie w
pozostałych katalogach ze zmiennej PATH.
PoleceniePATH=$PATH:kat spowoduje, ˙ze katalog kat b ˛edzie przeszukiwany na ko ´ncu.
Je´sli jest kilka programów o tej samej nazwie to jest uruchamiany pierwszy napotkany.
Uzyskiwanie pomocy
Polecenieman słu˙zy do wywoływania podr ˛ecznika opisuj ˛acego poszczególne polecenia. Przykładowoman ls wy´swietli
informacje o poleceniu ls.
Polecenieman -k słowo_kluczowe umo˙zliwia wyszukanie informacji z podr ˛ecznika dotycz ˛acych okre´slonego słowa kluczowego. Przykładowoman -k sort.
Je´sli szukamy konkretnej opcji danego polecenia wystarczy po tym poleceniu wpisa´c- -help. Przykładowo ls - -help.
Zadanie
a) Wy´swietl informacje o poleceniu ls. Poszukaj jakie s ˛a mo˙zliwe dla tego programu kody wyj´scia (Exit status) i co one oznaczaj ˛a?
b) Wyja´sni´c znaczenie ci ˛agu polece ´n:
head /proc/cpuinfo | tr a-z A-Z.
Poszukaj informacji o poleceniu tr w podr ˛eczniku.
Wej´scie i wyj´scie powłoki
Czasem mo˙ze si ˛e zdarzy´c, ˙ze mimo przekierowania
standardowego wyj´scia program nadal b ˛edzie wypisywał ró˙zne komunikaty na ekranie. Oznacza to, ˙ze korzysta on ze
standardowego strumienia bł ˛edów.
Zadanie Wpisz polecenie ls /ffffffff > f.
Je´sli chcemy, aby dane generowanie przez program były zapisywanie do pliku f, a wszystkie komunikaty o bł ˛edach do pliku e to nale˙zy u˙zy´c polecenia:ls /ffffffff > f 2> e.
Numer 2 to identyfikator strumienia, który podlega przekierowaniu. Strumieniem numer 1 jest standardowe wyj´scie, strumieniem numer 2 – standardowy strumie ´n bł ˛edów.
Je´sli chcemy przekierowa´c standardowy strumie ´n bł ˛edów w to samo miejsce co wynik działania polecenia u˙zywamy
Zadanie Wywoła´c dowoln ˛a komend ˛e, której wynikiem b ˛edzie bł ˛ad. Zapisa´c informacj ˛e o bł ˛edzie w pliku bł ˛ad.
Przegl ˛ adanie procesów i manipulowanie nimi
Procesem nazywamy działaj ˛acy program. Ka˙zdy z procesów działaj ˛acych w systemie ma swój liczbowy identyfikator procesu (ang. process ID - PID).
ps - wy´swietla wszystkie uruchomione procesy,
ps x - wy´swietla wszystkie uruchomione procesy przez aktualnego u˙zytkownika,
Poleceniekill pozwala zako ´nczy´c dany proces (kill pid).
Poleceniekill -STOP pid zatrzymuje działanie danego procesu.
Aby wznowi´c działanie procesu u˙zywamy poleceniakill -CONT pid.
Zadanie Sprawdzi´c jakie procesy s ˛a aktualne uruchomione na