Pracownia Komputerowa III UNIX i Internet



Podobne dokumenty
PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

1 Przygotował: mgr inż. Maciej Lasota

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Konsola Linux. autor: Mariusz Barnaś

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

Znaki globalne w Linuxie

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

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Technologie Informacyjne - Linux 2

Pracownia Komputerowa wykład II

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

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

Linux cz.3: polecenia systemowe, ćwiczenia

Podstawy użytkowania Linux a

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

Linux: System Plików

BASH - WPROWADZENIE Bioinformatyka 4

Ćwiczenia Linux konsola

Chemiateoretyczna. Monika Musiał. Ćwiczenia

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

Pracownia Komputerowa wyk ad II

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

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

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

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

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

System operacyjny Linux

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

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

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Ćwiczenie nr 14: System Linux

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Pracownia Komputerowa wykład III

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

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

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

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

Powłoka (shell) Powłoka ksh

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

Przekierowanie wejścia wyjścia:

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

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

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

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

Ćwiczenie 1. Podstawowe wiadomości

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

Systemy Operacyjne I: Procesy

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

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

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

Informatyka III : Instrukcja 1

Przypomnienie komend linux'a.

Sieci komputerowe. Wstęp do systemu Linux/UNIX, część I. Ewa Burnecka / Janusz Szwabiński. ewa@ift.uni.wroc.pl / szwabin@ift.uni.wroc.

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

Wstęp do systemu Linux

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

Podstawy Informatyki. Wykład 4 Komendy UNIXa, cd

Systemy Operacyjne I: System plików

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

Wstęp do informatyki Shell podstawy

Wprowadzenie do programowania w powłoce

Technologie Informacyjne - Linux 3

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

Powłoka bash. Kurs systemu Unix 1

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

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

Linux. Wprowadzenie do systemu.

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

System Linux - użytkowanie

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

Pracownia Komputerowa wykład III

Wstęp do obsługi Linux a

UNIX i internet (PK3)

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

- wszystkie elementy - wszystkie elementy

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

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak

Wstęp do obsługi Linux a

2. System uprawnień w linuxie

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

LINUX. 1. Wprowadzenie: Poznańska Szkoła Bioinformatyki, 2006 Anna Czerwoniec, Łukasz Kościński

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

Architektura systemów informatycznych. Powłoka systemowa Architektura procesora

Prawa dostępu do plików (1)

Skrypty powłoki w systemie Linux

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

Technologie informacyjne lab. 4

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Lista poleceń: arch - wywietla informacje na temat budowy komputera na którym pracujesz awk - interpreter skryptowego języka programowania bzip2

1. Wyrażenia regularne. Symbole w wyrażeniach regularnych 1 :

S P I S POLECEŃ LINUXA

Ćwiczenie 9 Linux - operacje systemu plików

Moduł 4: Strumienie, potoki, sterowanie procesami

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

Powłoka interpreter poleceń systemu UNIX

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

Transkrypt:

Pracownia Komputerowa III UNIX i Internet Rafał Jakubowski Zespół Teoretycznej Biofizyki Molekularnej Email: rjakubowski@fizyka.umk.pl http://www.fizyka.umk.pl/~rjakubowski Pokój 573 Konsultacje: środy, 10-12

Warunki zaliczenia Obecność (max. 2 nieusprawiedliwione nieobecności) Kolokwium (lub dwa) Możliwe WEJŚCIÓWKI

Kolokwia i wejściówki Jedno duże pod koniec semestru bądź dwa mniejsze (jedno np. pod koniec kwietnia) Wejściówka forma motywowania do pracy

Dlaczego UNIX/Linux? Źródło: http://top500.org/charts/list/37/osfam

Kilka kart z historii 1969 pierwszy UNIX z powłoką, kod maszynowy (Thompson, Richie, Bell Labs i AT&T) 1973 jądra UNIX'a w C == przenaszalność systemu 1975 Unix zaczyna być używany do celów naukowych 1983 pierwszy komercyjny UNIX (AT&T) Początek lat 80 XX wieku blokada kodów źródłowych UNIX'a, początki ruchu open source

Kilka kart z historii cd. 1983 - Richard Stallman tworzy Free Software Foundation 1984 początki internetu; zostaje wydany UNIX z zaimplementowanym protokołem TCP/IP W międzyczasie powstają różne wersje (komercyjne i wolne) UNIX'ów brak standardu 1988 specyfikacja POSIX ujednolicenie 1991 Linus Torvalds publikuje pierwsze jądro Linuxa

