SPIS TREŚCI 1. WIADOMOŚCI OGÓLNE... 3 2. ZARZĄDZANIE SYSTEMEM LINUX... 3 3. WIELODOSTĘPNOŚĆ... 4 4. SYSTEMY PLIKÓW I STRUKTURA FOLDERÓW...



Podobne dokumenty
Znaki globalne w Linuxie

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Linux cz.3: polecenia systemowe, ćwiczenia

Przeznaczenie partycji

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

1 Przygotował: mgr inż. Maciej Lasota

Pracownia Komputerowa wykład II

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

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Linux: System Plików

Bash - wprowadzenie. Bash - wprowadzenie 1/39

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

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

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

Ćwiczenie nr 14: System Linux

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

Konsola Linux. autor: Mariusz Barnaś

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

Technologie Informacyjne - Linux 2

Pracownia Komputerowa wyk ad II

Ćwiczenia Linux konsola

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Wstęp do systemu Linux

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

Trochę o plikach wsadowych (Windows)

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

Wstęp do obsługi Linux a

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

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

Ćwiczenie 9 Linux - operacje systemu plików

Pracownia Komputerowa wykład III

2. System uprawnień w linuxie

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

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

Systemy operacyjne. Programowanie w shellu: BASH. Wydział Inżynierii Metali i Informatyki Przemysłowej

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

BASH - WPROWADZENIE Bioinformatyka 4

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Ćwiczenie 1. Podstawowe wiadomości

Technologie Informacyjne - Linux 3

MS-DOS polecenia wewnętrzne i

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

System operacyjny Linux

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

Wstęp do obsługi Linux a

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

Powłoka, redyrekcja, potok

S P I S POLECEŃ LINUXA

Przekierowanie wejścia wyjścia:

Pracownia Komputerowa wykład III

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr

Szkolenie AGH Linux. Nie bój się konsoli i zdaj kolosa na 5.0!!! Tytuł wcale nie przesadzony ;)

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

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Systemy Operacyjne I: System plików

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

Narzędzia informatyczne w językoznawstwie

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

Moduł 4: Strumienie, potoki, sterowanie procesami

Linux Leksykon komend i poleceń Opracował: Andrzej Nowak

Dodatek nr 1: Niektóre polecenia systemu Linux (shell tcsh) A) Informacje wstępne

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

PODSTAWY INFORMATYKI

Przypomnienie komend linux'a.

Informatyka III : Instrukcja 1

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Powstanie Linuxa Linus Torvalds fiński programista, twórca Linuxa

Podstawy użytkowania Linux a

Chemiateoretyczna. Monika Musiał. Ćwiczenia

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Instalacja Systemu Linux na maszynie writualnej

Test. Administrowanie sieciowymi systemami operacyjnymi

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

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

Wstęp do systemu Linux

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

Współczesne systemy komputerowe

skrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: pierwsza linia określa powłokę, w której wykonywany jest skrypt; druga to komentarz

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

Typy plików. Oznaczenie f -

Powłoka bash. Kurs systemu Unix 1

Wstęp do informatyki Shell podstawy

System Linux - użytkowanie

Akademia Górniczo-Hutnicza im. St. Staszica. Unix/Linux 3. procesy, archiwa i inne Tomasz Bartuś

PODSTAWY INFORMATYKI

1. Linux jest systemem operacyjnym; powstał na bazie rodziny systemów Unix, będąc w założeniach jego wolną alternatywą.

Systemy operacyjne Programowanie w języku powłoki sh

Skrypty powłoki w systemie Linux

Prawa dostępu do plików

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012

Podstawy systemów UNIX

Okiełznać Pingwina.... czyli podstawy systemu GNU/Linux

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

Instrukcja SO powłoka BASH i skrypty powłoki Istotne jest zrozumienie działania narzędzia history powłoki BASH. Każde polecenie wprowadzone i

Uruchamianie zadań w środowisku CLUSTERIX z wykorzystaniem klienta tekstowego systemu GRMS

Transkrypt:

