Programowanie 1. Wprowadzenie do bash-a. Elwira Wachowicz. elwira@ifd.uni.wroc.pl. 06 lutego 2012



Podobne dokumenty
JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA

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

Pracownia komputerowa. Dariusz wardecki, wyk II

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

Pracownia Komputerowa wykład III

Powłoka (shell) Powłoka ksh

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

Technologie Informacyjne - Linux 1

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 III

System operacyjny Linux

Linux: System Plików

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

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

1 Przygotował: mgr inż. Maciej Lasota

Pracownia Komputerowa

Systemy operacyjne na platformach mobilnych 2 Wstęp do systemu Linux

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

Wstęp do systemu Linux

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

Podstawy Informatyki. Wykład 3 UNIX

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

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

Podstawy użytkowania Linux a

Wstęp do obsługi Linux a

PODSTAWY INFORMATYKI

"Klasyczna" struktura systemu operacyjnego:

Zakład Systemów Rozproszonych

Podstawy administracji systemu Linux

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

Ćwiczenie nr 14: System Linux

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

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

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

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

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

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

Pracownia Komputerowa wyk ad III

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

Powłoka bash. Kurs systemu Unix 1

Trochę o plikach wsadowych (Windows)

Technologie informacyjne lab. 4

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

System plików. Podstawy systemu Linux

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Filtry, metaznaki, cytowania. Proste skrypty. Polecenia find, tee, mail.

Podstawy systemów UNIX

Wstęp do obsługi Linux a

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

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

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

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

Ćwiczenie 9 Linux - operacje systemu plików

Skrypty powłoki w systemie Linux

System Linux - użytkowanie

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

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

Wstęp do informatyki Shell podstawy

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

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

Ćwiczenie 1. Podstawowe wiadomości

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

Wstęp do systemu Linux

Systemy Operacyjne I: System plików

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

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Podstawy informatyki

Wprowadzenie do programowania w powłoce

Powłoki systemu operacyjnego i intepretery

Powłoka interpreter poleceń systemu UNIX

Wstęp do systemów wielozadaniowych laboratorium 14 Środowisko i aliasy

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

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

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

Map Reduce Wprowadzenie do Apache Hadoop

Python jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:

Linux cz.3: polecenia systemowe, ćwiczenia

Wstęp do Informatyki dla bioinformatyków

Skrypty shella programowanie w języku powłoki.

Podstawy informatyki

Podstawy informatyki

Wyrażenia regularne. Wyrażenia regularne 1/41

5. Linux - powłoka Kilka słów o powłoce Zmienne systemowe

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

Programowanie Łukasz Dulny 18 marca 2016

Pliki w systemie operacyjnym Linux

Podstawy Informatyki. Michał Pazdanowski

Zastosowania matematyki w systemie operacyjnym Linux

Powłoka, redyrekcja, potok

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

BASH - WPROWADZENIE Bioinformatyka 4

Systemy Operacyjne. Część II Zarządzanie/Administracja Systemem. 5: Skrypty. autor: mgr inż. Andrzej Woźniak

Konsola i interpreter poleceń

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

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

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

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

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

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

Transkrypt:

Programowanie 1 Wprowadzenie do bash-a Elwira Wachowicz elwira@ifd.uni.wroc.pl 06 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 1 / 19

Cel zajęć: Zapoznanie sie z systemem operacyjnym Linux na poziomie uzytkownika, podstaw powłoki bash oraz prostych programów w języku C. Wykaz literatury: L.J. Arthur, T. Burns, Unix. Programowanie w shellu, Mikom, 1998, Warszawa. R. Petersen, Programowanie w systemie Linux. Kurs podstawowy, Edition 2000, 2001, Kraków. S. Prata, Szkoła programowania. Język C, Robomatic, 1999, Wrocław. B.W. Kernighan, D.M. Ritchi, Język ANSI C, WNT, 1988, Warszawa. S.G. Kochan, Język C. Wprowadzenie do programowania, Helion, 2005, Gliwice. Mnóstwo informacji i przykładów w sieci... Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 2 / 19

Unix jest systemem operacyjnym. Unix Time-Sharing System (pisane równiez jako UNIX) system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux oraz Mac OS X, jest w użyciu do dnia dzisiejszego. UNIX jest zarejestrowanym znakiem towarowym The Open Group. Wikipedia Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 3 / 19

Unix Stworzony dla naukowców i specjalistów, którzy potrzebowali bardzo wydajnego i elastycznego środowiska. Zalety: Jest niezależny od platformy sprzętowej. Większa cześć rozwoju internetu odbywała się na unix-ach i nadal tam dominuje. Bardzo duża stabilność. Małe wymagania sprzętowe może pracować na starszym lub słabszym sprzęcie Niektóre wersje (Linux, *BSD, OpenSolaris, Android) są darmowe. Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 4 / 19

Superkomputery (Linux) Systemy finansowe Serwery (Linux) Unix Desktopy (MacOSX, Linux) Tablety, czytniki e-booków, telefony (Android, ios, Linux) Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 5 / 19

