plik


Systemy operacyjne dr inż. Anna Kamińska S29 Części systemu komputerowego Sprzęt jednostka centralna (procesor) pamięć urządzenia wejścia-wyjścia System operacyjny Programy użytkowe Użytkownicy Co to jest system operacyjny System operacyjny nadzoruje i koordynuje posługiwanie się sprzętem przez różne programy użytkowe, które pracują na zlecenie różnych użytkowników System operacyjny (jądro) - program, który działa nieustannie Cele tworzenia systemów operacyjnych Wygoda użytkownika Efektywne działanie systemu komputerowego Składowe systemu:zarządzanie pamięcią operacyjną Pamięć operacyjna obszar pamięci dostępny bezpośrednio dla procesora magazyn szybko dostępnych danych, eksploatowanych wspólnie przez jednostkę centralną i urządzenia wejścia-wyjścia Aby program mógł być wykonany, musi być zaadresowany i załadowany do pamięci Składowe systemu: zarządzanie pamięcią dyskową Pamięć operacyjna - nietrwała (traci zawartość po odłączeniu zasilania) Pamięć pomocnicza (dyskowa) rozszerza pamięć operacyjną Pamięć pomocnicza powinna móc trwale przechowywać duże ilości danych Składowe systemu: zarządzanie plikami Pliki - sposób przechowywania informacji Plikach zawierają programy (w postaci źródłowej lub wynikowej) dane Dla ułatwienia użytkowania pliki są organizowane w katalogi Składowe systemu: zarządzanie procesami Proces - program wykonywany przez procesor wraz z jego otoczeniem Otoczenie - zbiór zasobów, z których proces musi korzystać, aby wypełnić swoje zadanie Zasoby - np. czas jednostki centralnej, pamięć, pliki, urządzenia We/Wy Interpreter poleceń Interpreter poleceń - interfejs między użytkownikiem a systemem operacyjnym Interpreter może być (w zależności od systemu operacyjnego) zawarty w jądrze systemu specjalny program Zadania systemu operacyjnego Zarządzanie pamięcią operacyjną Nadzorowanie pracy programów Tworzenie struktury dysków (katalogów i plików) Nadzorowanie współpracy wszystkich dostępnych w systemie urządzeń Sygnalizacja błędów Zapewnienie komunikacji użytkownika z komputerem Rodzaje systemów operacyjnych MS-DOS Windows 95/98/Me Windows NT OS/2 WARP - pierwszy wielozadaniowy graficzny system operacyjny dla komputerów IBM PC Unix/Linux Różnice między BSD i System V Najważniejsza różnica - standardowa powłoka systemu System V - powłoka Bourne’a BSD UNIX - powłoka C Niektóre polecenia jednej wersji są niedostępne w drugiej lub działają nieco inaczej Standaryzacja systemu Unix SVID (System V Interface Definition) – zgodność z Unixem AT&T. POSIX norma IEEE (Institute for Electrical and Electronic Engineers) i ANSI (American National Standards Institute) nr P1003 – międzynarodowy standard oparty na Systemie V i BSD. Standaryzacja Systemu Unix X/OPEN – standard utworzony przez organizacje wytwórców systemu UNIX, Europa. X-Consortium - standaryzacja interfejsów działających w oparciu o technologie X-Window. SIGMA –normy niezależne od rodzaju sprzętu, Japonia. Posługiwanie się systemem System Unix - uniwersalny, bardzo rozbudowany Komercyjne odmiany mają zwykle po kilka tysięcy stron dokumentacji (kilka tysięcy poleceń) Podczas wykładu omawiane będą ogólne cechy systemów unixowych Przykłady: HP-UX, Solaris Konfiguracje sprzętowe Pod kontrolą Unixa mogą pracować różne komputery, np. - PC - komputery przeznaczone dla jednego użytkownika (stacje robocze, ang. workstations) - instalacje wieloterminalowe Instalacje wieloterminalowe Składniki instalacji wieloterminalowej - komputer centralny (tzw. serwer) - terminale podłączone do serwera Przez łącza (np. kable sieci lokalnej) do serwera można podłączyć inne komputery (np. PC), pełniące rolę terminali Terminale Terminale (końcówki) - urządzenia do komunikacji użytkowników z systemem Podstawowe elementy terminala monitor klawiatura Terminale można łączyć do serwera bezpośrednio przez łącza szeregowe przez okablowanie lokalnej sieci LAN Terminale W charakterze terminali mogą być użyte klasyczne terminale znakowe specjalne terminale graficzne (np. X-terminale), komputery (zwykle klasy PC) używane do naśladowania (emulowania terminali) Konsola systemowa (konsola operatora) - wyróżniony rodzaj terminala System operacyjny Unix Pierwsze kroki w systemie Unix Podstawowe informacje Unix rozróżnia duże i małe litery Naciśnięcie zwykle przerywa wykonywanie dowolnego programu Konto użytkownika W systemie Unix może pracować jednocześnie wielu użytkowników Każdy użytkownik musi mieć swoje konto Konto zakłada administrator systemu Konto zabezpieczone jest hasłem Sesja Sesja - praca z systemem Unix zgłoszenie chęci pracy (login) zakończenie (exit, logout) Aby przyłączyć się do systemu, należy podać nazwę konta użytkownika i hasło Często na początku sesji są wyświetlane komunikaty od administratora systemu Terminal W trybie tekstowym polecenia mogą być wydawane bezpośrednio w wierszu poleceń W trybie okienkowym - należy najpierw uruchomić okno terminala (nazwy różne w zależności od producenta) Gotowość interpretera sygnalizuje znak zachęty - zwykle %, $ lub # Identyfikacja terminali Każdy terminal zgłaszający się w systemie Unix otrzymuje unikalną nazwę systemową, Wyświetlenie systemowej nazwy danego terminala - polecenie tty Polecenie wyświetla nazwę pliku specjalnego związanego z terminalem (np. /dev/tty01) Emulatory terminali znakowych Emulatory terminali znakowych - tylko do uruchamiania programów pracujących w trybie tekstowym Najczęściej używane tryby pracy terminali znakowych - vt100, vt220, ansi, wyse60 Do emulacji terminala na PC służy np. wersja programu telnet dla Windows Znaki ASCII Podstawowy zestaw znaków ASCII (ang. American Standard Code for Information Interchange) zawiera 128 znaków: - litery a - z, A - Z - cyfry 0-9 - znaki specjalne ` ~ ! @ # $ % ^ & * ( ) - _ = + [ ]{ } ; : ' " , . / < > ? - znak odstępu - znaki sterujące (o kodach 0-31) Polecenia na początek Wyświetlenie spisu zawartości katalogu: ls Opcje zmieniające zachowanie polecenia umieszcza się po znaku ‘-’ ,np. ls -l Polecenia na początek Tworzenie pliku o zawartości wczytywanej z klawiatury terminala: cat > nazwa_pliku Zakończenie wpisywania: Jeśli plik już istnieje, nowa zawartość zamaże starą Wyświetlanie zawartości pliku: cat nazwa_pliku Polecenia na początek Wyświetlenie bieżącej daty i godziny: date Informacja, kto w tej chwili pracuje w systemie (nazwa użytkownika, numer terminala i czas rejestracji w systemie): who Informacja wyłącznie o sobie: who am i Zmiana hasła Zmiana hasła passwd Nowe hasło należy powtórzyć 2 razy Ograniczenia na postać hasła (eliminacja haseł zbyt łatwych do odgadnięcia) Pomoc systemowa Unix ma wbudowany interakcyjny podręcznik Wyświetlenie strony podręcznika z informacją na temat danego polecenia man nazwa_polecenia Przykład man ls Pomoc systemowa Strony podręcznika mogą mieć rozdziały: Name nazwa polecenia i krótki opis Synopsis składnia (opcje) Description szczegółowy opis stosowania Files inne pliki używane przez polecenie/program See also pokrewne informacje Diagnostics znaczenie kodów i błędów Restrictions ograniczenia stosowania Pomoc systemowa Standardowe konwencje dotyczące składni nawiasy kwadratowe otaczają parametry opcjonalne (nieobowiązkowe) wielokropek oznacza miejsca, gdzie parametry mogą się wielokrotnie powtarzać Opisy - z różnych sekcji podręcznika, np. ls(1) Szukanie hasła z określonej sekcji man numer_sekcji hasło Ścieżki Pełne określenie położenia pliku lub katalogu w systemie wymaga podania nazwy ścieżki (path) Ścieżka - lista katalogów, leżących na gałęzi łączącej katalog główny z katalogiem, w którym znajduje się plik Katalogi oddziela znak ‘/’ (slash) Mogą zawierać do 255 znaków Nie mają wyodrębnionego rozszerzenia Mogą (nie muszą) zawierać kropkę Mogą zawierać dowolne znaki z wyjątkiem ukośnika ‘/’ (zalecane - litery, cyfry i znaki ‘-’, ‘_’, ‘.’) Rozróżnianie dużych i małych liter Nazwy plików Pliki wykonywalne mogą mieć dowolną nazwę nie muszą mieć rozszerzenia Identyfikacja plików wykonywalnych - na podstawie praw dostępu (atrybutów) Atrybuty plików Zbiory użytkowników każdego pliku właściciel pliku (user) - ‘u’ grupa osób korzystających z pliku - ‘g’ inni użytkownicy systemu (others) - ‘o’ Każdy zbiór może mieć różne prawa do: czytania (read) - ‘r’ modyfikowania (pisania, write) - ‘w’ wykonywania (execute) - ‘x’ Atrybuty plików Oznaczenie praw dostępu do pliku rwxr-xr-- Zapis - prawa rwx kolejno właściciela grupy pozostałych użytkowników Oznaczenia litera - przywilej kreska - brak przywileju Zmiana atrybutów plików Atrybuty plików - ustawiane w momencie tworzenia pliku Zmiana atrybutów - polecenie chmod chmod [ugo]+[rwx] plik chmod [ugo]-[rwx] plik chmod [ugo]=[rwx] plik gdzie: +/- dodanie/usunięcie atrybutu = ustawienie atrybutu Zmiana atrybutów plików Przykłady użycia polecenia chmod chmod u+x plik chmod g=r plik chmod -x plik Brak grupy - wszyscy użytkownicy (all, ‘a’); a=ugo Zmiany atrybutów może dokonać tylko właściciel pliku lub administrator Pliki ukryte Pliki ukryte (hidden) - pliki, które nie pojawiają się w spisie zawartości katalogu tworzonym poleceniem ls bez parametrów Atrybut ukrycia zależy od nazwy pliku Nazwy plików ukrytych muszą zaczynać się od kropki Przykład: .profile Spis zawartości katalogu Polecenie ls bez parametrów wyświetla tylko nazwy plików i katalogów Opcja -l (long) wyświetla także: znak ‘-’ lub ‘d’ (plik/katalog) prawa dostępu (9 znaków rwx-) identyfikator właściciela (nazwę konta) rozmiar w bajtach datę i czas ostatniej modyfikacji Wzorce nazw plików Znaki specjalne (metaznaki) w Unixie ? zastępuje pojedynczy znak * zastępuje dowolny ciąg znaków Przykłady wzorców nazw plików: * wszystkie pliki w katalogu *.* wszystkie pliki z kropką w nazwie *.*.* np. pliki a.b.c lub abc.defg.hi *xyz np. pliki xyz lub abcdxyz Wzorce nazw plików Inny sposób dopasowania wzorca -przez podanie grupy znaków w nawiasach kwadratowych [ ] W pasującej nazwie musi występować jeden ze znaków zawartych w zbiorze Myślnik oznacza zakres znaków (według porządku ASCII) Wzorce nazw plików Przykłady [abc] a lub b lub c [a-z] mała litera (od a do z) doc[0-9] doc0 lub doc1 itd. do doc9 *[Aa]dd* pliki, które mają w nazwie znaki add lub Add *[Aa][Dd]* pliki, które mają w nazwie znaki ad lub Ad lub aD itd. Kopiowanie plików Do kopiowania plików - polecenie cp Pierwsza forma polecenia: cp plik_źródłowy plik_docelowy Druga forma polecenia: cp plik_źródłowy katalog_docelowy lub cp pliki_źródłowe katalog_docelowy Kopiowanie plików Przykłady: cp plik1.txt plik2.txt cp plik1.txt ../test/plik2.txt cp plik1.txt ../test cp plik1.txt plik2.txt test2 cp *.txt ../test cp test2/plik1.txt . Przenoszenie (zmiana nazw) plików Polecenie mv do zmieniania nazw plików mv plik_źródłowy plik_docelowy do przenoszenia ich do nowego katalogu mv plik_źródłowy katalog Przykłady mv plik_1 plik_2 mv spis.txt rok2001/wydatki Usuwanie plików Polecenie rm do usuwania pliku lub grupy plików: rm [opcje] pliki Pytanie o potwierdzenie: opcja -i Przykłady: rm program1 rm program1 program2 rm -i * Wyświetlanie zawartości plików Polecenie cat - do wyświetlania zawartości pliku lub kilku plików jednocześnie Przykłady cat plik1.txt plik2.txt cat *lab.txt Wyświetlanie pliku stronami Polecenie more wyświetla zawartość pliku do zapełnienia ekranu czeka na naciśnięcie klawisza Składnia polecenia: more plik Katalogi standardowe W większości instalacji Unixa - podobne podkatalogi katalogu głównego: /etc /dev /lib /tmp /bin Katalogi o specjalnym znaczeniu dla administratora /etc - z programami konfiguracyjnymi /dev - z plikami specjalnymi (dostęp do urządzeń We/Wy) Polecenia dotyczące katalogów Tworzenie katalogu mkdir katalog Usuwanie katalogu (pustego) rmdir katalog Zmiana katalogu bieżącego cd katalog Polecenie cd bez parametrów zmienia katalog bieżący na katalog osobisty Polecenia dotyczące katalogów Wyświetlanie nazwy katalogu bieżącego wraz z pełną ścieżką (print working directory) pwd Polecenie ls Składnia: ls [opcje] plik Opcje: -a wyświetla też pliki ukryte -d wyświetla tylko nazwy katalogów, bez ich zawartości -F zaznacza katalogi (/) i pliki wykonywalne (*) -l wyświetla pełną informację -R wyświetla (rekurencyjnie) podkatalogi Przechodzenie drzewa katalogów Postać polecenia find find katalog warunek Polecenie przeszukuje katalog wraz z podkatalogami dla każdego znajdującego pliku w katalogach sprawdza prawdziwość warunku Składniki parametru warunek kryteria selekcji operacje wykonywalne Przechodzenie drzewa katalogów Niektóre możliwe warunki: -atime n z pliku korzystano w ciągu ostatnich n dni -mtime n plik modyfikowano w ciągu ostatnich n dni -print wypisanie ścieżki i nazwy pliku -name nazwa plik ma podaną nazwę -user użytkownik plik należy do wskazanej osoby Przechodzenie drzewa katalogów Szukanie w całym drzewie katalogów pliku o nazwie pass find / -name pass -print Szukanie w systemie plików, których właścicielem jest użytkownik root find / -user root -print Zwykle bez warunku -print polecenie nie wypisuje nazw znalezionych plików Przechodzenie drzewa katalogów Wypisanie plików w katalogu bieżącym, do których pasuje wzorzec *.txt find . -name "*.txt" -print Kryteria selekcji są analizowane według kolejności w wierszu poleceń Przykład - dwukrotne wypisanie nazw niektórych plików find -print . -name "*.txt" Prawa dostępu do katalogów Prawa dostępu do katalogów - inne, niż dla plików ‘r’ użytkownik może obejrzeć spis plików zawartych w katalogu (np. poleceniem ls) ‘w’ użytkownik może modyfikować zawartość katalogu ‘x’ użytkownik ma dostęp do plików w tym katalogu i podkatalogach System operacyjny Unix Edytor vi Standardowe edytory Unixa Różne edytory Unixa - np. ed, emacs Pełnoekranowy edytor vi - dostępny w każdym systemie Unix Istnieje wiele wersji edytora vi Wykład omawia wersję podstawową Tryby pracy Poleceń (command mode) naciskane klawisze są interpretowane jako polecenia kolejno wpisywane znaki pojawiają się w ostatnim wierszu ekranu tryb poleceń kończy naciśnięcie Wstawiania tekstu (insert mode) tryb wstawiania kończy naciśnięcie Tryby pracy Sygnał dźwiękowy po naciśnięciu oznacza, że pracujemy już w trybie wydawania komend Niektóre wersje vi umożliwiają poruszanie się po tekście przy pomocy klawiszy kursora także w trybie wstawiania tekstu Uruchamianie edytora Uruchomienie edytora vi Uruchomienie edytora z jednoczesnym otwarciem pliku vi nazwa_pliku Polecenia Wszystkie polecenia edytora vi- na stronach programu man Każda litera oznacza jakieś polecenie Duże i małe litery mają różne znaczenie Wiele poleceń można poprzedzić cyfrą - liczbą powtórzeń: x - usuwa jeden znak pod kursorem 10x - usuwa 10 znaków Otwieranie pliku W wierszu poleceń: nazwa_pliku Gdy plik nie istnieje - wyświetla ekran wypełniony wierszami ze znakiem tyldy (~) w pierwszej kolumnie Gdy plik istniał - wyświetla zawartość pliku (wiersze po końcu pliku zawierają tylko tyldę) Zachowywanie pliku Zachowanie pliku (write) :w Opuszczenie programu (quit) :q Obie operacje można połączyć :wq lub ZZ Opuszczenie bez zachowywania :q! Przesuwanie kursora Przesuwanie kursora o wiersz w górę i w dół oraz o znak w lewo i w prawo: - , , , lub klawisze kursora Przesuwanie kursora na koniec lub na początek wiersza - <$> i <^> Przesuwanie kursora na górę i dół ekranu - i Przewinięcie tekstu o jeden pełny ekran: , Wstawianie tekstu Po naciśnięciu klawisza kolejne znaki są dodawane przed kursorem Dodanie znaku za kursorem - Dodawanie tekstu na początku lub na końcu wiersza - i Usuwanie znaków - Dodanie linii poniżej kursora - Dodanie linii powyżej kursora - Zamienianie znaków Zmiana znaku pod kursorem - należy nacisnąć , a następnie nowy znak Zmiana większej liczby znaków - należy nacisnąć , ciąg znaków, Usuwanie tekstu Usunięcie jednego znaku spod kursora - klawisz Usunięcie znaku na lewo od kursora - klawisz Usunięcie całego słowa - należy ustawić kursor na pierwszej literze i nacisnąć Operacje na blokach tekstu Edytor vi ma wewnętrzny schowek, w którym jest umieszczany usuwany lub kopiowany tekst Kursor można następnie umieścić w nowym położeniu i wkleić tam zawartość schowka Operacje na blokach tekstu Usunięcie jednego wiersza: dd Usunięcie kilku wierszy: liczba dd Kopiowanie wierszy: [liczba] yy Wklejenie zawartości schowka do tekstu - na prawo od kursora: p - na lewo od kursora: P Wyszukiwanie tekstu Wyszukiwanie tekstu /wzorzec Po znalezieniu wzorca tekst zostanie tak przewinięty, żeby wzorzec był widoczny na ekranie Zamiana tekstu Zastąpienie ciągu znaków - polecenie :s :wiersz_pocz,wiersz_koncs/wzorzec/zamiennik Symbol $ oznacza ostatni wiersz W każdym wierszu zostanie zamienione tylko pierwsze wystąpienie wzorca - jeśli na końcu nie zostanie dodana opcja /g Przykład :1,$s/file/plik/g Inne przydatne polecenia Włączenie numerowania wierszy :set number Wyłączenie numerowania wierszy :set nonumber Odświeżenie ekranu Cofnięcie ostatniego polecenia System operacyjny Unix Powłoka (shell) Interfejs użytkownika z systemem Interfejs odczytuje naciśnięte klawisze szuka w pamięci żądanego programu lub polecenia systemu ładuje program do pamięci wykonuje go W systemie Unix interfejsem użytkownika z systemem jest powłoka (shell) Powłoka program część systemu Unix, z którą styka się użytkownik Powłoka jest automatycznie ładowana po wejściu do systemu To powłoka wyświetla wszystkie znaki zachęty i komunikaty Rodzaje powłok Najpopularniejsze powłoki Unixa Bourne'a (Bourne Shell) - sh C (C-Shell) - csh Korna (Korn Shell) - ksh Powłoki różnią się składnią niektórych poleceń i zestawem oferowanych narzędzi Dotychczas omówione polecenia są wspólne dla najpopularniejszych powłok Rodzaje powłok Nazwa powłoki uruchamianej w chwili przyłączenia się użytkownika do systemu - przechowywana w pliku /etc/passwd Decyduje o tym - administrator Mechanizm działania powłoki Powłoka czyta z klawiatury to, co wpisze użytkownik, do naciśnięcia Tekst może zawierać kilka poleceń Polecenia w jednym wierszu - oddzielone znakiem ‘;’ Powłoka analizuje wczytany tekst w razie błędu wypisuje komunikat Mechanizm działania powłoki Powłoka uruchamiając program czeka, aż program się wykona wyświetla znak zachęty - może znów przyjmować komendy Typowe znaki zachęty w csh % w sh i ksh $ Powłoka może uruchomić program w tle Rodzaje poleceń użytkownika Wbudowane polecenia powłoki (wewnętrzne) - np. cd Wykonywalne programy: większość poleceń (tzw. zewnętrznych) - np. ls, find kody wynikowe powstałe w rezultacie kompilacji programu (np. w języku C) Pliki wsadowe (skrypty, shell scripts) z poleceniami do wykonania przez powłokę Opcje poleceń Rodzaje opcji poleceń: jedna litera po znaku ‘-’ (np. -l) kilka znaków po znaku ‘-’ (np. -d2 ); znaki po literze są wartością opcji (wartością opcji -d ma być 2) jedna litera po znaku -, a po spacji wartość (np. -f moj_plik ) Opcje poleceń Zwyczajowo opcje powinny być podawane bezpośrednio po nazwie polecenia przed nazwami jakichkolwiek plików Uruchamianie plików Powłoka szuka pliku (polecenia) jeśli w nazwie pliku występuje ścieżka - tylko w podanym katalogu jeśli nie - we wszystkich katalogach występujących w zmiennej środowiska PATH Jeśli katalog bieżący nie występuje w zmiennej PATH, nie jest przeszukiwany - wyraźne żądanie, np. ./oblicz Przekazywanie parametrów Powłoka zastępuje metaznaki w parametrach pasującymi nazwami plików przekazuje parametry programowi nie interpretuje metaznaków w parametrach otoczonych cudzysłowem Przykład - wyświetlenie zawartości pliku *.txt cat "*.txt" Klawisze redakcyjne Klawisze redakcyjne - używane do redagowania zawartości wprowadzanego wiersza Możliwość redagowania - dopóki nie zostanie naciśnięty klawisz Klawisze redakcyjne erase - usuwa poprzedzający znak w zależności od konfiguracji terminala - , lub kill - usuwa cały wiersz escape - znak ucieczki (znak wpisany po nim traci specjalne znaczenie) ‘\’ Klawisze specjalne stop - zatrzymuje wypisywanie danych na ekran (standardowo ) start - ponownie uruchamia wypisywanie (standardowo ) intr - przerywa wykonywanie programu (standardowo ) Klawisze specjalne quit - zatrzymuje wykonywanie, jeśli program blokuje użycie intr (standardowo - system tworzy specjalny plik core (obraz wykonywanego procesu) Polecenie stty Polecenie stty - do zmiany ustawień klawiszy specjalnych i redakcyjnych Wyświetlenie bieżących ustawień stty (czasem stty all lub stty -a) Przykład - część bieżących ustawień speed 9600 baud; evenp hupcl -cread intr = ^C; erase = ^G; kill = ^U; Klawisze specjalne Ustawienia zmienia polecenie: stty klawisz kombinacja_klawiszy Przykład: stty erase '^G' lub: stty erase ^G Zmienne środowiska Zmienna środowiska - część środowiska, przekazywanego procesom Ustawienia standardowych zmiennych środowiska - zwykle w skrypcie (pliku wsadowym), uruchamianym w chwili przyłączania się do systemu Zmienne środowiska Standardowe zmienne środowiska to: PATH - określa ścieżki wyszukiwania plików uruchamialnych MAIL - określa nazwę pliku z pocztą SHELL - określa typ powłoki HOME - określa adres katalogu osobistego użytkownika TERM - określa typ terminala Zmienne środowiska Sposób zmieniania wartości zmiennej środowiska zależy od rodzaju powłoki w sh i ksh zmienna=wartość export zmienna w csh setenv zmienna wartość Jeśli parametr wartość zawiera odstępy lub znaki specjalne, trzeba go ująć w cudzysłów Zmienne środowiska Odwołanie do wartości zmiennej: $zmienna Wyświetlenie wartości zmiennej: echo $zmienna Spis zmiennych środowiska printenv (dla csh) printenv lub export (dla sh i ksh) Zmienne środowiska Przykład - kontrola ustawienia typu terminala: echo $TERM Zmiana typu terminala na vt100 dla csh setenv TERM vt100 dla sh i ksh TERM=vt100 export TERM Skrypt inicjujący Skrypt inicjujący - plik znajdujący się w katalogu osobistym użytkownika, uruchamiany po wejściu do systemu w sh i ksh .profile w csh .login i .cshrc Zawartość pliku jest ustalana wstępnie przez administratora systemu, ale może być zmieniana przez użytkownika Procesy Program - plik zawierający wykonywalny kod (plik, do którego ktoś ma prawo ‘x’) Polecenie wykonania programu - powoduje powstanie procesu (ang. process) Strumienie Do otoczenia każdego procesu należą dwa strumienie (ang. stream) strumień wejściowy - do czytania poleceń, parametrów itp. strumień wynikowy - do zapisywania wyników działania programu Strumienie Domyślnie oba strumienie odpowiadają konsoli Standardowy strumień wejściowy (standardowe wejście) odpowiada klawiaturze Standardowy strumień wynikowy (standardowe wyjście) - ekranowi terminala Przeadresowywanie wyjścia Wyjście przeadresowuje znak ‘>’ Polecenie ls > wynik wyśle wynik działania polecenia ls do pliku wynik w katalogu bieżącym Jeśli plik wynik już istnieje, jego poprzednia wartość zostanie skasowana Przeadresowywanie wyjścia W ksh i csh można wydać polecenie set noclobber Istniejący plik nie zostanie wtedy usunięty Dopisanie wyniku działania programu do istniejącego pliku - przy pomcy znaków ‘>>’, np. ls >> wynik Łączenie plików Polecenie cat kopiuje zawartość pliku lub plików do standardowego wyjścia Przeadresowanie wyjścia - kopiowanie zawartości plików do pliku wynikowego (łączenie plików) Przykład cat pl1.txt pl2.txt > spis.txt cat pl3.txt >> spis.txt Przeadresowywanie wejścia Znakiem przeadresowania wejścia jest ‘<‘ Przykład: program < dane > wyniki Potoki Warunki łączenia programów w potok (ang. pipeline lub pipe) dane przetwarzane są kolejno przez kilka programów każdy program wypisuje wynik do pewnego strumienia wynikowego, który jest jednocześnie strumieniem wejściowym innego programu Potoki Oznaczenie potoku - znak ‘|’ Zapis potoku polecenie1 parametry | polecenie2 parametry lub np. program1 | program2 | program3 Filtry W potokach często wykorzystuje się tzw. filtry Filtr - program, który pobiera dane z wejścia przetwarza je wysyła je na wyjście przefiltrowane Przykład: ls -l | more Polecenie grep Jeśli polecenie przeszukuje wiele plików, na początku każdego wiersza umieszcza nazwę pliku, w którym ten wiersz znaleziono Jeżeli pominięte zostaną nazwy plików, polecenie pracuje jako filtr czytający dane ze standardowego wejścia polecenie | grep [opcje] wzorzec Polecenie grep Przykłady grep ED students grep macierz * ls -l | grep rwxrwxrwx Odmiany polecenia: egrep, fgrep Polecenie grep Niektóre opcje polecenia -c wypisanie tylko liczby wierszy, w których wystąpił wzorzec -l jeśli przeszukiwanych jest wiele pli- ków - wypisane zostaną tylko nazwy tych, w których wystąpił wzorzec -v wypisanie tylko tych wierszy, w których nie wystąpił wzorzec Wyrażenia regularne Wyrażenia regularne są rozumiane przez grep, vi i inne programy Wyrażenie jest ciągiem znaków Wyrażenia wyglądają podobnie do wzorców nazw plików Znaki specjalne w wyrażeniach Kropka (‘.’) - oznacza dowolny znak Nawiasy kwadratowe (‘[' i ‘]’) otaczające zbiór znaków - jeden znak ze zbioru Wzorzec Odpowiada abc abc a.c abc lub aac lub a2c itd. [abc] a lub b lub c Znaki specjalne w wyrażeniach Jeśli pierwszym znakiem po nawiasie (‘[‘) jest karetka (‘^’) - jeden ze znaków nie wymienionych w zbiorze Oznaczenie zakresu znaków w nawiasach kwadratowych - przy pomocy myślnika Wzorzec Odpowiada [^abc] d lub e itd. [a-z] a lub b lub c itd. do z Znaki specjalne w wyrażeniach Ciąg znaków przed znakiem powtórzenia (‘*’) może wystąpić w tekście zero lub więcej razy Wzorzec Odpowiada a*b b lub ab lub aab itd. [ab]*c c lub ac lub aac lub bc lub babc itd. l.*a luneta lub lawa itd. Znaki specjalne w wyrażeniach Każdy znak specjalny poprzedzony zna-kiem ‘\’ traci swoje specjalne znaczenie Wzorzec nie może być dłuższy od wiersza: znak ‘^’ oznacza dodatkowo początek, a ‘$’ - koniec wiersza \[ [ ^abc abc, jeśli a jest pierwszym znakiem w wierszu Znaki specjalne w wyrażeniach Przykłady zakresów znaków - dowolny ciąg małych liter [a-z]* - dowolna liczba dwucyfrowa [0-9][0-9] Używając wzorca zawierającego znaki specjalne, należy go ująć w cudzysłów Wyrażenia w poleceniu grep Wyszukanie w pliku spis1 wszystkich wierszy zawierających ciąg znaków Ad lub ad lub AD lub ad grep "[Aa][Dd]" spis1 Wyszukanie wierszy ze znakiem [ grep "\[" spis1 Szukanie wierszy zaczynających się na A grep "^A" spis1 Polecenie sort Polecenie sort sortuje wiersze podanego pliku (plików) i wysyła wynik na standardowe wyjście Składnia polecenia sort [opcje] [+poz1 [-poz2]] plik Jeśli w linii poleceń podano więcej niż jeden plik, ich zawartość jest łączona podczas sortowania Polecenie sort Domyślnie sortowanie jest realizowane zgodnie z kolejnością kodów ASCII Każdy wiersz składa się z pól - pozycję pola określa się podając jego numer (tzw. numeracja absolutna zaczyna się od zera) Parametr poz1 oznacza pierwsze, poz2 - ostatnie pole sortowania (brak paramet-ru poz2 - sortowanie do końca wiersza) Polecenie sort Przykłady sort students sort test* sort +1 -2 plik1 ls -l | sort +3 Polecenie sort Niektóre opcje polecenia: -f sortowanie bez rozróżniania dużych i małych liter -r sortowanie w porządku odwrotnym -u usunięcie powtarzających się wierszy -d sortowanie z uwzględnieniem tylko liter, cyfr i spacji (ignorowanie znaków interpunkcyjnych) Rozgałęzianie potoku Polecenie tee czyta dane z wejścia na wyjście i jednocześnie zachowuje je w podanym pliku Przykład: cat dane | tee kopia | grep ‘x’ Polecenie tee - często wykorzystywane do sprawdzania, co naprawdę dzieje się w skomplikowanych procesach Zakończenie sesji W większości współczesnych instalacji sesję kończy wydanie polecenia exit W powłokach sh i ksh można też nacisnąć klawisz jako pierwszy w nowym wierszu poleceń Często instalacje zabraniają używania dla uniknięcia przypadkowego zamknięcia sesji Komunikaty o błędach Komunikaty od programu lub powłoki są zwykle krótkie i mają składnię: nazwa: komunikat Przykładowe komunikaty: No such file or directory - nie ma takiego pliku lub katalogu Not a directory - to nie katalog Permission denied - brak prawa dostępu Almost out of disk space - dysk jest prawie pełny System operacyjny Unix Użytkownicy systemu Konto użytkownika Użytkownik musi być w systemie zarejestrowany (mieć otwarte konto) Konto użytkownika - pewien zestaw informacji na jego temat, np. nazwa numer UID nazwa grupy hasło Użytkownicy Rodzaje użytkowników - zwykli użytkownicy (ang. users) - użytkownik uprzywilejowany (ang. superuser), administrator systemu - root Konto roota - predefiniowane Spis wszystkich użytkowników systemu - w pliku /etc/passwd (właściciel - root, prawo czytania - wszyscy) Plik /etc/passwd Każdy wiersz pliku - informacje o jednym użytkowniku Pola wiersza - oddzielone dwukropkiem nazwa konta zaszyfrowane hasło numer użytkownika (tzw. UID) numer jego podstawowej grupy (tzw. GID) komentarz (np. imię i nazwisko) nazwa katalogu osobistego powłoka uruchamiana w chwili logowania Grupy Idea grup - umożliwienie kilku użytkownikom dzielenia się wspólnymi zasobami plikowymi Każdy użytkownik w chwili utworzenia konta staje się członkiem jakieś grupy Grupy tworzy administrator systemu Do zmiany grupy - polecenie newgrp [opcje] [grupa] Opis wszystkich grup Plik opisu grup - /etc/group Informacje w pliku nazwa grupy hasło grupy (tylko w niektórych odmianach Unixa) numer grupy (GID) lista nazw użytkowników należących do grupy Środowisko pracy użytkownika Pliki /etc/passwd i /etc/group - tzw. ewidencyjne Pliki inicjujące środowisko użytkownika /etc/profile - dla wszystkich powłok $HOME/.profile - dla sh i ksh $HOME/.login i $HOME/.cshrc - dla csh Środowisko pracy użytkownika Systemowe środowisko pracy użytkownika - ustalane na podstawie danych pobieranych z plików ewidencyjnych i inicjujących wykonania pewnych czynności wstępnych, opisanych w plikach inicjujących Środowisko - początkowe (może być modyfikowane po rozpoczęciu sesji) Prawa dostępu do plików System Unix sprawdza w kolejności czy użytkownik jest właścicielem pliku czy należy do grupy, do której należy plik prawa dostępu pozostałych użytkowników Domyślne prawa dostępu Domyślne prawa dostępu - nadawane plikowi w chwili tworzenia Do określania praw - polecenie umask Brak argumentów polecenia - wyświetlanie aktualnych ustawień Argumenty polecenia - 3 liczby Przykład umask 077 Domyślne prawa dostępu Argumenty polecenia - prawa dla właściciela pliku grupy pozostałych użytkowników Każda liczba - suma 3 składników 1 - wykonywanie 2 - pisanie 4 - czytanie Prawa nie będą nadawane Zmiana właściciela Przekazywanie praw własności pliku innemu użytkownikowi - polecenie chown innej grupie - polecenie chgrp Składnia poleceń chown nowy_właściciel plik(i) chgrp nowa_grupa plik(i) W niektórych systemach prawo zmiany właściciela ma tylko administrator Polecenie su Polecenie su - do zmiany identyfikatora bieżącego użytkownika podczas sesji Składnia polecenia: su [-] [nazwa_użytkownika [arg ...]] Domyślna nazwa użytkownika - root Wymaganie - znajomość hasła użytkownika Znak zachęty dla roota: # Polecenie su Polecenie wywołuje nowy proces powłoki Praca odbywa się nadal w środowisku użytkownika, który wydał polecenie Opcja '-' - zmiana środowiska na środowisko użytkownika wskazanego w linii polecenia Wyjście: lub exit Kontakty z innymi użytkownikami Wysyłanie komunikatów Wysłanie bezpośredniego komunikatu do innego użytkownika systemu write nazwa_użytkownika [terminal] Numer terminala - gdy adresat używa kilku Wyświetlanie komunikatu na ekranie adresata - wiersz po wierszu Koniec komunikatu - Wysyłanie komunikatów Przyjęte konwencje ‘o’ na końcu wiersza (over) - koniec wiadomości ‘oo’ (over and out) - koniec konwersacji Blokada komunikatu - polecenie mesg n odblokowanie - polecenie mesg y Komunikacja interakcyjna Interakcyjna komunikacja - przy pomocy programu talk Uruchamianie programu talk nazwa_użytkownika [terminal] Odpowiedź adresata talk nazwa_nadawcy Podział ekranu na dwie części Zakończenie programu - Program finger Lista użytkowników pracujących w systemie w danej chwili finger Szczegółowe informacje o użytkowniku finger uzytkownik Poszukiwania według imienia nazwiska nazwy konta użytkownika Program finger Inne działanie programu finger - informacje o użytkownikach dowolnego komputera w Internecie Spis pracujących użytkowników serwera finger @sbu.ac.uk Pytanie o konkretnego użytkownika finger kaminsam@sbu.ac.uk Program mail Poczta elektroniczna Do odczytywania i wysyłania poczty - program mail (czasem mailx lub inny) Każdy użytkownik systemu Unix jest właścicielem „skrzynki pocztowej” - pliku o nazwie zapisanej w zmiennej MAIL Nadchodzący list jest dopisywany do pliku Odczyt skrzynki pocztowej Wyświetlenie zawartość skrzynki mail Zawartość skrzynki (w różnych wersjach programu) - spis listów lub wszystkie listy po kolei Po pokazaniu listu program wyświetla znak zachęty ‘?’ i czeka na dyspozycje Odczyt skrzynki pocztowej Niektóre komendy programu mail - przeznaczenie listu do usunięcia <+> - przejście do następnego listu <-> - przejście do poprzedniego listu

