Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii. Materiały pomocnicze do zajęć z przedmiotu SYSTEMY OPERACYJNE



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

Linux: System Plików

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

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

"Klasyczna" struktura systemu operacyjnego:

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

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

Systemy Operacyjne I: System plików

Pracownia Komputerowa wyk ad II

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

Ćwiczenie 1. Podstawowe wiadomości

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Pracownia Komputerowa wykład II

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Ćwiczenie 9 Linux - operacje systemu plików

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

System plików Linuxa. Tomasz Borzyszkowski

Warstwy systemu Windows 2000

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Podstawy Informatyki. Wykład 3 UNIX

Prawa dostępu do plików

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

System plików. Podstawy systemu Linux

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

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Linux cz.3: polecenia systemowe, ćwiczenia

Znaki globalne w Linuxie

Spis treści JĘZYK C - PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI, REKURENCJA. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Temat zajęć: Wprowadzenie oraz obsługa systemu plików.

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Typy plików. Oznaczenie f -

Linux. Uprawnienia pliku / katalogu, właściciel pliku, UID, GID, sticky bit.

Spis treści JĘZYK C - OPERATORY BITOWE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32

Pracownia komputerowa. Dariusz wardecki, wyk II

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

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

Programowanie 1. Wprowadzenie do bash-a. Elwira Wachowicz. 06 lutego 2012

Spis treści JĘZYK C - ŚLEDZENIE WYKONANIA PROGRAMU, DEBUGGER. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

UNIX SYSTEM PLIKÓW. UNIX System plików

Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii. Materiały pomocnicze do zajęć z przedmiotu SYSTEMY OPERACYJNE

Przykładowa konfiguracja systemu komputerowego

Podstawy systemów UNIX

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

BASH - WPROWADZENIE Bioinformatyka 4

Podstawy użytkowania Linux a

Wstęp do systemów wielozadaniowych laboratorium 03 Praca z plikami, c.d.

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

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Ćwiczenia Linux konsola

2. System uprawnień w linuxie

Wstęp do informatyki Shell podstawy

1 Przygotował: mgr inż. Maciej Lasota

Powłoka, redyrekcja, potok

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

Konsola Linux. autor: Mariusz Barnaś

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

System operacyjny Linux wybrane zagadnienia. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Pracownia Komputerowa wykład III

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

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

Instalacja Systemu Linux na maszynie writualnej

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

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

LABORATORIUM 6-7 WSTĘP DO SIECI TELEINFORMATYCZNYCH SYSTEM OPERACYJNY UNIX

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

Praca semestralna. Temat: Użytkownicy, grupy, autoryzacja i uprawnienia w systemie Linux. CENTRUM EDUKACJI AKADEMIA SUKCESU

WIELODOSTĘPNE SYSTEMY OPERACYJNE 1 (SO1)

Zakład Systemów Rozproszonych

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Metodyki i techniki programowania

Pliki w systemie operacyjnym Linux

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

Laboratorium Ubuntu Linux.

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

Utwórz na pulpicie katalog: pierwsza-litera-imienia_nazwisko (np. j_kowalski). W tym katalogu zapisz pliki, które będą tworzone w ramach ćwiczenia

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

Podstawy Informatyki. Wykład 4 Komendy UNIXa, cd

Technologie Informacyjne - Linux 2

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

Technologie Informacyjne - Linux 1

S P I S POLECEŃ LINUXA

Podstawy Informatyki. Historia systemu UNIX. Wielozadaniowość i wielodostęp. Twórcy. Metalurgia, I rok. Systemy UNIX. Systemy UNIX

Podstawy Informatyki. Metalurgia, I rok. Wykład 2 UNIX

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

DOS Podstawowe komendy Przygotowanie dyskietki do pracy Praca z katalogami w systemie DOS Operacje kopiowania

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

Windows XP Wiersz polecenia

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Chemiateoretyczna. Monika Musiał. Ćwiczenia

Prawa dostępu do plików (1)

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

Podstawy Informatyki. Michał Pazdanowski

Trochę o plikach wsadowych (Windows)

Szybki start instalacji SUSE Linux Enterprise Desktop 11

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

EDYTOR TEKSTOWY VIM WYBRANE POLECENIA. Pracownia Informatyczna 5