Linux Prywatny projekt fińskiego studenta informatyki Linusa Torvaldsa. Stworzył on otwartego i darmowego UNIX-a pracującego na komputerach PC. W 1991: wersja 0.11. Linus pracuje tylko nad jądrem systemu, powłoki, środowiska graficzne i in. są rozwijane przez programistów na całym świecie prywatnych i pracujących w firmach. Linux to często synonim dystrybucji, czyli zestawu programów rozpowszechnianych łącznie i dających po zainstalowaniu gotowy do użycia system. Najpopularniejsze dystrybucje (http://www.distrowatch.com:) Mint Ubuntu Fedora Debian opensuse Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 6 / 19

Budowa UNIX-a Programy shellowe, skrypty Shelle: bash, ksh, sh, csh jądro sprzęt Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 7 / 19

System plików / bin etc home lib usr tmp var adam elwira kasia bin etc include lib share src bin Dokumenty Programy tmp rozdział1.doc rozdział2.doc mail.txt Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 8 / 19

Nazwy ścieżkowe Przykłady: / /home/elwira/dokumenty/text1.doc /usr/bin/kmail Nazwy specjalne: katalog domowy - poprzedni katalog roboczy + bieżący katalog roboczy. bieżący katalog roboczy../ katalog jeden poziom wyżej w hierarchii login katalog domowy użytkownika login Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 9 / 19

Terminal tekstowy Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 10 / 19

Polecenia w shellu Shell jest interpreterem poleceń. Polecenie jest plikiem, który znajduje się w systemie. Jest to wykonywalny plik binarny lub skrypt (zestaw poleceń). Składnia poleceń: polecenie -opcje argumenty Polecenie można wpisać jako niezależną nazwę (w domyślnych katalogach zdefiniowanych w $PATH) lub poprzedzoną ścieżką. Ważne: Uruchomienie polecenia z bieżącego katalogu wymaga podania jego ścieżki:./polecenie -opcje argumenty Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 11 / 19

Polecenia w shellu Opcje modyfikują działanie poleceń. Mogą być pojedynczą literą (-f) lub literą, po której występuje jakaś wartość (-f 45). Równoważne są zapisy: polecenie -l -s -t polecenie -lst polecenie -l -st Białe znaki (spacja, tabulacja, znak nowej linii) oddzielają polecenie do opcji i argumentów. Równoważne zapisy: $ ls -l /home/elwira/ $ ls -l /home/elwira/ $ ls -l /home/elwira/ Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 12 / 19

Pomoc w shellu W każdej chwili można uzyskać pomoc dotyczącą składni: $ polecenie --help $ man polecenie $ info polecenie Jeśli nie pamiętamy polecenia, pomoże apropos: $ apropos polecenie Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 13 / 19

Pomoc w shellu $ apropos edit joe (1) - własny edytor Joe go (Joe s Own Editor) mcedit (1) - terminalowy edytor tekstowy dla systemów Unixowych ed (1) - text editor hexedit (1) - view and edit files in hexadecimal or in ASCII kate (1) - Advanced text editor for KDE lavplay (1) - Playback and edit MJPEG video mcedit (1) - Internal file editor of GNU Midnight Commander psed (1) - a stream editor sed (1) - stream editor for filtering and transforming text tcsh (1) - C shell with file name completion and command line editing vim (1) - Vi IMproved, a programmers text editor Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 14 / 19

Metaznaki Aby łatwiej posługiwać się nazwami plików i katalogów stosuje się metaznaki które: Pozwalają oszczędniej pisać. Zachęcają do stosowania konwencji nazw. Upraszczają programowanie w shellu. * dopasuj dowolny ciąg znaków (włączając spację)? dopasuj pojedynczy znak alfanumeryczny [...] dopasuj pojedynczy znak lub zestaw znaków z nawiasu. bieżący katalog roboczy login katalog domowy użytkownika login {lista} wygeneruje nazwy zawierające ciągi znaków z listy Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 15 / 19

Metaznaki: przykłady $ ls /home/elwira/doc/dokument_*/*.doc $ ls ~elwira/doc/dokument_*/rozdział_? $ ls doc/dokument_*/rozdział_1?_*.doc $ ls../doc/dokument_?/rozdział_??_*.doc $ ls doc/dokument_*/rozdział_[179]_*.doc $ ls doc/dokument_*/rozdział_1[2-6]_*.doc $ ls doc/dokument_*/rozdział_[179]_*.doc $ ls doc/dokument_*/rozdział_[1-46-9]_*.doc $ ls doc/dokument_*/rozdział_[!5]_*.doc $ ls ~/*/*{.doc,.doc.back} $ echo f{a,i,aul,oo}t fat fit fault foot Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 16 / 19

Inne znaki specjalne Znak Znaczenie Przykład ; Separator sekwencji poleceń polc1;polc2;polc3 & Wykonaj polecenie w tle polc1 & Połącz polecenia w potok polc1 polc2 () Grupuj standardowe wyjścia poleceń polc1 (polc2; polc3) < Przeadresuj wejście polecenia polc1 < plik1 > Przeadresuj wyjście polecenia polc1 > plik1 ${zmienna} Podstaw wartość zmiennej shella ${zmienna} polecenie Podstaw wynik działania polecenia zmn= polc1 napis Cytuj wszystkie znaki w napisie 1,00 napis Cytuj wykonując podstawienia ${zmn}$1 \ Zacytuj znak specjalny dosłownie \* # Komentarz w skryptach # uwaga! Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 17 / 19

Polecenia związane z plikami i katalogami Typ Polecenie Działanie Katalog cd Zmień katalog ls Wyświetl zawartość katalogu pwd Wyświetl nazwę bieżącego katalogu mkdir Utwórz nowy katalog rmdir Usuń istniejący katalog (o ile jest pusty) Plik cat Połącz pliki cp Kopiuj plik (pliki) csplit Podziel pliki w oparciu o argumenty ln Dołącz nazwę do istniejącego pliku mv Przenieś plik (pliki) split Podziel plik na części o n wierszach Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 18 / 19

Polecenie ls -l Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 19 / 19