- powtórne wyświetlenie listu bieżącego - zakończenie programu i usunięcie listów uprzednio przeznaczonych do usunięcia - zakończenie bez usunięcia listów - wysłanie odpowiedzi do nadawcy listu Wysyłanie listu Wysłanie listu do użytkownika mail nazwa_użytkownika mail adres_użytkownika Program zwykle pyta o temat (subject) Kolejne wiersze listu pisze się z klawiatury Zakończenie i wysłanie listu - Wysyłanie listu Naciśnięcie dwa razy podczas pisania powoduje wyjście bez wysłania listu Wysłanie listu do kilku użytkowników jednocześnie: mail użytkownik1 użytkownik2 Program ftp Program telnet

Wyszukiwarka


Podobne podstrony:
Podstawy Systemów Okrętowych wykład 04 Przeciw Pożarnicze
Elektromechaniczne systemy napedowe wyklad pienkowski wyklad 2
Sieci w systemie windows nt 2 i Nieznany
Informator poleceń systemu Unix Linux (tabela)
Magnetometer Systems for Explos Nieznany
Lab Wprowadzenie do systemu UNIX
407 B1HG7LK1 Demontaz Montaz Scalony system dolotowy powietrza Nieznany
systemy multimedialne wykład
Powłoka systemu UNIX
Lab Wprowadzenie do systemu UNIX

więcej podobnych podstron