SPIS TREŚCI 1. WIADOMOŚCI OGÓLNE... 3 2. ZARZĄDZANIE SYSTEMEM LINUX... 3 3. WIELODOSTĘPNOŚĆ... 4 4. SYSTEMY PLIKÓW I STRUKTURA FOLDERÓW... 5 5. UZYSKIWANIE POMOCY SYSTEMOWEJ... 6 6. ZARZĄDZANIE PLIKAMI I FOLDERAMI... 7 7. ZARZĄDZANIE PAKIETAMI... 8 8. UPRAWNIENIA DO PLIKÓW I FOLDERÓW... 8 9. PRZEKIEROWANIE STRUMIENIA DANYCH... 11 PRZYKŁAD 9.1. PRZEŁĄCZANIE STANDARDOWEGO WEJŚCIA... 12 PRZYKŁAD 9.2. PRZEŁĄCZANIE STANDARDOWEGO WYJŚCIA... 12 PRZYKŁAD 9.3. PRZEŁĄCZANIE STANDARDOWEGO WYJŚCIA BŁĘDÓW... 13 10. POTOKOWANIE STRUMIENIA DANYCH... 14 11. ARCHIWIZACJA I KOMPRESJA ZBIORÓW... 15 PRZYKŁAD 11.1 TWORZENIE I ROZPAKOWYWANIE ARCHIWUM... 15 PRZYKŁAD 11.2 KOMPRESJA I DEKOMPRESJA ARCHIWUM.TAR... 16 PRZYKŁAD 11.3 KOMPRESJA I DEKOMPRESJA ZAWARTOŚCI FOLDERU... 16 PRZYKŁAD 11.4 KOMPRESJA I DEKOMPRESJA PODCZAS TWORZENIA I ROZPAKOWYWANIA ARCHIWUM... 17 12. SKRYPTY POWŁOKI... 18 PRZYKŁAD 12.1 PRZEDSTAW SIĘ... 19 PRZYKŁAD 12.2 ŚRODOWISKO UŻYTKOWNIKA... 19 PRZYKŁAD 12.3 NAZWA MIESIĄCA... 20 PRZYKŁAD 12.4 LICZBY OD 1 DO 10... 20 PRZYKŁAD 12.5 WYSZUKIWANIE PLIKÓW W FOLDERZE... 20 PRZYKŁAD 12.6 LISTA WYBORU... 20 PRZYKŁAD 12.7 LICZY NATURALNE OD 1 DO N... 20 PRZYKŁAD 12.8 LICZBY PARZYSTE... 21 2

1. Wiadomości ogólne Linux jest systemem wielozadaniowym, co umożliwia mu wykonywanie więcej niż jednego procesu jednocześnie. Za realizację wielozadaniowości odpowiedzialne jest jądro systemu operacyjnego. Wielozadaniowość zapewniona jest między innymi przez program zwany planistą, który realizuje algorytm szeregowania zadań w kolejce do przyznania czasu procesora. Linux może wykorzystywać wiele procesorów. Gdy system ma mniej dostępnych procesorów niż zadań do wykonania, czas działania procesora jest dzielony pomiędzy wszystkie zadania. 2. Zarządzanie systemem Linux Większość systemów Linux oferuje wywłaszczanie, które polega na przerwaniu wykonywania procesu, odebraniu mu procesora i przekazaniu sterowania do planisty. W systemach bez wywłaszczania procesy muszą same dbać o sprawiedliwy podział czasu procesora. Do wyświetlenia listy uruchomionych procesów służy polecenie ps. Polecenie wyświetla tylko te procesy, których właścicielem jest użytkownik. Znaleźć można następujące informacje: PID identyfikator procesu TTY identyfikator konsoli z której proces został uruchomiony TIME- czas procesora wykorzystywany do tej pory CMD polecenie służące do uruchamiania procesu 3