Szybki start instalacji SUSE Linux Enterprise Server 11 SP1

Transkrypt:

Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Materiały pomocnicze do zajęć z przedmiotu SYSTEMY OPERACYJNE Kod przedmiotu: F***** Ćwiczenie pt. PODSTAWY SYSTEMU LINUX / UNIX: TYPY PLIKÓW, PRAWA DOSTĘPU DO PLIKÓW, STRUKTURA KATALOGÓW Pracownia numer 6 Autor: Jarosław Forenc (2002) Aktualizacja: Jarosław Forenc (2006) Białystok 2006

Cel ćwiczenia: Zapoznanie studentów z podstawami pracy w systemie operacyjnym Unix / Linux. Wstęp Unix jest wielozadaniowym, wielodostępnym, w znacznej mierze przenośnym systemem operacyjnym opracowanym w Laboratoriach Bella (AT&T). Wersja 1 systemu napisana przez Kena Thompsona w języku asembler, powstała w 1969 r. z przeznaczeniem na prawie już zapomniany komputer PDP-7. Ponieważ stało się jasne, że największą przenośność można osiągnąć jedynie wtedy, gdy bardzo duża część systemu napisana jest w języku wysokiego poziomu, toteż Ken Thompson stworzył język B, przekształcony dalej przez Denisa Ritchiego w język C. Stał się on od 1973 r. podstawowym językiem, w którym stworzono system Unix. Dzięki temu możliwa stała się implementacja systemu prawie niezależnie od sprzętu (90 % w języku C, jedynie od 1000 do 2000 linii kodu w odpowiednim asemblerze). Nazwę Unix zaproponował Brian W. Kernighan. Zaakceptowano ją około roku 1970. Być może jest ona zdrobnieniem nazwy Multics, nadanej dużemu systemowi wielodostępnemu, z którego korzystało kilku z pierwszych twórców Unixa. W latach 1970-75 tworzone były kolejne wersje, ale dopiero w roku 1978 wersja 7 na minikomputer PDP-11/70 stała się pierwszą wersją standardową. Od 1980 r. datują się pierwsze implementacje Unixa na 16-bitowe procesory firm Zilog i Motorola. W roku 1982 powstaje Unix System III, a w 1984 r. Unix System V/2 (System V edycja druga) - jednolita wersja Unixa dla różnych typów mikroprocesorów. Duże znaczenie dla popularności systemu miała decyzja o jego rozpowszechnianiu w szkołach wyższych, co prawda nieodpłatnie, ale pod warunkiem używania go tylko do pracy naukowej, bez celów zarobkowych. Unix był nazwą zastrzeżoną prawnie przez Bell Systems Software, toteż firmy i instytucje posiadające licencje używały dla tego systemu innych nazw. Są to m.in.: - AIX - system firmy IBM, - Digital UNIX - system firmy Digital Equipment Corporation, - HP-UX - system firmy Hewlett-Packard, - Linux - bezpłatny system operacyjny autorstwa Linusa Torvaldsa (dostępnych jest wiele dystrybucji Linuxa, m.in.: Slackware, Debian, Red Hat, S.U.S.E.), - SCO UNIX - system firmy Santa Cruz Operation, Inc., - Solaris - system firmy Sun, - IRIX. 2