Kilka kart z historii cd. 1994 powstaje Red Hat Linux dziś jedna z najbardziej dojrzałych dystrybucji

Linux dzisiaj Ogromna ilość dystrybucji (Red Hat/Fedora/CentOS, Debian/Ubuntu, Slackware, SuSE, Arch...) Ogromna ilość darmowych aplikacji Powszechne wykorzystywanie UNIXa/Linuxa w nauce i przemyśle, a także coraz częściej w domach Mnóstwo sprzętu i oprogramowania, w których siedzi zaszyty Linux (routery, drukarki, Android...)

Dostęp do serwerów wydziałowych Login: numer indeksu OpenVPN wydziałowa furtka na świat Hasło: to samo co w USOSWebie ferm.fizyka.umk.pl (dostęp tylko z sieci wewnętrznej) tor, nobel, uran... Zewnętrzny serwer dostępowy: ameryk.fizyka.umk.pl

Ważne Regulamin wydziałowej sieci: http://www.fizyka.umk.pl/lan/

Główne cechy systemu Linux Wielozadaniaowość system z podziałem czasu, pozwala na uruchamianie wielu procesów jednocześnie Wielodostępowość umożliwia pracę wielu użytkownikom jednocześnie

Budowa systemu Jądro (kernel) niskopoziomowe oprogramowanie obsługujące sprzęt, dostarczające określone usługi programów (w tym: realizacja systemów plików, przydziału czasu procesora itp.) Powłoka (shell) interpreter poleceń, łącznik pomiędzy użytkownikiem a procesami/sprzętem, najpopularniejsze: tcsh, sh, bash

Budowa systemu cd. Biblioteki systemowe Oprogramowanie...

Pliki Ciąg bajtów Organizacja w postaci tzw. drzewa z korzeniem (root) / Do każdego pliku można odwołać się podająć ścieżkę względem korzenia (ścieżka bezwzględna) lub względem bieżącej lokalizacji(ścieżka względna) Katalog również jest plikiem zawiera informacje o innych plikach (lub katalogach)

Pliki Urządzenia zewnętrzne (drukarki, skanery, terminale...) również posiadają w swoim systemie własne, specjalne pliki, ułatwiające komunikację - /dev Również procesy (działające programy) posiadają własne procesy - /proc Nazwy max. 255 znaków, case sensitive! Prawa dostępu...

Gdzie szukać pomocy? man manual danego polecenia whatis krótki opis komendy Internet...

Komenda ls Składnia: ls -opcje Najważniejsze opcje: -l wyświetla dokładne informacje o plikach -a pokazuje pliki ukryte -s wyświetla rozmiar plików -R rekurencyjnie wyświetla zawartość katalogów wraz z podkatalogami -t wyświetla listę sortując względem czasu modyfikacji -S sortowanie wg rozmiarów plików

Komenda mkdir Tworzenie katalogów Składnia: mkdir nazwa_katalogu Opcja -p pozwala na utworzenie od razu całej gałęzi katalogów, np.: mkdir -p kat1/kat2/kat3...

Ćwiczenie: Komenda mkdir Utworzyć zestaw katalogów o następującym drzewie: zaj_2 ------kat_1 --------kat_1_1 ---------kat_1_1_1 --------kat_1_2 ---------kat_1_2_1 ---------kat_1_2_2

Ścieżka do bieżącego katalogu Komenda pwd Ćwiczenie: wykonać komendę pwd w aktualnym katalogu Wykonać komendy: cd /etc pwd Jaki jest wynik?

Ilość miejsca na dysku komenda du Komenda du służy do wyświetlania rozmiaru zajętej (i wolnej/dostępnej) przestrzeni dyskowej Składnia: du [opcje] plik Najważniejsze przełączniki: -b - podaje rozmiary w bajtach -k - podaje rozmiary w kilobajtach -m - podaje rozmiary w megabajtach -h - podaje rozmiary w ludzkiej formie -c - podsumowanie dla wszystkich plików

Tworzenie pustych plików Polecenie touch Wykonane na istniejącym pliku zmienia jego datę ostatniej modyfikacji touch nazwa_pliku Ćwiczenie: Utworzyć katalog zaj_touch utworzyć w nim pusty plik sprawdzić datę modyfikacji zmodyfikować datę modyfikacji sprawdzić poprawność wykonanego zadania