Do wyświetlenia listy wszystkich procesów używamy polecenia ps A Do usuwania procesów z systemu służy polecenie kill identyfikator_pid np. kill 3016 Polecenie usuwa proces w sposób bezpieczny tzn. zamyka otwarte pliki i zwalnia obszary pamięci. Jeżeli nie jest możliwe zamknięcie procesu za pomocą powyższego polecenia to należy dopisać po słowie kill -9. 3. Wielodostępność Linux jest systemem wielodostępnym, oznacza to, że wielu użytkowników może z niego jednocześnie korzystać. Każdy użytkownik ma przydzielone zasoby, do których nikt oprócz niego nie ma dostępu, chyba że je udostępnił (bądź posiadamy uprawnienia administratora). O uprawnieniach do korzystania z zasobów decyduje administrator. Aby sprawdzić z jakiego w danym momencie konta korzystam wystarczy wpisać polecenie whoami, natomiast aby sprawdzić, kto w danym momencie jest zalogowany do systemy używamy polecenia who. Zalogowani użytkownicy mogą wysyłać do siebie wiadomości korzystając z polecenia write nazwa_użytkownika Treść_wiadomości 4

Po skończeniu wpisywania wiadomości należy wcisnąć kombinację [Ctrl]+[d]. Aby wysłać wiadomość do wszystkich zamiast polecenia write używamy polecenia wall analogicznie jak wyżej. 4. Systemy plików i struktura folderów Podczas instalacji Linuxa tworzona jest struktura folderów na dysku bądź dyskach zainstalowanych w komputerze. Standardowe foldery tworzone podczas instalacji to: / - folder główny /bin - przechowywane w nim są standardowe polecenia systemu Linux /dev przechowuje pliki reprezentujące punkty dostępu do urządzeń systemowych, np. napędy CD/DVD /etc przechowuje administracyjne pliki konfiguracyjne /home przechowuje foldery domowe użytkowników /mnt odpowiada za lokalizację montowanych urządzeń, takich jak systemy plików, urządzenia wymienne /root folder domowy administratora systemu /sbin przechowuje polecenia służące do administrowania systemem oraz uruchamiające procesy /tmp przechowuje pliki tymczasowe aplikacji /usr przechowuje dokumentacje systemu i zainstalowane aplikacje /boot przechowuje jądro systemu /var przechowuje foldery danych różnych aplikacji, serwera FTP lub serwera WWW System plików ( system systemów plików ) w Linuxie można traktować jako pojedyncze drzewo. Jeśli dołączymy do systemu plików jakiś dodatkowy nośnik danych to jego system plików zostanie doczepiony do systemu głównego. Miejsce doczepiania nazywane jest punktem montowania. Aby wyświetlić informacje o wszystkich zamontowanych systemach plików używamy polecenia df. Do zamontowania systemu plików stosujemy polecenie mount identyfikator_urządzenia punkt_montowania np.: mount /dev/sdb1 /mnt natomiast aby odmontować system plików wystarczy wpisać polecenie umount punkt_montowania lub umount identyfikator_urządzenia Można również wzbogacić polecenie mount o parametr -t pozwalający podać system plików montowanego urządzenia. Polecenie przyjmuje wtedy postać mount -t system_plików identyfikator_urządzenia punkt_montowania Najczęściej używane systemy plików to: msdos - FAT12 5

vfat - FAT ntfs - NTFS iso9660 system mcd/dvd Identyfikatory urządzenia: /dev/fd0 stacja dyskietek /dev/cdrom napęd CD/DVD /dev/hda1 partycja na dysku ATA /dev/sda1 partycja na dysku SATA lub SCSI /dev/sdb1 pamięć flash Uwagi! Nie można odmontować systemu plików aktualnie używanego. Montowanie możliwe jest dla użytkownika z uprawnieniami root. 5. Uzyskiwanie pomocy systemowej System Linux dysponuje systemem pomocy, która dostępna jest dla każdego użytkownika podczas pracy. Aby skorzystać z pomocy wydajemy polecenie man nazwa_polecenia np. man kill 6

