Ćwiczenie 1.1. Korzystając z internetu dowiedz się, czym jest system uniksopodobny (*NIX) oraz jak rozwijały się systemy z tej rodziny.



Podobne dokumenty
Wstęp do systemów wielozadaniowych laboratorium 03 Praca w powłoce UNIX-owej

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Podstawy użytkowania Linux a

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Linux cz.3: polecenia systemowe, ćwiczenia

tworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1.

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Ćwiczenie 9 Linux - operacje systemu plików

Wstęp do systemu Linux

Pracownia komputerowa. Dariusz wardecki, wyk II

Pracownia Komputerowa wyk ad II

Ćwiczenia Linux konsola

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

host name: protokół SSH System plików - wprowadzenie Ścieżki dostępu

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

System plików - wprowadzenie. Ścieżki dostępu. Informatyka ćw 1

Stosowanie poleceń związanych z zarządzaniem plikami oraz katalogami: nazwa_polecenia -argumenty ścieżka/ścieżki do katalogu/pliku

Ćwiczenie nr 14: System Linux

Linux: System Plików

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Ćwiczenie 1. Podstawowe wiadomości

Tomasz Greszata - Koszalin

WPROWADZENIE. Warto pamiętać o opcji autouzupełniania, której używamy naciskając klawisz [Tab]

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Wstęp do systemu Linux

Technologie Informacyjne - Linux 1

Pracownia Komputerowa wykład III

Technologie informacyjne lab. 4

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

Usługi sieciowe systemu Linux

1 Przygotował: mgr inż. Maciej Lasota

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Jakie nowości i udogodnienia niesie za sobą przejście do Sidoma 8, część z tych różnic znajdziecie Państwo w tabeli poniżej.

10.2. Udostępnianie zasobów

Pracownia Komputerowa wykład II

Pracownia internetowa w szkole ZASTOSOWANIA

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Skrypty startowe. Tryb interaktywny tryb logowania: nie logowanie: Tryb nieinteraktywny

Laboratorium Systemów Operacyjnych

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Podstawy używania konsoli tekstowej w systemie Linux. Andrzej Zbrzezny

ZAJĘCIA Komendy Linux WB -> w konsoli tty2 finger exit man pwd pwd finger ls man ls. -> po 2 minusach interpretacja słowa

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

TECHNOLOGIA INFORMACYJNA

Dodatki. Dodatek A Octave. Język maszyn

Podstawy Linuksa. Wiesław Płaczek Postawy Linuksa 1

LeftHand Sp. z o. o.

Instalacja i konfiguracja serwera SSH.

Umożliwia ona pokazanie ukrytych plików i katalogów, nazwa ich zaczyna się od kropki.

Państwowa Wyższa Szkoła Zawodowa w Gorzowie Wlkp. Laboratorium architektury komputerów

Systemy operacyjne- tematy do opracowania

T: Zabezpieczenie dostępu do komputera.

Windows Server 2008 Standard Str. 1 Ćwiczenia. Opr. JK. I. Instalowanie serwera FTP w Windows Server 2008 (zrzuty ekranowe z maszyny wirtualnej)

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

BASH - WPROWADZENIE Bioinformatyka 4

Cechy systemu Linux. Logowanie się do systemu. Powłoka systemowa

MS-DOS polecenia wewnętrzne i

MODELOWANIE MATERIAŁÓW I PROCESÓW

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Map Reduce Wprowadzenie do Apache Hadoop

Rozdział II. Praca z systemem operacyjnym

Zakład Systemów Rozproszonych

Informatyka III : Instrukcja 1

System plików. Podstawy systemu Linux

Sieci komputerowe i bazy danych

EDYTOR TEKSTOWY VIM WYBRANE POLECENIA. Pracownia Informatyczna 5

SYSTEMY OPERACYJNE ĆWICZENIE POLECENIA SYSTEMU MSDOS

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Lab3 - Zastosowania protokołów przesyłania plików

Instalacja i konfiguracja konsoli ShadowControl

Laboratorium - Poznawanie FTP

Pracownia internetowa w każdej szkole (edycja jesień 2005)

Instalacja i konfiguracja serwera telnet.

Archiwum DG 2016 PL-SOFT

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

bla bla Guard podręcznik użytkownika

Wstęp do Informatyki i Programowania Laboratorium: Lista 1 Środowisko programowania

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