1. PODSTAWY SYSTEMU UNIX Unix składa się z jądra systemowego (ang. kernel) realizującego centralne mechanizmy systemowe (system plików, zarządzanie procesami, sterowanie obsługą sprzętu, itd.) oraz dużej liczby bibliotek i programów użytkowych. Funkcje jądra dostępne są poprzez funkcje systemowe (ang. system calls), stanowiące najniższy poziom współpracy systemu operacyjnego z wszystkimi programami wykonywanymi pod jego kontrolą. Za pomocą funkcji systemowych odbywa się inicjowanie nowych procesów, otwieranie plików, czytanie, pisanie, zmiana praw dostępu do plików, odczyt zegara systemowego, zatrzymanie wykonywanego programu, itp. Wywołanie funkcji systemowych może odbywać się bezpośrednio z programu użytkownika lub pośrednio poprzez dalsze warstwy systemu (biblioteki, narzędzia, programy użytkowe). System plików w Unixie ma hierarchiczną strukturę drzewiastą (ang. tree structured hierarchical file system), a mówiąc dokładniej - odwróconego drzewa. Korzeń tego drzewa (ang. root) oznaczany jest symbolem ukośnika / (ang. slash). Węzły drzewa są katalogami mogącymi zawierać pliki lub dalsze katalogi (również mogące zawierać pliki lub katalogi, itd.). W Unixie istnieją cztery rodzaje plików (choć w niektórych książkach można znaleźć informację, że jest ich nawet osiem): - pliki zwykłe (ang. files), są najbardziej popularnym rodzajem plików, zawierają po prostu bajty. Plik zwykły może być programem wykonywalnym, dokumentem tekstowym, plikiem graficznym, kodem źródłowym programu w języku C, Fortran, itp. - katalogi (ang. directories), mogą zawierać pliki dowolnego typu, - pliki specjalne reprezentujące urządzenia (ang. special files), służą do komunikacji programów systemu Unix ze sprzętem systemowym i urządzeniami zewnętrznymi, - łącza nazwane (pliki FIFO), umożliwiają komunikację między dwoma niezależnymi procesami uruchomionymi na tej samej maszynie. Pełna nazwa pliku (ang. absolute pathname) jest ścieżką prowadzącą do tego pliku od korzenia. W nazwie /home/ketim/plik pierwszy z lewej ukośnik / oznacza korzeń - katalog główny systemu plików (ang. root directory), a następne ukośniki są rozdzielaczami. Nazwy nie rozpoczynające się od symbolu / są nazwami plików w ich katalogach (ang. relative pathname). Każdemu aktywnemu użytkownikowi jeden z katalogów służy w danej chwili jako katalog aktualny (ang. current directory). Pozwala to na używanie nazw plików skróconych o ścieżkę dostępu do aktualnego katalogu. W katalogu głównym systemu Unix znajduje się szereg podkatalogów systemowych. Są to m.in. 3

- /bin - (ang. binaries) - zawiera najważniejsze komendy Unixa jako skompilowane wersje programów lub wykonywalne procedury napisane w języku powłoki (tzw. skrypty), - /dev - (ang. devices) - zawiera pliki specjalne odpowiadające programom obsługi dostępnych w systemie urządzeń wejścia-wyjścia (drukarki, terminale, modemy, dyski, itp.), - /etc - zawiera lokalne pliki startowe i konfiguracyjne (m.in. plik passwd zawierający hasła), - /home - zawiera katalogi użytkowników z wyjątkiem administratora systemu, - /lib - (ang. libraries) - zawiera biblioteki programów, - /lost+found - przeznaczony jest na pliki, które straciły swoje dotychczasowe powiązanie z systemem plików, - /mnt - katalog służący do przyłączania do niego woluminów, tj. systemów plików na wymienialnych nośnikach danych np. dyskietkach, - /proc - zawiera obrazy wszystkich działających procesów w systemie, - /root - katalog administratora systemu, zazwyczaj znajduje się na innej partycji niż katalogi zwykłych użytkowników, - /sbin - zawiera tylko najważniejsze programy i polecenia potrzebne do startu i podstawowego administrowania, - /tmp - zawiera pliki tymczasowe tworzone przez różne programy, wszyscy użytkownicy mają prawo czytania i pisania w tym katalogu, - /usr - zawiera katalogi użytkowników, katalogi z programami usługowymi, bibliotekami, itp., - /var - zawiera wszystkie pliki, które są często zapisywane lub których rozmiar często się zmienia. W systemie Unix rozróżniane są małe i duże litery. Nazwa pliku nie musi zawierać żadnych rozszerzeń. Jedynie programy usługowe stosują często taką konwencję, że część nazwy po kropce wskazuje na zawartość pliku (np. plik.c - program źródłowy w języku C, plik.p - program źródłowy w języku Pascal, plik.a - program źródłowy w asemblerze). Kropka w Unixie jest znakiem o specjalnym znaczeniu. Od kropki zaczynają się nazwy plików ukrytych (np..profile,.pinerc ). Pojedyncza kropka jako argument komendy oznacza aktualny katalog roboczy. Dwie kropki jako argument komendy oznaczają katalog nadrzędny w stosunku do katalogu roboczego. Część nazwy pliku występującej jako argument komendy może być zastąpiona przez metaznaki *,?, [, ]. 4