Wielkość liter we wpisywanych parametrach, nazwach pleceń, nazwach plików i folderów ma znaczenie. Polecenia wpisujemy zawsze małymi literami. Aby wywołać ostatnio używane polecenia wystarczy użyć strzałek do góry i w dół. Jeśli początkowa część polecenia, którego chcemy użyć jest unikatowa to można automatycznie uzupełnić nazwę tego polecenia za pomocą [Tab]. Zasada ta dotyczy również plików i folderów. Aby zakończyć działania polecenia wystarczy wcisnąć kombinację klawiszy [Ctrl]+[C] 6. Zarządzanie plikami i folderami Najczęściej używane polecenia do zarządzania plikami i folderami to (przykłady wykonywane z lokalizacji /home/marcin): mkdir ścieżka/nazwa folderu utworzenie folderu o np. mkdir Pulpit/nowy rmdir /nazwa_folderu usunięcie pustego folderu o np. rmdir Pulpit/nowy cp ścieżka/nazwa_pliku ścieżka2 kopiowanie pliku o np. cp Pulpit/ddd.tar /home/marcin o np. cp ddd.tar Pulpit mv ścieżka/nazwa_pliku ścieżka2 przenoszenie pliku o np. mv Pulpit/ddd.tar /home/marcin o np. mv Pulpit/ddd.tar. (przenoszenie do folderu bieżącego) o np. mv Pulpit/ddd.tar ~ (przenoszenie do folderu domowego) o np. mv ddd.tar Pulpit rm nazwa_pliku usuwanie pliku o np. rm Pulpit/ddd.tar o np. rm ddd.tar o np. rm /home/marcin/ddd.tar (polecenie wykonane z dowolnej lokalizacji) rm -r nazwa_katalogu rekurencyjne usuwanie katalogu z zawartością rm -fr nazwa_katalogu usuwanie katalogu z zawartością bez potwierdzenia cd ścieżka zmiana katalogu (przechodzenie pomiędzy katalogami) cd.. - przejście do katalogu nadrzędnego (wstecz) cd / - przejście do folderu / 7

pwd wyświetlenie aktualnej lokalizacji (katalogu) ls wyświetlenie listy plików i folderów w bieżącym folderze ls -la wyświetlenie listy plików i folderów z atrybutami i uprawnieniami w bieżącym folderze ls -a wyświetlenie listy wraz z plikami ukrytymi touch plik.txt tworzenie pliku tekstowego cat plik.txt wyświetlenie zawartości pliku find przeszukiwane_miejsce -name nazwa_pliku (lub *.rozszerzenie_pliku) szukanie plików o np. find Pulpit -name *.txt 7. Zarządzanie pakietami sudo apt-cache search nazwa_pakietu wyszukiwanie pakietów sudo apt-get install nazwa_pakietu instalacja pakietu sudo apt-get remove nazwa_pakietu usuwanie pakietu sudo dpkg -i nazwa_pakietu.deb instalowanie pakietów Debiana 8. Uprawnienia do plików i folderów Każdy użytkownik nie będący administratorem Linuxa ma dostęp tylko do niektórych plików. Dzięki temu nikt nie może zmodyfikować zasobów należących do innego użytkownika. Do każdego pliku jest przypisany identyfikator właściciela u, który stworzył ten plik, oraz grupy g, czyli zbioru użytkowników, którzy mają do tego pliku uprawnienia, w przeciwieństwie do pozostałych o. Istnieją trzy podstawowe prawa dostępu do pliku r prawo do odczytu w prawo do zapisu x prawo do uruchomienia Prawa te są nadawane niezależnie właścicielowi pliku, grupie, do której użytkownik należy i pozostałym użytkownikom. Aby dowiedzieć się jakie uprawnienia są przypisane dla poszczególnych plików, używa się polecenia ls l (lub ls la) Każdy plik i folder w systemie Linux posiada 10 bitów protekcji w formacie drwxrwxrwx, gdzie: bit 1 identyfikacja rodzaju pliku: o d folder 8

o - - plik o l link do pliku bit 2-4 uprawnienia właściciela pliku bit 5-7 uprawnienia grupy, do której należy użytkownik bit 8-10 uprawnienia pozostałych użytkowników Kreska - oznacza brak uprawnienia Administrowanie uprawnieniami możliwe jest w oparciu o polecenie chmod, np. chmod go+w zrzut_ekranu-5.png Powyższe polecenie do pliku zrzut_ekranu-5.png dodaje (+) uprawnienia zapisu (w) dla grupy (g) i pozostałych użytkowników (o). Każde z uprawnień ma przypisany odpowiedni parametr cyfrowy: r prawo do odczytu 4 w prawo do zapisu 2 x prawo do uruchomienia 1 - - brak praw 0 Dodając do siebie odpowiednie parametry zestawu trzech praw, uprawnienia możemy przedstawić za pomocą jednej cyfry, np.: --- 0 brak praw r-- 4 prawo do odczytu rw- 6 prawo do zapisu i odczytu rwx 7 prawo do zapisu, odczytu i uruchomienia r-x 5 prawo do odczytu i uruchomienia -w- 2 prawo do zapisu --x 1 prawo do uruchomienia 9