Instalacja Wirtualnego Serwera Egzaminacyjnego

Synchronizator plików (SSC) - dokumentacja

Pracownia Komputerowa wykład III

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Chemiateoretyczna. Monika Musiał. Ćwiczenia

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

1 Praca z maszyną wirtualną qemu/kvm

Transkrypt:

Ćwiczenia 1 1.1 Sesja powłoki Zanim możliwe będzie korzystanie z systemu, należy rozpocząć sesję powłoki, identyfikując się jako uprawniony użytkownik. Powłoka to program, który pośredniczy między użytkownikiem a jądrem systemu operacyjnego, udostępniając narzędzia ułatwiające korzystanie z aplikacji. W ramach tych ćwiczeń korzystać będziemy wyłącznie z powłoki tekstowej bash (Bash), która dostępna jest w praktycznie wszystkich instalacjach systemów *NIX. Ćwiczenie 1.1. Korzystając z internetu dowiedz się, czym jest system uniksopodobny (*NIX) oraz jak rozwijały się systemy z tej rodziny. Ćwiczenie 1.2. Znajdź podstawowe informacje o jądrze systemu Linux (ang. Linux kernel). Za co ono odpowiada? Ćwiczenie 1.3. Znajdź informacje o innych dostępnych programach powłoki, np. sh, csh lub ksh. Jak myślisz, dlaczego nie istnieje tylko jeden program tego typu? 1.1.1 Logowanie lokalne Jak to działa? Gdy jądro systemu zostanie poprawnie załadowane, wywoływany jest program o nazwie init, który odpowiada za uruchomienie aplikacji niezbędnych do poprawnego działania systemu. Jedną z nich jest program getty a, który jest uruchamiany tak wiele razy, jak wiele wirtualnych konsol udostępnia system b. Gdy getty wykryje aktywność, wywołuje program login, odpowiedzialny za zweryfikowanie tożsamości użytkownika, a jeśli weryfikacja ta przebiegnie pomyślnie, za uruchomienie odpowiedniej powłoki. Po zakończeniu sesji (np. wskutek wylogowania) program powłoki i program login są zamykane, a getty powraca do nasłuchiwania. a W różnych systemach może to działać odrobinę różnie, dlatego warto zapoznać się z tym, jak jest to w przypadku tego, którego sami używamy. b Zwykle jest to 6 wirtualnych konsol oznaczanych symbolami od tty1). do tty6. Aby rozpocząć sesję powłoki, wystarczy wprowadzić w odpowiednim momencie swój login i hasło. Poprawne logowanie zakończy się pojawieniem znaku zachęty, np.: s123456@shell:~$ Nazwa znaku zachęty pochodzi od przeznaczenia tego ciągu. Ma on zachęcać użytkownika do wprowadzenia jakiegoś polecenia. 1 Jednym z takich poleceń jest logout, kończące sesję powłoki. 1 W tym skrypcie będziemy oznaczać znak zachęty symbolem $, choć w zależności od okoliczności może on przyjmować różne postacie. Bartłomiej Przybylski Systemy operacyjne skrypt do ćwiczeń (2015SZ) 1