Komenda cp Kopiowanie plików i katalogów cp źródło przeznaczenie Jak skopiować katalog wraz z jego zawartością? cp -r nazwa_katalogu

Komenda cp Kopiowanie rekurencyjne Różnica między cp -r a cp -R

Usuwanie plików - rm nazwa_pliku Usuwanie pustych katalogów - rmdir nazwa_katalogu Jak usunąć niepusty katalog?

Usuwanie niepustych katalogów rm -r nazwa_katalogu opcja -f nie pytaj o potwierdzenie ( wymuszone usuwanie)

Podstawowe informacje o pliku Komenda: file nazwa_pliku

Znaki specjalne * - dopasowuje DOWOLNY ciąg znaków? - dopasowanie POJEDYNCZEGO znaki [znaki ] - dopasowuje jeden ze listy podanych znaków [^znaki ] - dopasowuje jeden znak, który NIE NALEŻY do podanej listy znaków {znaki1,znaki2,... } - dopasowuje jeden z podanych ciągów znaków np. ls *.txt wylistuje wszystkie pliki z rozszrzeniem txt

Informacje o systemie date podaje datę i czas systemowy cal wyświetla kalendarz finger: - informacje o aktualnie zalogowanych użytkownikach składnia: finger lub o konkretnym użytkowniku: składnia: finger user_id (login :)) whoami informacja o użytkowniku którym aktualnie jesteśmy

Informacje o systemie who lista zalogowanych użytkowników ZADANIE: sprawdzić jaka jest różnica między działaniem polecenia finger a who uname informacje o bieżącej maszynie

Narzędzia tekstowe cat wyświetla zawartość pliku, np.: cat /etc/passwd more wyświetla zawartość pliku strona po stronie, np.: more /etc/passwd less działa podobnie jak more, ale pozwala na poruszanie się po stronach w przód i w tył, np.: less /etc/passwd less i more wiele skrótów klawiszowych, dostępne po wciśnięciu h (q - wyjście)

Narzędzia tekstowe head wyświetla początek pliku, najważniejsze opcje: head -c X wyświetla X pierwszych znaków head -n X wyświetla Y pierwszych linii tail wyświetla koniec pliku, opcje takie same jak przy head (oczywiście w tym przypadku odnoszą się do końca pliku)

Porównywanie plików cmp porównuje pliki znak po znaku, składnia: cmp [opcje] plik1 plik2 Wiele przełączników (zajrzyj do man!), np. -c podaje różniące się znaki diff znajduje różnice między plikami; wynikiem działania polecenia jest wyświetlenie różniących się fragmentów każdego z plików wraz z informacją jakich zmian należy dokonać aby pliki stały się identyczne, np.: diff plik1 plik2

Informacje/operacje na plikach wc podaje informacje o ilości znaków/słów/linii w pliku, np.: wc -c /etc/passwd podaje liczbę znaków/bajtów wc -w /etc/passwd podaje liczbę słów w pliku wc -l /etc/passwd podaje liczbę linii w pliku

Edytory tekstu ci/vim lekki, dostępny (prawdopodobnie) wszędzie emacs potężne możliwości, również bardzo powszechny JOE łatwy w obsłudze

Kolejne polecenia Sortowanie zawartości pliku: sort [opcje] plik np.: sort jakis_plik.txt > plik_posortowany.txt posortuje linie pliku jakis_plik.txt i wynik zapisze w pliku o nazwie plik_posortowany.txt wybrane opcje: -u usuwa duplikaty -f wyłącza rozróżnianie wielkich i małych liter -r odwraca kolejność sortowania -n włącza sortowanie w trybie liczbowym (domyślnie sortowanie odbywa się wg łańcuchów znaków)

Polecenie sort cd. -k pozwala wybrać według której kolumny nastąpi sortowanie +liczba pozwala pominąć liczba pierwszych pól (domyślnie separatorem są znaki białe) -t separator pozwala zmienić typ separatora kolumn (domyślnie: znaki białe), np. sort -t ; -k 2 plik.csv posortuje plik.csv wg drugiej kolumny, używając ; jako separatora kolumn

Wyszukiwanie łańcuchów polecenie grep grep -opcje WZORZEC plik.txt Komenda poszukuje w zadanym pliku łańcucha znaków (można korzystać ze znaków specjalnych, a także tworzyć tzw. wyrażenia regularne) Najważniejsze opcje: -v wyświetla linie niepasujące do wzorca -i wyłączenie case sensitive -A liczba wyświetla liczba kolejnych linii -B liczba wyświetla liczba poprzednich linii