W systemie praw dostępu do plików (ochrony plików) Unixa rozróżnialne są trzy klasy użytkowników: - użytkownik (ang. user), czyli właściciel pliku, - grupa (ang. group), do której należy właściciel pliku, - inni (ang. other) użytkownicy, nie należący do grupy właściciela. Powyższe trzy klasy użytkowników określane są wspólnym mianem wszystkich (ang. all). Prawa dostępu do plików podawane są symbolicznie w następujący sposób: drwxrwxrwx Poszczególne prawa oznaczają: - r (ang. read) - prawo do czytania, prawa dla innych (o) prawa dla grupy (g) prawa dla użytkownika (u) typ pliku: "d" - katalog, "-" - zwykły plik Dla zwykłych plików oznacza prawo do odczytania (oglądania) ich zawartości oraz prawo do ich skopiowania. Wykonanie powyższych operacji wymaga nadania prawa wykonywania -x dla katalogu, w którym znajdują się te pliki. Dla katalogów oznacza prawo do odczytania nazw plików w nich znajdujących się. - w (ang. write) - prawo do pisania, Dla zwykłych plików oznacza prawo do ich edycji, czyli zmiany, usunięcia lub dopisania ich zawartości. Usunięcie zawartości pliku nie jest tożsame z fizycznym usunięciem pliku. Wykonanie powyższych operacji wymaga nadania prawa wykonywania -x dla katalogu, w którym znajdują się te pliki. Dla katalogów oznacza prawo do tworzenia nowych i przenoszenia lub usuwania istniejących w nich plików. Prawo pisania dla katalogu oznacza również możliwość zmiany nazw plików. - x (ang. execute) - prawo do wykonywania, Dla zwykłych plików oznacza możliwość ich wykonywania. Dla katalogów oznacza możliwość wejścia do katalogu, czyli zmianę danego katalogu na bieżący. 5

Jeśli w przedstawionym wcześniej schemacie praw dostępu zamiast litery występuje kreska, to oznacza to, że dane prawo jest odebrane. Prawa dostępu do plików może zmienić tylko jego właściciel lub administrator używając polecenia chmod. W systemie Unix rozróżnialne są dwa rodzaje użytkowników: zwykli użytkownicy oraz programiści systemowi. Każdy nowy użytkownik musi być włączony do systemu przez administratora (programistę systemowego). Do pliku haseł /etc/passwd wpisywane są wtedy następujące informacje: - nazwa użytkownika, - hasło, - identyfikator (numer) użytkownika (uid, ang. user identification), - identyfikator (numer) grupy, do której należy użytkownik (gid, ang. group identification), - dowolna informacja o użytkowniku (np. imię i nazwisko), - katalog użytkownika (ang. login directory), - nazwa programu inicjowanego po otwarciu sesji użytkownika (ang. loginshell). Swoją nazwę i hasło (ang. login i password) użytkownik musi każdorazowo podać, aby móc otworzyć sesję. Hasło użytkownika zapisane jest w pliku /etc/passwd w formie zakodowanej. Po otwarciu sesji użytkownik znajduje się w swoim katalogu standardowym (ang. login directory). Uruchamiany jest dla niego pierwszy proces aktywny przez cały czas trwania sesji. Jest to tzw. powłoka (ang. shell) będąca interpreterem komend podawanych przez użytkownika z klawiatury. Inicjalizuje ona dla każdej komendy dalsze procesy, na których wykonanie powłoka czeka (procesy synchroniczne), lub które przebiegają równolegle drugoplanowo (procesy asynchroniczne). Powłoka inicjowana dla użytkownika przy otwieraniu sesji wykonuje najpierw skrypt systemowy definiujący dalsze elementy bezpośredniego otoczenia użytkownika (skrypt ten jest plikiem ukrytym znajdującym się w katalogu standardowym użytkownika, zazwyczaj nosi on nazwę.profile ). W systemie Unix mogą występować różne rodzaje powłok. Najbardziej znane to: sh, csh, rsh, vsh, shl, ksh, bash. Zamknięcie sesji w systemie następuje po wpisaniu polecenia exit. 6