1.1. Sesja powłoki W przypadku systemów z powłoką graficzną (np. Ubuntu), sposób logowania może być niemalże dowolny (z automatycznym logowaniem włącznie). Zwykle jednak wirtualne konsole pozostają dostępne. Ćwiczenie 1.4. Uruchom system Ubuntu zainstalowany na komputerze w laboratorium wydziałowym. Zanim się zalogujesz korzystając z graficznego interfejsu, przejdź przez wirtualne konsole korzystając z kombinacji klawiszy od Ctrl + Alt + F1 do Ctrl + Alt + F6. Ćwiczenie 1.5. Zaloguj się w wybranej konsoli wirtualnej. Zapoznaj się z wyglądem znaku zachęty, a następnie sprawdź, czy logowanie objęło też inne konsole. Wyloguj się, korzystając z polecenia logout. Ćwiczenie 1.6. Powróć do trybu graficznego, korzystając z kombinacji klawiszy Ctrl + Alt + F7. Zaloguj się, a następnie uruchom dostępną aplikację Terminal lub podobną (taki program nazywamy emulatorem konsoli). Spróbuj intuicyjnie odpowiedzieć na pytanie, dlaczego nie musisz ponownie podawać danych logowania. 1.1.2 Logowanie zdalne z komputera z systemem z rodziny *NIX Niekiedy zachodzi potrzeba zdalnego połączenia z komputerem. W dawnych czasach wykorzystywano do tego protokół telnet, dziś zdecydowanie popularniejszy jest protokół ssh (ang. secure shell), umożliwiający nawiązanie szyfrowanego połączenia. Jeśli na komputerze, z którym próbujemy się połączyć, uruchomiony jest dobrze skonfigurowany demon 2 ssh, połączenie takie może się udać. Większość instalacji systemów z rodziny *NIX wyposażona jest w program ssh, umożliwiający nawiązanie połączenia z użyciem protokołu ssh. Gdybyśmy chcieli się połączyć z wydziałowym serwerem studenckim, moglibyśmy napisać $ ssh s123456@students.wmi.amu.edu.pl wywołując w ten sposób program ssh z argumentem s123456@students.wmi.amu.edu.- pl. Jeśli login aktualnie zalogowanego użytkownika pokrywa się z loginem użytkownika, na którego konto chcemy się zalogować zdalnie, można pominąć prefiks adresu, pisząc ssh students.wmi.amu.edu.pl. Ciekawostka Każde połączenie przychodzące do zdalnej maszyny okupuje tak zwany pseudoterminal (oznaczany zwykle symbolem pts/x, gdzie x jest jego numerem), czyli dodatkowe, programowe środowisko obsługi wejścia/wyjścia. Związane jest to z zasadą, że z jednego terminala (ale też z jednej konsoli, czy to fizycznej, czy wirtualnej) może korzystać w danym momencie tylko jeden użytkownik. Ćwiczenie 1.7. Korzystając z konsoli wirtualnej lub emulatora konsoli połącz się z serwerem students.wmi.amu.edu.pl. Spróbuj zrobić to samo z komputera znajdującego się poza wydziałową siecią komputerową. Ćwiczenie 1.8. Korzystając, w różnych okolicznościach, z polecenia who, zbadaj, który zalogowany użytkownik korzysta z którego terminala. Spróbuj określić, czy jest to konsola wirtualna czy pseudoterminal. 2 Demon (ang. daemon) to program, którego działanie jest (niemalże) w pełni autonomiczne. Nie wymaga on żadnej interakcji z użytkownikiem. Bartłomiej Przybylski Systemy operacyjne skrypt do ćwiczeń (2015SZ) 2

1.2. Dokumentacja poleceń 1.1.3 Logowanie zdalne z komputera z systemem Windows Cóż, komputery z systemem Windows nie są wyposażone w oprogramowanie do nawiązywania połączeń przy użyciu protokołu ssh. Na szczęście istnieją narzędzia, które można do tego wykorzystać, a najpopularniejszym z nich jest PuTTY. Ćwiczenie 1.9. Korzystając z programu PuTTY, połącz się z serwerem students.wmi.amu.- edu.pl za pomocą protokołu ssh. 1.2 Dokumentacja poleceń Jak to działa? Do tej pory dość intuicyjnie rozumieliśmy pojęcie polecenia jako instrukcji, którą przekazujemy komputerowi. Formalnie rzecz biorąc, poleceniem nazywamy pierwsze słowo takiej instrukcji. Do tej pory była to zawsze nazwa programu w rzeczywistości poleceniem w powłoce bash może być: nazwa programu zlokalizowanego na dysku komputera, np. who lub ssh, alias zdefiniowany wewnątrz powłoki, np. ll, nazwa funkcji powłoki, słowo kluczowe języka powłoki, np. if, polecenie powłoki (polecenia wbudowanego w powłokę), np. type, Niektóre polecenia mogą przyjmować opcje (zwane też przełącznikami), rozpoczynające się zwykle od symbolu pojedynczego lub podwójnego łącznika, oraz argumenty (obowiązkowe i opcjonalne). Taki zestaw polecenie oraz jego opcje i argumenty będziemy nazywać skrótowo poleceniem, a to, co akurat będziemy mieli na myśli będzie wynikać jasno z kontekstu. Ćwiczenie 1.10. Określ nazwę polecenia, opcje i argumenty poniższych wywołań. Nie przejmuj się, jeśli nie wiesz, co niektóre z nich powodują. $ logout $ who -u -H $ who -uh $ ssh --help $ type -t ssh who ls $ mv plik.txt plik.c $ ls -l /home/students/s123456 $ cp -r plik1.txt plik2.txt katalog1 katalog2 Spróbuj zgadnąć, kiedy jako prefiks opcji stosuje się symbol -, a kiedy ciąg --. Ćwiczenie 1.11. Korzystając z polecenia type z opcją -t, sprawdź typy poznanych dotąd poleceń. W tym celu wykonaj np.: $ type -t who Porównaj otrzymane wyniki z efektem działania polecenia type bez opcji -t. Bartłomiej Przybylski Systemy operacyjne skrypt do ćwiczeń (2015SZ) 3