Potoki System umożliwia przekierowywanie standardowego wejścia/wyjścia właściwie każdego programu/komendy... Daje to potężne możliwości Potoki poleceń realizowane są za pomocą znaku, np.: cat /etc/passwd grep student wyszuka w pliku /etc/passwd linii ze słowem student

Potoki przekierowywanie operacji I/O komenda > plik przekierowuje wynik działania (wyjście) komendy do pliku (NADPISUJE w przypadku istnienia pliku o podanej nazwie) komenda >> plik przekierowuje wynik działania (wyjście) komendy do pliku (DOPISUJE na koniec pliku) komenda < plik Przekierowuje zawartość pliku do wejścia komendy/programu komenda << słowo przekierowuje wejście programu z klawiatury aż do wystąpienia zadanego słowa

Program do obsługi poczty PINE Konsolowy, ze stosunkowo przyjemnym interfejsem graficznym Pomoc dostępna cały czas u dołu ekranu

Polecenie tr Zamienia łańcuchy znaków, składnia: tr lancuch1 lancuch2 Najważniejsze przełączniki: -d usuwa podane w łańcuchu znaki -s usuwa wielokrotne występowanie podanych znaków Ćwiczenie: wyszukać swoją linijkę w pliku /etc/passwd i zamienić imię na słowo ja

Dowiązania do plików Dowiązania symboliczne a sztywne Komenda: ln plik nazwa_dowiązania dowiązanie symboliczne: ln -s plik nazwa_dowiązania Informacje o liczbie dowiązań: ls -l

Procesy, diagnostyka Wielozadaniowość wiele procesów wielu użytkowników jednocześnie Uruchamianie procesu w tle - na końcu polecenia dodajemy znaczek &, np.: sleep 100 & uruchomi proces sleep (który nic nie robi :)) w tle na zadaną ilość sekund Ctrl+Z zatrzymanie procesu Ctrl+C zabicie procesu

Polecenie ps Podaje informacje o działających procesach Podstawowe przełączniki: -A lub e wyświetla wszystkie procesy -l pełniejsze informacji o procesach -f format ekstra-peany f procesy w postaci drzewa -U numer procesy użytkownika o podanym user ID

Objaśnienia PID Process ID unikalny identyfikator każdego procesu PPID Parent Process ID identyfikator procesu-rodzica UID User ID unikalny identyfikator użytkownika PRI priorytet procesu NI poziom nice (przyjaźni ;) - uprzywilejowanie procesu

Komenda pstree Wyświetla procesy w postaci drzewa man pstree :)

Zabijanie procesów polecenie kill pozwala na wysyłanie sygnałów (specjalny typ komunikatu dla działającego procesu) Składnia: kill [-sygnał] numer_procesu Typy sygnałów: 2 (SIGINT) przerwanie procesu odpowiednik poznanego już Ctrl+c 9 (SIGKILL) zabicie procesu 19 (SIGSTOP) zawieszenie procesu (to samo gdy Ctrl+Z) 18 (SIGCONT) wznowienie zatrzymanego procesu

Zabijanie i wyszukiwanie procesów killall pozwala na zabicie wszystkich procesów o podanej nazwie, składnia: killall [-s sygnał] nazwa pgrep pozwala na na wyświetlenie numerów PID procesów o podanej nazwie, składnia: pgrep [opcje] nazwa Podstawowe przełączniki: -u nazwa wyszukiwanie wśród procesów użytkownika nazwa -l dodaje informacje do nazwy procesu

Procesy cd. pkill pozwala na wysłanie sygnału (domyślnie - zabicie) procesu o podanej nazwie, np.: pkill firefox zabije proces o nazwie firefox Można używać zarówno sygnałów, jak i przełącznika -u jobs wyświetla stan procesów uruchomionych w bieżącej powłoce (-l) top, htop...

Narzędzia sieciowe host [opcje] parametr podaje informacje o numerze IP lub nazwie hosta (na podstawie podanego numeru IP), np.: host ferm ping adres wysłanie pakietów próbnych (ICMP) na podany adres, np.: ping wp.pl traceroute cel wyświetla trasę do zadanego celu, np.: traceroute google.com