2. OPIS WYBRANYCH POLECEŃ SYSTEMU UNIX cat łączy pliki i drukuje ich zawartość na standardowym wyjściu cat opcje plik... Polecenie to czyta podane pliki i wyprowadza ich zawartość na standardowym wyjściu (najczęściej jest to ekran monitora). Jeśli w linii polecenia podany jest plik wyjściowy, do którego należy skierować wyjście (poprzez znak przekierowania > ), to pliki wejściowe zostaną jeden za drugim wpisane do niego. Opcje: -s - zapobiega wypisywaniu ostrzeżeń o nieistniejących plikach, -v - powoduje uwidocznienie znaków sterujących, za wyjątkiem tabulacji, nowej linii i nowej strony. cat data - drukuje na ekranie zawartość pliku data, cat data1 data2 > data3 - kopiuje pliki data1 i data2 do pliku data3, cat data1 data2 > data1 - w pliku data1 znajdzie się tylko zawartość pliku data2, gdyż poprzednia zawartość pliku data1 zostanie usunięta, cat data1 data2 >> data3 - dołącza pliki data1 i data2 na koniec data3, cat > data - czyta z wejścia standardowego (klawiatury) poszczególne znaki, aż do wystąpienia znaku końca pliku (Ctrl+D), wpisując je do pliku data. cd zmienia bieżący katalog cd katalog Polecenie to powoduje, że katalogiem roboczym (ang. working directory) staje się katalog podany jako argument polecenia. W przypadku braku argumentu katalogiem bieżącym staje się katalog domowy użytkownika. 7

cd - zmienia katalog na domyślny katalog domowy użytkownika, cd / - zmienia katalog na katalog główny (ang. root directory), cd.. - zmienia katalog na katalog nadrzędny w stosunku do dotychczasowego katalogu, cd /home - zmienia katalog na /home. chgrp zmienia grupy właścicieli plików chgrp grupa plik... Polecenie zmienia identyfikator grupy dla podanych plików. Nowa grupa musi być nazwą lub numerycznym identyfikatorem grupy wpisanej w pliku /etc/group. chgrp studenci dane - zmienia nazwę grupy pliku dane na studenci. chmod zmienia prawa dostępu do plików chmod tryb plik... Polecenie to zmienia prawa dostępu do plików. Prawa te może zmienić tylko właściciel pliku lub programista systemowy. Tryb może być liczbą ósemkową lub wyrażeniem symbolicznym. Tryb jako liczba ósemkowa jest sumą wartości przedstawionych poniżej. 8

user group other rwx rwx rwx 001 002 004 010 020 040 100 200 400 Tryb wyrażony symbolicznie ma postać: kto +-= prawo r (read) - prawo do czytania w (write) - prawo do pisania x (execute) - prawo do wykonywania + - nadać prawo - - odebrać prawo = - usunąć wszystkie oprócz podanych u (user) - użytkownik czyli właściciel g (group) - grupa o (others) - inni a (all) - wszyscy chmod 777 data - nadaje wszystkim wszystkie prawa do pliku data, chmod 764 data - nadaje wszystkie prawa właścicielowi pliku data, prawo czytania i pisania grupie oraz prawo czytania pozostałym użytkownikom, chmod 700 data - nadaje wszystkie prawa właścicielowi pliku data i odbiera pozostałe prawa innym użytkownikom, chmod g+x data - nadaje grupie prawo wykonywania (pozostałe prawa pozostają niezmienione) pliku data, chmod g-r data - odbiera grupie prawo czytania (pozostałe prawa pozostają niezmienione) pliku data, chmod ug=r data - nadaje użytkownikowi i grupie prawo czytania pliku data, usuwa pozostałe prawa. 9