Przykładowo polecenie chmod 642 zrzut_ekranu.png spowoduje w pliku zrzut_ekranu.png przydzielenie uprawnień: zapisu i odczytu (rw-) dla właściciela pliku odczyt (r--) dla grupy,do której należy użytkownik zapis (-w-) dla pozostałych użytkowników Właścicielem każdego pliku i folderu jest użytkownik ((s)twórca) i grupa użytkowników. Przenieść własność zbioru na innego użytkownika może tylko administrator. Do zmiany właściciela używamy polecenia postaci chown użytkownik:grupa plik Przykładowo polecenie chown student:uczniowie zrzut_ekranu-1.png spowoduje zmianę właściciela pliku zrzut_ekranu-1.png na student i grupy na uczniowie. 10

9. Przekierowanie strumienia danych Każdy uruchomiony w Linuxie proces pobiera skądś dane, wysyła wyniki swojego działania i komunikaty o błędach. Dane przesyłane są między urządzeniami w postaci strumieni. Rodzaje strumieni danych: stdin standardowe wejście, z którego pobiera dane (domyślnie jest to klawiatura) stdout standarodwe wyjście, z którego wysyłany jest wynik działania procesu (domyślnie jest to ekran) stderr standardowe wyjście błędów, gdzie trafiają wszystkie komunikaty o błędach (domyślnie ekran) 11

LInux wszystkie urządzenia traktuje jak pliki, niezależnie od tego, czy jest to plik, folder, urządzenie blokowe (klawiatura, ekran), czy strumień. Powłoka Linuxa identyfikuje je za pomocą przyporządkowanych im liczb całkowitych, tak zwanych deskryptorów plików: 0 plik, z którego proces pobiera dane (stdin) 1 plik, do którego proces wysyła dane (stout) 2 plik, do którego trafiają komunikaty o błędach (stderr) Za pomocą operatorów przypisania można manipulować strumieniami poprzez przypisanie deskryptorów 0,1,2 innym plikom niż tym, które reprezentują klawiaturę i ekran. Do przekierowania służą trzy operatory: < - umożliwia przekierowanie zawartości pliku do standardowego wyjścia > - umożliwia przekierowanie standardowego wyjścia danych do pliku, jeżeli plik istnieje to zostanie nadpisana jego zawartość >> - umożliwia przekierowanie standardowego wyjścia danych do pliku, jeżeli plik istnieje to dane zostaną dopisane na końcu pliku Przykład 9.1. Przełączanie standardowego wejścia Jako standardowe wejście użyjemy pliku komunikat.txt. Zawartość pliku komunikat.txt: placki kopytka naleśniki Użyjemy polecenia sort < komunikat.txt Powyższe polecenie jako standardowe wejście użyje pliku komunikat, posortuje zawartość pliku i wyświetli rezultat na ekranie. Przykład 9.2. Przełączanie standardowego wyjścia Używając polecenia ls la > /home/marcin > /home/marcin/pulpit/wynik 12

lista plików i folderów znajdujących się w folderze marcin zostanie zapisana w pliku wynik znajdującym się na Pulpicie. Jeśli plik nie istniał, to zostanie utworzony. Jeśli natomiast znajdował się już na Pulpicie, to jego zawartośc zostanie usunięta i nadpisana. Aby nie usuwać zawartości pliku należy użyć polecenia ls la >> /home/marcin > /home/marcin/pulpit/wynik Przykład 9.3. Przełączanie standardowego wyjścia błędów Użyjemy błędnego polecenia ls y 2 > /home/marcin/pulpit/error 13