1.2. Dokumentacja poleceń 1.2.1 Polecenie man Wiele poleceń wykorzystywanych w codziennej pracy ma dosyć duże możliwości. Przyjmuje wiele opcji i argumentów, których znaczenie może różnić się w zależności od sytuacji. To jeden z powodów, dla których istotna jest umiejętność dotarcia do ich podręcznika. Przez podręcznik (ang. manual) rozumiemy plik tekstowy zawierający szczegółowy opis działania programu. Systemy z rodziny *NIX wyposażone są zwykle w program man, umożliwiający dotarcie do podręczników programów (oraz niektórych poleceń niebędących programami i informacji ogólnych). Ćwiczenie 1.12. Program man wyświetla dokumentację poleceń przy użyciu programu less. Korzystając z jego dokumentacji, to znaczy wywołując polecenie: 3 $ man less zapoznaj się z następującymi poleceniami programu less: Spacja, b, q, /,?, n, N oraz sprawdź ich działanie w praktyce, wykonując następne ćwiczenie. Ćwiczenie 1.13. Korzystając z programu man zapoznaj się z dokumentacją poznanych dotąd programów, wykonując polecenia: $ man ssh $ man who $ man man Ćwiczenie 1.14. Gdy wyświetlamy podręcznik programu who, w nagłówku wyświetla się nazwa WHO(1). Jeśli jednak wyświetlimy podręcznik programu man, w nagłówku pojawi się MAN(7). Korzystając z podręcznika programu man, dowiedz się, co oznaczają liczby w nawiasach. Ćwiczenie 1.15. Dowiedz się, za co odpowiadają opcje -u oraz -H programu who. Korzystając z nich, sprawdź działanie poleceń: $ who -u $ who -H $ who -uh $ who -Hu $ who -u -H $ who -H -u Jak myślisz, czy podobna zasada interpretacji opcji dotyczy innych programów? 1.2.2 Opcja --help W większości sytuacji korzystanie z podręcznika nie jest jednak najwygodniejsze. Na szczęście wiele programów przyjmuje opcję --help, która powoduje, że program wyświetla skrócony opis swojego użycia. Ćwiczenie 1.16. Korzystając z opcji --help, zapoznaj się ze skróconym opisem użycia poznanych dotąd programów. W tym celu wykonaj polecenia: 3 Jeśli nie czujesz się na siłach, żeby uczyć się obsługi programu less w sposób wymagający znajomości obsługi programu less, możesz skorzystać z dokumentacji w wersji internetowej, np. na stronie http://man7.org/ linux/man-pages/man1/less.1.html. Bartłomiej Przybylski Systemy operacyjne skrypt do ćwiczeń (2015SZ) 4