chown zmienia właściciela pliku chown opcje nowy_właściciel plik... Polecenie zmienia identyfikator właściciela podanych plików na identyfikator nowy_właściciel, który musi być nazwą lub numerycznym identyfikatorem użytkownika wpisanego w pliku haseł /etc/passwd. Zmianę identyfikatora właściciela pliku może wykonać jedynie właściciel pliku lub administrator. Opcje: -f - nie wypisuje komunikatów o błędach dla plików, których właściciela nie udało się zmienić, -R - operuje również na podkatalogach, rekurencyjnie zmienia właściciela katalogów i ich zawartość. chown student zadanie - właścicielem pliku zadanie staje się użytkownik student. cp kopiuje pliki cp plik1 plik2 cp plik1 plik2... katalog Polecenie to w pierwszej postaci kopiuje plik plik1 na plik o nazwie plik2. Jeśli plik plik2 już istnieje to jego zawartość zostanie usunięta przed kopiowaniem. Jeśli ostatnim argumentem polecenia jest katalog (postać druga) to pliki podane przed nazwą katalogu zostaną przekopiowane do niego. Pliku nie można kopiować na plik o takiej samej nazwie. cp /etc/passwd /home/ketim - kopiuje plik passwd z katalogu /etc do katalogu /home/ketim, cp /etc/passwd /home/ketim/hasla - kopiuje plik passwd z katalogu /etc do katalogu /home/ketim zmieniając jego nazwę na hasla, 10