Narzędzia sieciowe write wysła wiadomość tekstową do użytkownika, składnia: write uzytkownik[@adres] talk program do interaktywnej rozmowy z użytkownikiem, np.: talk uzytkownik[@adres] mesg zablokowanie możliwości komunikacji poleceniami talk i write mesg [n y]

Poczta mail wysyłanie poczty elektronicznej, składnia: mail uzytkownik[@adres] [-s temat] [-c adres innego adresata] Przykład: > mail rjakubowski@ferm Aby wysłać treść zawartą w pliku tekstowym jest zawartość można umieścić w w strumieniu wejściowym programu, np.: cat plik_tekstowy.txt mail rjakubowski@ferm mail rjakubowski@ferm < plik_tekstowy.txt

Połączenie z innym komputerem telnet zdalne połączenie z innym komputerem telnet uzytkownik[@adres] Rzadko używany NIEBEZPIECZNY!

Połączenie z innym komputerem ssh szyfrowane połączenie ze zdalnym komputerem ssh uzytkownik[@adres] Pozwala na uruchomienie zdalnie powłoki Ćwiczenia...

VI

Uprawnienia Każdy plik może dawać inne uprawnienia dla właściciela, grupy i pozostałych osób ls -ltrh

Rodzaje uprawnień r odczyt w zapis x wykonywanie (execute) 9 znaków: - rwx rwx rwx typ pliku właściciel grupa wszyscy

Uprawnienia UWAGA: nie odbieramy sobie uprawnień zapisu/odczytu :) Zmiany uprawnień: chown zmiana właściciela pliku chown [opcje] user[:group] file chgrp zmiana grupy chgrp [opcje] grupa plik

Uprawnienia chmod zmiana uprawnień pliku chmod [opcje] uprawnienia plik Dwa rodzaje zmiany uprawnień: liczbowe i literowe Pamiętamy, że: - u user - g group - a - all

Uprawnienia chmod o+x plik dodanie możliwości wykonywania pliku właścicielowi Aby cokolwiek uruchomić (plik/skrypt) dany plik dla konkretnego użytkownika MUSI posiadać możliwość wykonywania (czyli uprawnienie x) chmod a=rwx dane.txt chmod ug=r dane.txt chmod a+r dane.txt

Uprawnienia Zapis numeryczny: zestaw trzech liczb: - 1 zapis - 2 odczyt - 4 wykonywanie Sumarycznie od 0 do 7 jednoznacznie określa uprawnienia np. chmod 700 plik

Narzędzia sieciowe ciąg dalszy ftp file transfer protocol protokół komunikacyjny typu klient-serwer, umożliwiający dwukierunkowy transfer plików Składnia: ftp user@adres sftp secured file transfer protocol szyfrowana wersja ftp, składnia analogiczna: sftp user@adres

sftp podstawowe operacje help pomoc get nazwa pobranie pliku nazwa put nazwa przesłanie pliku nazwa dir wylistowanie zawartości zdalnego katalogu quit rozłączenie Kiedy jest to możliwe ZAWSZE WARTO (należy?) stosować szyfrowane wersje protokołów

Narzędzia sieciowe scp szyfrowane kopiowanie plików z serwerów ssh i sftp Składnia: scp [-r] user@adres:/sciezka/do/pliku cel wget pobieranie zawartości zawartości stron www i serwerów ftp, umożliwia np. pobranie całej zawartości strony, np.: wget -m http://www.fizyka.umk.pl/~rjakubowski/?s=contact

Kompresja plików zip - kompresuje plików i katalogów, składnia: zip [-r] nazwa_archiwum pliki_do_spakowania Utworzony zostanie plik z rozszerzeniem.zip, kompresja całych katalogów: opcja -r bzip2 kompresuja plików, składnia: bzip2 pliki_do_spakowania

Dekompresja plików gunzip - rozpakowywanie plików *.gz oraz *.tgz, składnia: gunzip [-r] plik unzip - rozpakowywanie plików *.zip, składnia: unzip plik bunzip2 - rozpakowywanie plików *.bz2, składnia: bunzip2 plik

Archiwizacja plików tar narzędzie służące do archiwizacji, składnia: tar [opcje] pliki Pierwszą nazwą musi być nazwa tworzonego archiwum Najważniejsze opcje: - c - stwórz archiwum - x - rozpakuj archiwum - l wyświetla zawartość archiwum f - zapisz do pliku z kompresja archiwum przy użyciu programu gzip j kompresja archiwum przy użyciu bzip2 v - dodatkowe komunikaty