$ ssh --help $ who --help $ man --help Jak myślisz, dlaczego próba wykonania polecenia $ logout --help powoduje zakończenie sesji? 1.3 Poruszanie się w strukturze katalogów i podstawowe operacje na plikach i katalogach Struktura katalogów w systemach z rodziny *NIX różni się znacząco od tej znanej nam z systemu Windows. Przede wszystkim istnieje główny katalog, oznaczany symbolem /, wewnątrz którego znajduje się cała struktura plików. Ten katalog nazywamy katalogiem głównym. Wewnątrz katalogu głównego znajdują się inne katalogi (np. bin, home itp.), w których mogą się znajdować inne katalogi itp. Każdy plik na dysku znajduje się w jakimś katalogu. Jak to działa? Jak wiemy, w komputerze może się znajdować wiele dysków, a każdy z nich może być podzielony na tak zwane partycje. W systemach z rodziny Windows każda partycja stanowi osobną strukturę, a jedna z nich (oznaczana zwykle symbolem C) stanowi partycję główną (systemową). W systemach z rodziny *NIX partycje są montowane. Oznacza to, że pliki i katalogi znajdujące się na danej partycji zostają umieszczone, z zachowaniem ich struktury, we wskazanym katalogu. W szczególności, katalog główny / odwołuje się do struktury plików i katalogów znajdujących się na jednej z partycji dysku. 1.3.1 Katalog domowy, katalog bieżący i nadrzędny, polecenia pwd oraz cd Do każdego użytkownika systemu przypisany jest jeden katalog na dysku, nazywany jego katalogiem domowym. W ramach sesji powłoki, katalog domowy aktualnie zalogowanego użytkownika oznacza się symbolem ~. To właśnie ten katalog jest domyślnym katalogiem roboczym sesji powłoki, czyli takim katalogiem, względem którego interpretowane są wszystkie ścieżki, których używa się do odwołań do plików. Bieżący katalog roboczy można sprawdzić przy pomocy polecenia pwd (ang. print working directory), a zmienić przy pomocy polecenia cd (ang. change directory). Ćwiczenie 1.17. Korzystając z polecenia pwd dowiedz się, gdzie zlokalizowany jest Twój katalog domowy. W tym celu wykonaj $ pwd po rozpoczęciu sesji powłoki. Ćwiczenie 1.18. Zmień katalog roboczy na katalog główny, wykonując polecenie $ cd / W analogiczny sposób zmień katalog roboczy na: Bartłomiej Przybylski Systemy operacyjne skrypt do ćwiczeń (2015SZ) 5

/home /bin /home/students /srv/resources Sprawdź, co się stanie, jeśli zakończysz ścieżkę znakiem ukośnika. Zwróć też uwagę, jak zmienia się w międzyczasie znak zachęty. Na koniec powróć do swojego katalogu domowego, odwołując się do niego bezpośrednio oraz poprzez alias ~. Ćwiczenie 1.19. Zaglądając do podręcznika dostępnego po wywołaniu polecenia $ man hier dowiedz się, jakie funkcje przypisuje się katalogom znajdującym się bezpośrednio w katalogu głównym. Korzystanie z bezwzględnych ścieżek do katalogów nie jest zawsze wygodne. Na szczęście możliwe jest stosowanie ścieżek względnych. Jeśli argument polecenia cd nie rozpoczyna się od znaku ukośnika ani symbolu ~, argument będzie traktowany jako ścieżka względem bieżącego katalogu roboczego. Wyjątkiem od tej reguły jest polecenie $ cd - które przywraca poprzedni katalog roboczy. W użyciu ścieżek względnych szczególne zastosowanie mają symbol kropki (.) oraz ciąg dwóch kropek (..). Pierwszy oznacza bieżący katalog, drugi zaś katalog nadrzędny. Ćwiczenie 1.20. Przetestuj działanie poleceń: $ cd. $ cd.. Ćwiczenie 1.21. Nie wykonując poniższych poleceń, spróbuj odpowiedzieć na pytanie, jaki katalog będzie katalogiem roboczym na końcu (ciąg s123456 zastąp swoim loginem w sieci wydziałowej). $ cd /home/students/../students/s123456 $ cd. $ cd.././.. $ cd ftp $ cd - Zweryfikuj empirycznie swoje przypuszczenia. Zwróć uwagę, jak zachowuje się powłoka po wykonaniu polecenia cd -. 1.3.2 Polecenie ls Umiejętność poruszania się po katalogach jest bardzo ważna, równie ważna jest jednak umiejętność sprawdzenia zawartości wybranego katalogu. Do tego celu służy polecenie ls (ang. list). Ćwiczenie 1.22. Korzystając z polecenia ls, wymień nazwy elementów znajdujących się w Twoim katalogu domowym. Porównaj otrzymany wynik z efektem wykonania (w tym samym katalogu) polecenia ls -a. Jak myślisz, jaką własność mają pliki i katalogi, których nazwa rozpoczyna się od znaku kropki? Bartłomiej Przybylski Systemy operacyjne skrypt do ćwiczeń (2015SZ) 6