cp /home/ketim/* /usr/ketim - kopiuje wszystkie pliki z katalogu /home/ketim do katalogu /usr/ketim. df podaje rozmiar wolnego obszaru pamięci dyskowej df opcje urządzenie... Polecenie to podaje liczbę wolnych bloków i węzłów plików na urządzeniu. Urządzenie jest nazwą urządzenia logicznego, np. /dev/root. Jeśli argument urządzenie nie zostanie podany, to wyświetlana jest informacja o całej wolnej przestrzeni na wszystkich przyłączonych woluminach. W niektórych systemach podawana jest liczba 512-bajtowych bloków, w innych - liczba kilobajtów. Opcje: -t - podaje dodatkowo liczbę zajętych bloków urządzenia, -f - podaje liczbę wolnych bloków urządzenia. df -f /usr/local/a - podaje liczbę wolnych bloków znajdujących się w systemie plików przyłączonych do katalogu /usr/local/a. du podaje rozmiar pamięci dyskowej zajętej przez pliki du opcje plik... Polecenie to podaje ilość 512-bajtowych bloków zajmowanych przez plik podany jako argument polecenia. Jeśli plik jest katalogiem, to wyświetlana jest informacja dotycząca plików znajdujących się w tym katalogu. Jeśli plik nie zostanie podany, to wyświetlana jest informacja dotycząca aktualnego katalogu. Opcje: -a - podaje liczbę bloków dla każdego pojedynczego pliku, 11

-r - wyświetla komunikat o błędzie, w przypadku, gdy polecenie du, nie może przeszukać katalogu, -s - podaje tylko sumaryczną liczbę bloków. du -s /home - podaje liczbę bloków zajmowanych przez katalog /home i wszystkie znajdujące się w nim pliki. ln tworzy dowiązanie do pliku ln plik1 plik2 ln plik... katalog Polecenie tworzy dowiązanie do pliku plik1 lub plik. W pierwszej postaci plikowi plik1 zostaje nadana nowa nazwa plik2. Plik ten będzie dostępny pod obiema nazwami. W drugiej postaci tworzone jest dowiązanie do plików z podanego katalogu. Dowiązania można tworzyć tylko w obrębie jednego urządzenia logicznego. Plik ulega tylko wtedy fizycznemu usunięciu, gdy usunięte zostanie ostatnie dowiązanie do niego. ln test1 test2 - plik test1 będzie dostępny pod nazwą test2. ls wyprowadza spis zawartości katalogu ls opcje plik... Polecenie to wyświetla spis zawartości podanych katalogów. Jeśli polecenie nie ma podanych argumentów (plików lub katalogów) to wyświetla zawartość katalogu aktualnego. Sposób wyświetlania listy może być zmieniony za pomocą opcji. Opcje: -a - wyświetla wszystkie wpisy do katalogu (również nazwy plików ukrytych rozpoczynających się od kropki), 12

Przykład: ls -a./.bash_history.bash_profile.kde/.mailcap.screenrc../.bash_logout.bashrc mail/.pinerc tmp/ -d - jeśli plik jest katalogiem, to wyświetla tylko jego nazwę, a nie zawartość, -F - przy wyświetlaniu oznacza katalogi znakiem ukośnika /, a pliki wykonywalne znakiem gwiazdki *, -i - wyświetla numer węzła pliku (ang. i-node number) w pierwszej kolumnie wyprowadzanej listy, -l - wyświetla zawartość katalogu w formacie długim. Przykład: total 12 drwxr-xr-x 5 ketim ketim 4096 Feb 1 10:57 desktop drwx------ 2 ketim ketim 4096 May 15 10:50 mail -rw-rw-r-- 1 ketim ketim 10 May 16 21:51 plik nazwa pliku czas ostatniej zmiany data ostatniej zmiany rozmiar w bajtach nazwa grupy właściciela pliku nazwa właściciela pliku liczba łączników do pliku prawa dostępu do pliku typ pliku -m - nazwy plików wyświetlane są w jednej linii i oddzielane przecinkami. -r - odwraca kolejność wyświetlanej informacji. -s - wyświetla listę plików wraz z ich wielkością w blokach po 0,5kb, -t - sortuje pliki wg czasów ostatniej modyfikacji, jako pierwsza podana będzie nazwa najpóźniej modyfikowanego pliku. man wyświetla elektroniczną wersję podręcznika man polecenie Polecenie to wyświetla informacje dotyczące polecenia podanego jako argument. 13

mkdir tworzy nowy katalog mkdir katalog... Polecenie to tworzy w aktualnym katalogu podkatalogi o podanych nazwach. Aby móc założyć katalog użytkownik musi mieć prawo pisania w aktualnym katalogu. Właścicielem katalogu staje się użytkownik, który go założył. mkdir kat1 - tworzy w aktualnym katalogu podkatalog o nazwie kat1, mkdir kat1 kat2 - tworzy w aktualnym katalogu dwa podkatalogi o nazwach kat1 i kat2. mv przenosi lub zmienia nazwę plików mv plik1 plik2 mv plik... katalog Polecenie to w pierwszej postaci zmienia nazwę pliku z plik1 na plik2. Jeśli plik o tej ostatniej nazwie już istniał, to najpierw się go usuwa. W drugiej postaci zaś przenosi wyspecyfikowane pliki do podanego katalogu. Poleceniem tym nie można usunąć pliku przenosząc go na niego samego. mv data_old data_new - zmienia nazwę pliku data_old na data_new jeśli plik o nazwie data_new już istniał, to zostanie usunięty, mv data /home/ketim/ - przenosi plik data z bieżącego katalogu do katalogu /home/ketim, mv /home/ketim/* /usr/ketim - przenosi wszystkie pliki (poza ukrytymi, których nazwy zaczynają się od kropki) z katalogu /home/ketim do katalogu /usr/ketim. 14

pwd podaje pełną nazwę aktualnego katalogu roboczego pwd Polecenie to podaje pełną nazwę aktualnego katalogu roboczego. rm usuwa pliki rm opcje plik... Polecenie to usuwa wyspecyfikowane pliki (w rzeczywistości usuwa wpis pliku w katalogu, a jeśli do pliku istniał tylko jeden łącznik, to dopiero wtedy usuwa plik z dysku). Opcje: -i - przed usunięciem każdego pliku wyświetlane jest pytanie o potwierdzenie usunięcia, -f - usuwa pliki bez uprzedzenia, nawet w przypadku, gdy są chronione przed zapisem, -r - usuwa całą zawartość katalogu oraz sam katalog. rmdir usuwa katalogi rmdir katalog... Polecenie to usuwa wyspecyfikowane katalogi. Aby katalogi zostały usunięte muszą być puste (nie mogą zawierać żadnych innych plików lub katalogów). rmdir /home/ketim/tmp - usuwa podkatalog tmp znajdujący się w katalogu /home/ketim, 15

touch zmienia datę i czas ostatniej modyfikacji pliku touch opcje data plik... Polecenie zmienia datę i czas modyfikacji podanych plików na aktualne lub podane jako argument wywołania. W tym celu odczytuje pierwszy znak z pliku, a następnie ponownie go zapisuje. Jeśli plik nie istniał, to zostanie utworzony. Data i czas podawane są w postaci mmddhhmm[yy], czyli miesiąc dzień godzina minuta rok. Opcje: -a - zmiana daty i czasu ostatniego dostępu do pliku, -m - zmiana daty i czasu ostatniej modyfikacji pliku, -c - jeśli plik nie istniał, to zostanie stworzony. umask ustawia maskę praw dostępu do nowych plików umask maska Polecenie ustawia nową maskę praw dostępu do nowotworzonych plików użytkownika. Maska podawana jest w postaci trzycyfrowej liczby ósemkowej (zob. opis polecenia chmod ), a bity maski ustawione na jedynkę oznaczają, że dane prawo dostępu ma nie być udzielone. Polecenie wywołane bez parametrów wyświetla aktualnie ustawioną wartość maski. umask 077 - ustawia prawa dostępu w taki sposób, że właściciel nowotworzonych plików będzie miał wszystkie prawa dostępu do niego, a pozostali użytkownicy nie będą mieli żadnych praw. 16

LITERATURA: [1] Lal K., Rak T.: Linux. Komendy i polecenia. Praktyczne przykłady, Helion, Gliwice, 2005. [2] Newham C., Rosenblatt B.: bash. Wprowadzenie, Helion, Gliwice, 2006. [3] Ray D.S., Ray E.J.: Po prostu Unix, Helion, Gliwice 2000. [4] Marczyński J.: UNIX: użytkowanie i administrowanie, Helion, Gliwice 2000. [5] Armstrong J., Taylor D.: Unix dla każdego, Helion, Gliwice 2000. [6] Ball B., Pitts D.: Red Hat Linux 6. Księga Eksperta, Helion, Gliwice 2000. [7] Medinets D.: Unix: narzędzia programowania powłok, Wydawnictwo PLJ, Warszawa 2000. [8] Goodheart B., Cox J.: Sekrety magicznego ogrodu: Unix System V wersja 4 od środka: podręcznik, WNT, Warszawa 2001. [9] Arthur L.J., Burns T.: Unix. Programowanie w shellu, Mikom, Warszawa 1998. [10] Nemeth E., Snyder G., Seebass S., Hein T.R.: Przewodnik administratora systemu Unix, WNT, Warszawa 1998. [11] Silvester P.: System operacyjny Unix, WNT, Warszawa 1991. [12] Robak S.: XENIX. Wielodostępny, wieloprogramowy system operacyjny (Unix System V), Zielona Góra, 1991. 17

Wymagania BHP Warunkiem przystąpienia do praktycznej realizacji ćwiczenia jest zapoznanie się z instrukcją BHP i instrukcją przeciw pożarową oraz przestrzeganie zasad w nich zawartych. Wybrane urządzenia dostępne na stanowisku laboratoryjnym mogą posiadać instrukcje stanowiskowe. Przed rozpoczęciem pracy należy zapoznać się z instrukcjami stanowiskowymi wskazanymi przez prowadzącego. W trakcie zajęć laboratoryjnych należy przestrzegać następujących zasad: Sprawdzić, czy urządzenia dostępne na stanowisku laboratoryjnym są w stanie kompletnym, nie wskazującym na fizyczne uszkodzenie. Sprawdzić prawidłowość połączeń urządzeń peryferyjnych. Jeżeli istnieje taka możliwość, należy dostosować warunki stanowiska do własnych potrzeb, ze względu na ergonomię. Monitor komputera ustawić w sposób zapewniający stałą i wygodną obserwację dla wszystkich członków zespołu. Załączenie komputera może się odbywać po wyrażeniu zgody przez prowadzącego. Zabronione jest dokonywanie jakichkolwiek przełączeń w urządzeniach oraz wymiana elementów składowych pod napięciem. Konfiguracja sprzętu (np. konfiguracja systemu operacyjnego, ustawienie parametrów monitora) może się odbywać wyłącznie w porozumieniu z prowadzącym zajęcia. W trakcie pracy z komputerem zabronione jest spożywanie posiłków i picie napojów. W przypadku zaniku napięcia zasilającego należy niezwłocznie wyłączyć komputer i monitor z sieci elektrycznej. Stwierdzone wszelkie braki w wyposażeniu stanowiska oraz nieprawidłowości w funkcjonowaniu sprzętu należy przekazywać prowadzącemu zajęcia. W przypadku zakończenia pracy należy zakończyć sesję przez wydanie polecenia wylogowania. Zamknięcie systemu operacyjnego może się odbywać tylko na wyraźne polecenie prowadzącego. 18