Wprowadzenie do tworzenia skryptów programowanie w bashu Po co nam pisanie skryptów? Pamiętamy: aby COKOLWIEK uruchomić plik MUSI mieć prawa uruchomienia (+x)

Struktura skryptu #!/bin/bash #to jest skrypt ktory wyswietla komunikat echo "Witaj swiecie!" exit 0

Struktura skryptu wybór powłoki #!/bin/tcsh - skrypt w powłoce tcsh #!/bin/bash - skrypt w powłoce Bash #!/bin/sh - skrypt w powłoce sh a nawet: #!/bin/python - skrypt w Pythonie #!/bin/perl - skrypt w Perlu

Uruchamianie skryptu bash nazwa_skryptu.bash lub:./nazwa_skryptu Adresowanie względne vs bezwzględne

Zmienne $ Powłoka dostarcza rodzinę zmiennych specjalnych $* - podaje wszystkie argumenty z którymi został uruchomiony skrypt $# - podaje liczbę argumentów z którym uruchomiono skrypt $0 podaje nazwę uruchomionego skryptu $1 $n podaje kolejne argumenty skryptu

Podstawowe instrukcje echo wypisuje tekst na standardowe wyjście (u nas zwykle będzie to ekran konsoli), np. poniższy skrypt wypisze na ekranie nazwę skryptu: #!/bin/bash echo $0

Podstawowe instrukcje read interaktywne wczytywanie znakow z konsoli, np. poniższy skrypt wczyta imię użytkownika i wyświetli je na ekranie: #!/bin/bash echo Podaj imię: read imie echo Witaj $imie

Instrukcje warunkowe - if #!/bin/bash if [ $# -eq 0 ]; then echo "Nie podano zadnych argumentow" else echo "Podano $# argumentow fi exit 0

Dostępne warunki Arytmetyczne -lt mniejsze niż, np. if [ 2 -eq 3 ]; -gt większe niż, np. if [ 4 -eq 3 ]; -ge większe lub równe, np. if [ 5 -eq 4 ]; -le mniejsze lub równe, np. if [ 4 -eq 5 ];

Dostępne warunki Plikowe -a sprawdza, czy plik istnieje, np. #!/bin/bash if [ -e jakis_plik ] then echo "jakis_plik istnieje" fi

Wybrane warunki -b plik istnieje i jest blokowym plikiem specjalnym - plik istnieje i jest plikiem znakowym -e plik istnieje -h plik istnieje i jest linkiem symbolicznym = sprawdza czy wyrażenia są równe!= sprawdza czy wyrażenia są różne -r sprawdzenie uprawnień do odczytu pliku -w sprawdzenie uprawnień do zapisywania w pliku -x sprawdzenie uprawnień do wykonywanie pliku -f plik istnieje i jest plikiem zwykłym -p plik jest łączem nazwanym -N plik istnieje i był zmieniany od czasu jego ostatniego odczytu

Pętla for for zmienna in lista_zmiennych; do instrukcje done Lub jak w C++: for (wyrazenie1; warunek;wyrazenie2) do instrukcje done

case zmienna in wartosc_1 ) instrukcje 1 ;; wartosc_2 ) instrukcje 2 ;;... *) instrukcje ;; esac Konstrukcja case

Skrypt obliczający wartość silni Wg Wiki: Silnią liczby naturalnej n (w notacji matematycznej: n!, co czytamy n silnia ) nazywamy iloczyn wszystkich liczb naturalnych nie większych niż n. 0!=1 zatem zawsze przyjmuje minimalnie wartość 0...

Pętla while Składnia: while warunek do instrukcje done

funkcje Składnia: nazwa_funkcji() { instrukcja1; instrukcja2; return 0; }

Funkcje Wywołanie funkcji: nazwa_funkcji Argumenty przekazywane podobnie jak w przypadku uruchamiania skryptu, czyli np.: funkcja jeden dwa trzy wywołuje funkcję funkcja z trzema argumentami

Funkcje zmienne globalne a lokalne Domyślnie zmienne użyte wewnątrz funkcji mają zakres globalny ryzyko nadpisania zmiennych! Aby to zmienić należy użyć dyrektywy local, np.: local i=1 wówczas czas życia zmiennej zostanie ograniczony do czasu w którym będzie wykonywana funkcja