Ćwiczenie 1.23. Dowiedz się, za co odpowiada opcja -l polecenia ls, a następnie wykonaj w swoim katalogu domowym następujące polecenia: $ ls $ ls -a $ ls -l $ ls -l -a $ ls -a -l $ ls -la $ ls -al Powróć do pytania z końca ćwiczenia 1.15. Ćwiczenie 1.24. Zbadaj efekty wykonania następujących poleceń w swoim katalogu domowym, a jeśli któreś zwróci błąd, zapoznaj się z jego treścią: $ ls -R $ ls -ar $ ls -lar $ ls.. $ ls -l.bashrc $ ls Desktop My Documents Za co odpowiada opcja -R? Dlaczego w ostatnim przykładzie użyto cudzysłowu? 1.3.3 Tworzenie plików i katalogów polecenia touch i mkdir Jak to działa? W systemie plików przechowywane są informacje o następujących chwilach w czasie (datach), związanych z plikami i katalogami znajdującymi się na dysku: data ostatniego dostępu do pliku/katalogu (access), data ostatniej modyfikacji zawartości pliku/struktury katalogu (modify), data ostatniej zmiany w metadanych pliku/katalogu (change). Ćwiczenie 1.25. Korzystając z polecenia stat, dowiedz się, jakie daty są przechowywane w kontekście Twojego katalogu domowego. Systemy z rodziny *NIX pozwalają tworzyć pliki na wiele różnych sposobów. Kilka z nich poznamy na kolejnych ćwiczeniach, aktualnie jednak wykorzystamy w tym celu polecenie touch. Program touch pozwala zmodyfikować związane z plikiem lub katalogiem daty dostępu, modyfikacji lub zmiany na bieżące, a jeśli wskazany plik nie istnieje, to zostanie utworzony. Ćwiczenie 1.26. Używając polecenia touch, utwórz w swoim katalogu domowym pliki o nazwach plik1.txt, plik2.txt oraz plik3.txt. Postaraj się ograniczyć liczbę wykonanych poleceń do minimum. Ćwiczenie 1.27. Spróbuj wykonać następujące polecenie: $ touch SOP/ Zastanów się, dlaczego nie został utworzony ani plik, ani katalog o nazwie SOP. Bartłomiej Przybylski Systemy operacyjne skrypt do ćwiczeń (2015SZ) 7

Ćwiczenie 1.28. Zmodyfikuj datę ostatniego dostępu (access) do pliku plik1.txt w katalogu domowym na 2001-02-03 04:05:06. Skorzystaj z dokumentacji programu touch, aby dowiedzieć się, jak to zrobić. Podobnie jak pliki, można tworzyć katalogi. Do tego zadania służy polecenie mkdir (ang. make directory). Przyjmuje ono jako argumenty nazwy katalogów, które mają zostać utworzone. Ćwiczenie 1.29. Utwórz w swoim katalogu domowym katalog o nazwie SOP oraz zmień na niego aktualny katalog roboczy. Ćwiczenie 1.30. Wywołując polecenie mkdir jednokrotnie, utwórz w katalogu SOP katalogi kat1 oraz kat2. Ćwiczenie 1.31. Utwórz w katalogu ~/SOP/kat1 następującą strukturę katalogów:. A B C D E F G H Dowiedz się, za co odpowiada opcja -p polecenia mkdir i skorzystaj z niej, aby ułatwić sobie pracę. 1.3.4 Usuwanie plików i katalogów polecenia rmdir i rm Do usuwania pustych katalogów służy polecenie o nazwie rmdir. Podobnie jak mkdir, przyjmuje ono opcję -p o analogicznym działaniu (ale odwróconym). Ćwiczenie 1.32. Wykorzystaj polecenie rmdir do usunięcia katalogu H utworzonego w ćwiczeniu 1.31. Ćwiczenie 1.33. Korzystając z podręcznika programu rmdir, odpowiedz na pytanie, jak zinterpretowane zostanie polecenie $ rmdir -p A/B/C/D/E/F Jakie katalogi zostaną usunięte, jeśli powyższe polecenie zostanie wywołane w katalogu ~/SO- P/kat1? Sprawdź swoje przypuszczenia. Aby wyświetlić bieżącą strukturę plików i katalogów, skorzystaj z polecenia tree. Ćwiczenie 1.34. Korzystając z polecenia rmdir, jak najmniejszym nakładem sił usuń pozostałości ćwiczenia 1.31 z katalogu ~/SOP/kat1. Do usuwania plików służy komenda rm (ang. remove). Przyjmuje ona jako argumenty nazwy plików, które mają zostać usunięte. Ćwiczenie 1.35. Usuń ze swojego katalogu domowego plik plik1.txt. W tym celu wykonaj polecenie: $ rm ~/plik1.txt Bartłomiej Przybylski Systemy operacyjne skrypt do ćwiczeń (2015SZ) 8