Komunikat o błędach składni polecenia zostanie przesłany do pliku error znajdującym się na Pulpicie. Podobnie jak powyżej, jeśli plik nie istnieje do zostanie utworzony. Aby nie usuwać zawartości istniejącego pliku (tylko dopisać nową treść na jego końcu) należy użyć polecenia 10. Potokowanie strumienia danych ls y 2> /home/marcin/pulpit/error Zastosowanie znaku pozwala na łączenie wyjścia jednego z polecenia z wejściem innego polecenia. Dane wygenerowane za pomocą pierwszego polecenia przekazane zostaną na wejście następnego polecenia i po przetworzeniu przekazane na wejście kolejnego lub na ekran. Tego typu przetwarzanie danych nazywane jest potokowaniem. Do najczęściej wykorzystywanych poleceń w potokach należą: more służy do przeglądania tekstu strona po stronie, jeden ekran naraz, przewijanie stron jest możliwe tylko do przodu o np. ls -la more less podobnie jak more, przewijanie możliwe jest w obu kierunkach o np. ls -ls less cat polecenie wyświetla na ekranie zawartość pliku tekstowego o np. cat plik.txt less grep poszukuje wskazany strumień danych, szukając linii zawierających ciąg znaków pasujących do podanego wzorca o np. cat plik.txt grep slowo wc wypisuje liczbę bajtów, słów lub linii w plikach o np. ls -la wc -l Przykładowym potokiem danych jest polecenie ls -la grep zrzut_ekranu wc l Polecenie kolejno: generuje listę plików i folderów w obecnej lokalizacji (ale jej nie wypisuje) przeszukuje wygenerowaną listę w poszukiwaniu ciągu znaków zrzut_ekranu 14

zlicza ilość linii zawierających wskazany ciąg znaków 11. Archiwizacja i kompresja zbiorów Podstawowym programem do obsługi archiwów w Linuxie jest program tar. Program tar domyślnie tworzy archiwum rekurencyjnie, tzn. z podfolderami, umieszczając w nim wszystko, co znajdzie się we wskazanym folderze (łącznie z ukrytymi plikami i folderami). Składnia polecenia jest następująca tar opcje nazwa_archiwum plik Najczęściej używane opcje to c tworzenie archiwum v podczas tworzenia archiwum wyświetlane będą nazwy zbiorów f użycie wskazanego pliku jako archiwum x wyodrębnienie zbiorów z archiwum Przykład 11.1 Tworzenie i rozpakowywanie archiwum tar -cvf archiwum.tar 1.png 2.png 3.png mkdir rozpakowane cp archiwum.tar rozpakowane cd rozpakowane tar -xvf archiwum.tar 15

Powyższy ciąg poleceń kolejno: tworzy archiwum o nazwie archiwum.tar zawierające pliki 1.png, 2.png, 3.png tworzy folder o nazwie rozpakowane kopiuje archiwum.tar do folderu rozpakowane przechodzi do folderu rozpakowane wyodrębnia pliki z archiwum.tar Najczęściej używanym programem do kompresji zbiorów jest gzip. Podczas kompresji plik oryginalny jest usuwany z systemu. Przykład 11.2 Kompresja i dekompresja archiwum.tar gzip archiwum.tar gunzip archiwum.tar.gz Pierwsze polecenie kompresuje archiwum.tar, drugie dekompresuje skompresowany plik archiwum.tar.gz. Kompresji możemy poddać całe foldery wraz z podfolderami. Podczas kompresji folderu każdy plik kompresowany jest oddzielnie. Przykład 11.3 Kompresja i dekompresja zawartości folderu gzip -r rozpakowane gunzip -r rozpakowane kompresja zawartości folderu rozpakowane dekompresja zawartości folderu rozpakowane 16

Przykład 11.4 Kompresja i dekompresja podczas tworzenia i rozpakowywania archiwum tar -czvf arch.tgz 1.png 2.png cp arch.tgz rozpakowane2 tar -xzvf arch.tgz tworzenie skompresowanego archiwum arch.tgz kopiowanie archiwum do folderu rozpakowane2 rozpakowywanie skompresowanego archiwum arch.tgz 17

12. Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których zapisane są polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby uruchomić skrypt należy: zawartość zapisać w pliku z rozszerzeniem.bat nadać uprawnienia do wykonywania tego pliku (x) uruchomić skrypt poleceniem./nazwa_pliku.bat Przykładowy skrypt może składać się z następujących poleceń: #!/bin/bash #Pierwszy skrypt powłoki echo Witaj świecie Linia pierwsza wskazuje na powłokę, która będzie wykonywać skrypt. Znak # oznacza komentarz, natomiast polecenie echo powoduje wydrukowanie komunikatu na ekranie. Najczęściej używane polecenia w skryptach: echo wyświetla komunikat na ekranie read czyta ze standardowego wejścia pojedynczy wiersz zmienne programowe zmienne definiowane samodzielnie przez użytkownika, do zmiennej odwołujemy się poprzez podanie jej nazwy poprzedzonej znakiem $ zmienne specjalne zmienne powłoki, które są udostępniane użytkownikowi tylko (z reguły) do odczytu, np. o $0 nazwa bieżącego skryptu lub powłoki o $$ - PID procesu bieżącej powłoki zmienne środowiskowe definiują środowisko użytkownika, np. o $HOME ścieżka do folderu domowego o $USER login użytkownika o $HOSTNAME nazwa hosta o $OSTYPE rodzaj systemu operacyjnego instrukcja warunkowa if o składnia if warunek then polecenie1 else polecenie2 fi test służy do sprawdzania warunków, o składnia test wyrazenie1 operator wyrazenie2 lub [wyrażenie1 operator wyrażenie2] o przykładowe operatory -e plik istnieje == - równość wyrażeń!= - różność wyrażeń -d folder istnieje -r plik do odczytu -w plik do zapisu -x plik wykonywalny -lt mniejsze niż 18

-gt większe niż -le mniejsze lub równe -ge większe lub równe instrukcja case o składnia case zmienna in wartosc1 ) polecenie1;; wartosc2 ) polecenie2;; *) polecenie_domyslne esac pętla for o składnia for zmienna in lista do polecenie done pętla select generuje numerowaną listę wyboru o składnia zmienna in lista do polecenie done pętla while o składnia while warunek do polecenie done pętla until o składnia until warunek do polecenie done Przykład 12.1 Przedstaw się #!/bin/bash echo "Podaj imie: " read imie echo "Podaj nazwisko: " read nazwisko echo "Nazywam sie $imie $nazwisko" Przykład 12.2 Środowisko użytkownika #!/bin/bash echo $USER echo $HOME echo $HOSTNAME echo $OSTYPE echo $0 echo $$ 19

Przykład 12.3 Nazwa miesiąca #!/bin/bash echo "Podaj liczbe miesiaca: " read m case "$m" in "1") echo "Styczeń";; "2") echo "Luty";; "3") echo "Marzec";; "4") echo "Kwiecień";; "5") echo "Maj";; "6") echo "Czerwiec";; "7") echo "Lipiec";; "8") echo "Sierpień";; "9") echo "Wrzesień";; "10") echo "Październik";; "11") echo "Listopad";; "12") echo "Grudzień";; *) echo "Wybrano złą liczbę" esac Przykład 12.4 Liczby od 1 do 10 #!/bin/bash for i in 1 2 3 4 5 6 7 8 9 10 do echo "$i" done Przykład 12.5 Wyszukiwanie plików w folderze #!/bin/bash for n in *.bat do echo $n done Przykład 12.6 Lista wyboru #!/bin/bash echo "Co wybierasz? " select n in x y z quit do case $n in "x") echo "Wybrałeś x";; "y") echo "Wybrałeś y";; "z") echo "Wybrałeś z";; "quit") exit;; *) echo "Zły wybór" esac break done Przykład 12.7 Liczy naturalne od 1 do n #!/bin/bash i=1 20

echo "Podaj liczbe: " read n; while test $i -le $n do echo $i i=$[i+1] done Przykład 12.8 Liczby parzyste #!/bin/bash i=1 until test $i == 2 do k=2 echo "Podaj liczbe: " read n while test $k -le $n do echo $k k=$[k+2] done echo "Czy chcesz wygenerować nowe liczby? (t/n)" read wybor case $wybor in "t") i=1;; "n") i=2;; esac done 21