Usuń pliki plik2.txt oraz plik3.txt, wywołując polecenie rm z opcją -i. Porównaj sposób zachowania programu. Ćwiczenie 1.36. Spróbuj usunąć pusty katalog ~/SOP/kat2, wykonując polecenie $ rm ~/SOP/kat2 Zastanów się, dlaczego program rm zwrócił błąd. Ćwiczenie 1.37. W katalogu ~/SOP/kat2 utwórz plik o dowolnej nazwie. Usuń całą strukturę katalogów (razem z nowo utworzonym plikiem) wykonując polecenie $ rm -r ~/SOP Dowiedz się, jaką funkcję pełni opcja -r. Czy można ją połączyć z opcją -i? Ćwiczenie 1.38. Dowiedz się, czym się różnią polecenia rm oraz shred. Którego z nich lepiej użyć do usunięcia wrażliwych informacji? 1.3.5 Przenoszenie i kopiowanie plików i katalogów polecenia mv oraz cp Do przenoszenia plików i katalogów służy polecenie mv. Aby lepiej zaobserwować zjawiska opisywane w tym punkcie, możesz skorzystać z dowolnego edytora tekstu, aby wypełnić tworzone pliki zawartością. Ćwiczenie 1.39. Utwórz w swoim katalogu domowym katalog o nazwie SOP oraz pliki o nazwach plik.txt oraz inny.txt. Wykonaj polecenia: $ mv plik.txt nowy.txt $ mv inny.txt nowy.txt katalog $ mv inny.txt nowy.txt SOP $ cd SOP $ mv inny.txt nowy.txt $ mv nowy.txt.. Sprawdź efekty po wykonaniu każdego z nich. Dlaczego drugie z poleceń zwróciło błąd? Jak zachowuje się polecenie mv jeśli ostatni argument jest: (a) nazwą nieistniejącego pliku/katalogu, (b) nazwą istniejącego pliku, (c) nazwą istniejącego katalogu? Ćwiczenie 1.40. Korzystając z dowolnego edytora tekstu, utwórz w katalogu domowym pliki plik1.txt oraz plik2.txt i wypełnij je dowolną treścią. Zapisz je na dysku w kolejności tworzenia (tak, aby plik plik2.txt był zapisany później). Wykonaj w odpowiednim katalogu roboczym polecenie $ mv -u plik1.txt plik2.txt Dowiedz się, za co odpowiada opcja -u programu mv i zweryfikuj otrzymane efekty. Ćwiczenie 1.41. W katalogu domowym utwórz katalog SOPA. Wewnątrz utwórz katalogi o nazwach 1, 2 oraz 3. Uprzednio zmieniając katalog roboczy na SOPA, wykonaj polecenie $ mv * Co się stało? Dlaczego? Do kopiowania plików służy polecenie cp. Jego użycie jest bardzo zbliżone do użycia polecenia mv, chociaż polecenie cp jest bardziej restrykcyjne, jeżeli chodzi o obsługę katalogów. Bartłomiej Przybylski Systemy operacyjne skrypt do ćwiczeń (2015SZ) 9

Ćwiczenie 1.42. W katalogu SOP utwórz katalogi 1, 2, 3 oraz pliki plik.txt, plik.c oraz plik.conf. Utworzone pliki wypełnij dowolną treścią, korzystając z dowolnego edytora tekstu. Wykonaj następujące polecenia: $ cp plik.txt plik.cpp $ cp plik.txt plik.cpp plik.py $ cp -i plik.txt plik.py $ cp -i plik.txt plik.c $ cp plik.c 1 $ cp plik.txt plik.conf 1 $ cp 1 2 $ cp -r 1 2 $ cp -r 1 N Sprawdź efekty po wykonaniu każdego z nich. Dlaczego drugie i siódme z poleceń zwróciło błąd? Jak zachowuje się polecenie cp jeśli ostatni argument jest: (a) nazwą nieistniejącego pliku/katalogu, (b) nazwą istniejącego pliku, (c) nazwą istniejącego katalogu? Za co odpowiadają opcje -i oraz -r? Czy polecenie cp przyjmuje opcję -u? Jeśli tak, to jak ona działa? Bartłomiej Przybylski Systemy operacyjne skrypt do ćwiczeń (2015SZ) 10