Środowisko programisty Zestaw 3

Wielkość: px
Rozpocząć pokaz od strony:

Download "Środowisko programisty Zestaw 3"

Transkrypt

1 System plików Na poprzednich zajęciach wytłumaczyliśmy jak poruszać się po systemie plików. Warto jednak mieć świadomośc, że pliki są reprezentowane na dysku w trochę inny sposób. Podział na partycje Każdy dysk, na samym początku podzielony jest na partycje. Każda partycja to fragment wydzielonej przestrzeni dysku, który system operacyjny obsługuje niezależnie od pozostałych partycji. W ten sposób można na jednym fizycznym dysku zmieścić różne systemy plików i różne systemy operacyjne. Istnieją dwa podstawowe reprezentacje partycji: MBR (Master Boot Record) wprowadzony w Informacja MBR zapisana jest zawsze w pierwszym dostępnym sektorze dysku. Obsługuje dyski do pojemności 2 TB operując 512-bajtowymi blokami, i standardowo pozwala na stworzenie maksymalnie czterech partycji. Nowsze wersje pozwalają na przekroczenie tych limitów, ale takie zabiegi nie są rozpoznawane przez wszystkie systemy operacyjne. GPT (GUID Partition Table) wprowadzony z końcem XX wieku, obecnie obsługiwany przez wszystkie nowsze systemy operacyjne. Informacja GPT też zapisywana jest w pierwszych dostępnych sektorach dysku. Teoretyczna maksymalna pojemność dysku obsługiwana przez GPT to 9.4ZB ( ) ale może być zwiększona poprzez zwiększenie wielkości bloku. GPT pozwala na stworzenie 128 partycji. System operacyjny Windows przypisuje kolejne litery do kolejnych partycji, poczynając od litery C. Każda pełna ścieżka zaczyna się od litery reprezentującą którąś z partycji. Pod linuxem nie ma takiego twardego związku. Partycja systemowa przypisana jest do katalogu głównego / ale pozostałe mogą być podpięte jako dowolny podkatalog, za pomocą komendy mount. Linux pozwala też mountowanie innych partycji, także wyjmowalnych lub połączonych przez sieć. Wpisując mount bez argumentów możemy zobaczyć wszystkie aktualnie podpięte partycje. $ mount wc - l 44 Jak widać, w systemie TCS (na serwerze student) jest bardzo dużo różnych dysków podpiętych w ten sposób. I-węzły i bloki danych Każda partycja ma swój niezależny system plików. Współczesne systemy linuxowe operują w systemie ext2, ext3 lub ext4. Systemy te są do siebie podobne. Systemy przechowują Strona 1/12

2 dwa rodzaje informacji: Informacje o plikach przechowywane są w tablicy i-węzłów (ang. i-node table). Dane zawarte w plikach przechowywane są w blokach, gdziekolwiek w przestrzeni dyskowej. Każdy I-węzeł (ang. inode) reprezentuje dokładnie jeden plik. Przechowywane są tam wszystkie informacje o danych, ale nie sama zawartość pliku. Rodzaj pliku (zwykły plik, katalog,...) Właściciel pliku Prawa dostępu Wielkość Czas modyfikacji Adresy bloków które przechowują dane I-węzeł nie przechowuje nazwy pliku! We wszystkich blokach do których odwołuje się dany i-węzeł znajduje się fragment zawartość pliku. Każdy blok ma z góry ustaloną większość. Na systemach TCS jest to 4KB. Do każdego bloku odwołuje się zawsze dokładnie jeden i-węzeł. Nie jest możliwe podzielenie bloku na mniejsze kawałki. W konsekewncji, jeśli wielkość pliku nie jest dokładną wielokrotnością wielkości bloku, trochę przestrzeni dyskowej zostaje zmarnowane srodowisko 723 Katalog jest specjalnym rodzajem pliku. I- węzeł odpowiadający za katalog ma taką samą strukturę jak każdego innego pliku. Zawartość katalogu zdefiniowana jest nie w węźle, a w bloku danych. To tam wypisane są nazwy zawieranych plików, i adres i- węzłów im odpowiadającym plik1. txt 756 plik2. txt 772 Każdy katalog, nawet gdy jest on pusty, ma zawsze zdefiniowane dwie pozycje:. wskazuje na swój własny i-węzeł... wskazuje na i-węzeł odpowiadający za katalog nadrzędny. Podając parametr -i do komendy ls możemy podejrzeć informację o i-węzłach: Strona 2/12

3 $ ls -ali 723 drwxrwxr - x 2 pdan pdan 4096 Oct 9 06: drwx x 10 pdan users 4096 Oct 9 06: rw -rw -r pdan pdan 52 Oct 6 07:56 plik1. txt 772 -rw -rw -r-- 1 pdan pdan 68 Oct 6 06:39 plik2. txt Każda pozycja poprzedzona jest numerem i-węzła. Zwróćmy też uwage na liczbę występującą bezpośrednio po prawach dostępu. Na poprzednich zajęciach powiedzieliśy, że jest to liczba połączeń, ale nie wyjaśniliśmy czym te połączenia są. Liczba połączeń to liczba krawędzi przychodzących z któregokolwiek katalogu do danego i-węzła. W przypadku zwykłych plików, wartość ta zwykle wynosi 1, bo plik znajduje się w dokładnie jednym katalogu. Katalogi natomiast mają wiele przychodzących krawędzi z powodu plików. i.. Dowiązania Dowiązania (ang. link) to cecha niektórych systemów plików (w tym tych omawianych przez nas) pozwalająca na tworzenie dodatkowych, niestandardowych połączeń w systemie plików. Dodatkowe połączenia pozwalają na szybszą nawigację w strukturze plików: dany plik można łatwo dowiązać do katalogu nas interesującego, mimo że tak na prawdę znajduje się on zupełnie gdzie indziej. Dowiązania można stosować zarówny do poszczególnych plików danych, jak i do całych katalogów. Jednym z takich zastosowań jest ukrywanie wersji programów. Często nazwa programu zawiera numer wersji. Na przykład na TCS/student zainstalowany jest kompilator języka C w kilku wersjach: gcc-4.9 stara wersja z 2015 roku gcc-5 aktualna stabilna wersja z czerwca 2016 roku gcc-6 eksperymentalna wersja 6.0.0, być może zawierająca błędy Czasami, w szczególnych przypadkach użytkownik potrzebuje skompilować swój kod za pomocą konkretnej wersji kompilatora. Jednakże, w większości liczbie przypadków nie interesuje go jakie są wersje i potrzebuje po prostu najlepszej, stabilnej wersji która jest aktualnie dostępna. Dlatego w systemie dowiązany jest plik gcc który wskazuje na aktualną najlepszą wersję. $ cd / usr / bin $ ls - ali gcc * lrwxrwxrwx 1 root root 5 Jul 14 17: 36 gcc - > gcc rwxr - xr - x 1 root root Apr 14 04: 23 gcc rwxr - xr - x 1 root root Aug 8 17: 22 gcc rwxr - xr - x 1 root root Apr 15 23: 44 gcc Możemy zauważyć, że plik gcc aktualnie wskazuje na gcc-5. W przyszłości, jak pojawi się nowsza stabilna wersja, będzie wskazywał w nowe miejsce. Niezależnie od wersji, Strona 3/12

4 użytkownik zawsze może wywołać gcc i mieć pewność że kompilator się uruchomi. Zwróćmy też uwagę na nowy atrybut pliku gcc: l który oznacza, że jest to dowiązanie (link). Inne zastosowanie dowiązań: Inkrementatywne kopie zapasowe. Szybkie podmienianie plików, np. przy zmianie konfiguracji lub instalowaniu aktualizacji systemu Segregowanie tych samych zasobów według różnych kryteriów Istnieją dwa rodzaje dowiązań: Dowiązanie symboliczne (symbolic link, symlink) operuje na nazwach plików. Dowiązanie twarde (hard link) operuje na numerach i-więzów. Plik dowiązania symbolicznego przechowuje nazwę pliku docelowego. W przypadku gdy dowolna aplikacja próbuje otworzyć plik poprzez dowiązanie, system operacyjny automatycznie przeszuka drzewo katalogów by znaleźć właściwy plik docelowy. Na poziomie aplikacji, np. w Waszym kodzie C/C++ nie potrzeba dokonywać żadnych zmian by poprawnie obsłużyć takie dowiązania. Plik docelowy nie jest świadom istnienia dowiązań symbolicznych nań wskazujących. Jeśli plik docelowy zostanie usunięty bądź jego nazwa ulegnie zmianie, to nie będzie on osiągalny poprzez dowiązanie. Próba użycia takiego dowiązania zakończy się błędem. Dowiązania symboliczne tworzymy poleceniem: ln -s <plik docelowy> <nazwa dowiązania> plik1. txt 721 dane hard - link 721 Plik dowiązania twardego, to po prostu nowy wpis w katalogu używającego numer i-węzła, który już jest wykorzystywany przez inny plik. Twarde linki są nierozróżnialne od oryginału. Wszystkie wpisy prowadzące do danego i-węzła są równoważne. Twarde dowiązanie nie jest jednak pełna kopia pliku. Wszystkie pliki podpięte pod ten sam i-węzeł używają tą samą, jedną przestrzeń dyskową. Jest to ten sam plik, o wielu nazwach. Naturalnie, zmiana nazwy jednego z połączeń, łącznie z przeniesieniem pliku w inne miejsce, nie wpływa na pozostałe powiązania. Co więcej, próba usunięcia pliku poprzez jedno z połączeń nie wpłynie negatywnie na działanie pozostałych twardych dowiązań. Dzieje się tak ponieważ komenda rm wcale nie usuwa pliku, tylko usuwa wpis w katalogu. Strona 4/12

5 Jeśli po takiej operacji docelowy i-węzeł nie jest wskazywany przez żaden inny wpis, plik zostanie naprawdę usunięty. Ponieważ zwykłe pliki są zazwyczaj wskazywane tylko poprzez jedno połączenie, rm prowadzi do usunięcia takiego pliku. Jednakże, w kontekście twardych dowiązań, nie jest to już prawdą. Pozostałe połączenia pozostają bez zmian. Warto tu dodać, że gdy jakakolwiek aplikacja otwiera plik, tworzy ona podobne połączenie z plikiem. Gdy w trakcie działania aplikacji wszystkie połączenia do pliku zostaną usunięte, plik nadal pozostaje na dysku. Dopiero gdy aplikacja zamknię plik, zostaje on usunięty. Takie podejście jest szczególnie przydane na przykład podczas aktualizacji plików systemowych bez potrzeby restartowania komputera. Twarde dowiązania tworzy się poleceniem ln <plik docelowy> <nazwa dowiązania> bardzo podobnie jak dowiązania symboliczne, ale bez parametru -s. Twarde dowiązania nie mogą być używane dla katalogów, gdyż może to złamać drzewiastą strukturę. Za pomocą takich dowiązań łatwo możnaby stworzyć cykle które mogłyby mieć katastrofalne skutki dla niektórych operacji rekurencyjnych (np. find). Twarde dowiązania nie mogą być też stosowane przy łączeniu plików z różnych partycji czy dysków sieciowych. Każda partycja dysponuje własną numeracją i-węzłów. Numeracja jest unikalna tylko w obrębie jednej partycji. W obu tych przypadkach można bez problemów używać dowiązań symbolicznych. Prawa dostępu Każdy i-węzeł przechowuje informację o właścicielu pliku i prawach dostępu. Prawa dostępu zdefiniowane są dla trzech kategorii ludzi: Właściciela pliku (u) Grupy przypisanej do pliku (g) Pozostałych użytkowników (o) Dla każdej kategorii można zdecydować, czy użytkownik może plik odczytac (r), zapisać (w) lub uruchomić (x). Właściciel pliku może zmienić uprawnienia za pomocą komendy chmod. Składnia komendy to: chmod KOU < nazwa > gdzie K znak lub kombinacja znaków definiujący kategorię użytkowników co do której dokonujemy zmianę (u, g, o). Można też użyć a dla wszystkich, równoważne z ugo. O znak operacji: prawa dostępu można nadać + albo udebrać -. Strona 5/12

6 U znak lub kombinacja znaków definiująca rodzaju uprawnień r, w lub x. Przykłady nadawania praw: chmod u+x nazwa chmod ug+rx nazwa chmod a-rx nazwa daje użytkownikowi prawo do uruchamiania nadaje użytkownikowi i grupie prawo do czytania i uruchamiania zabiera prawo do czytania i uruchamiania dla wszystkich użytkowników Można również użyć systemu ósemkowego, aby ustawić prawa. Czytaniu (read) odpowiada 4, pisaniu (write) odpowiada 2, a wykonaniu (execute) 1. Każda cyfra odpowiada jednemu z kategorii użytkowników. Na przykład: chmod 755 helloshell.sh nadaje użytkownikowi prawa do pisania, czytania i uruchamiania (4+2+1), prawo czytania i uruchamiania (4+0+1) grupie i innym. Ponieważ prawa dostępu są zapisane w i-węźle, są one stałe, niezależnie przez które dowiązania plik jest otwierany. Dowiązanie symboliczne jest osobnym i-węzłem ze swoimi prawami, ale są one ignorowane liczą się tylko i wyłącznie prawa dostępu zapisane w i-węźle docelowego pliku który otwieramy. Uprawnienia do katalogów nadaje się w dokładnie taki sam sposób co do zwykłych plików. Jak już wyjaśniliśmy wcześniej, z punktu widzenia systemu plików, katalog to po prostu specjalny rodzaj pliku. Jednakże, w konteście katalogów, warto wyjaśnić co dane uprawnienia oznaczają w praktyce: r odczyt pozwala użytkownikowi odczytać nazwy w katalogu. w zapis pozwala użytkownikowi stworzyć, zmienić lub usunąć pliki z danego katalogu. x pozwala uzyskac dostęp do plików powiązanych z nazwami w danym katalogu. W szczególności, katalog z uprawnieniami r-- pozwoli nam zaledwie na wypisanie wszystkich nazw plików, bez podania jakiejkolwiek informacji czym właściwie są te pliki. Innymi słowy, mamy nazwy ale nie mamy dostępu do powiązanych z nimi i-węzłów. Natomiast katalog z uprawnieniami --x pozwoli nam otworzyć dowolny plik, ale nie powie nam jakie właściwie pliki tam są. SUID i SGID Istnieje jeszcze specjalna flaga SUID i SGID, włączana odpowienio przez u+s i g+s. Plik wykonywalny z taką flagą dziedziczy uprawnienia właściciela pliku gdy zostanie on uruchomiony. Programy z taką flagą pozwalają innym użytkownikom na wykonanie operacji której normalnie wykonać by nie mogli. Strona 6/12

7 Dla przykładu, program /bin/mount pozwala zamontowac nowy dysk czy zasób w określonym miejscu w systemie plików. Operacja taka wymaga uprawnien głównego administratora (tzw. roota). W normalnej sytuacji mount byłby dla mnie bezużyteczny, bardzo szybko bym się przekonał, że nie mam wystarczających uprawnień. Na szczęście mount ma ustawioną flagę SUID i root jest właścicielem pliku. Niezależnie kto uruchomi ten program, jego działanie będzie miało uprawnienia roota, i niezbędne zmiany będą mogły być dokonane. Naturalnie, trzeba być bardzo ostrożnym nadając flagi SUID lub SGID szczególnie gdy jest się administratorem. Jeśli program z taką flagą zawiera błąd, złośliwy użytkownik może próbować uzyskać szerszy dostęp do komputera niż oryginalnie założono. Drzewo katalogów w systemie Linux Niezależne od wersji systemu Linux, katalog główny i niektóre podkatalogi wyglądają bardzo podobnie. / katalog główny. Tu wszystko się znajduje. /bin podstawowe programy systemu i powłoki. Część z komend które przedstawiliśmy na poprzednich zajęciach to są tak na prawdę osobne programy, które znajdują się właśnie tutaj. /boot pliki startowe i jądro linuxa /dev urządzenia peryferyjne komputera, reprezentowane jako specjalne pliki, oznaczane literą c. Pliki te nie rezydują na żadnym z dysków, ale wykorzystują te same funkcje zapisu i odczytu, pozwalając różnym aplikacjom z łatwością komunikować się z tymi urządzeniami. /etc pliki konfiguracyjne /home prywatne pliki użytkowników /initrd zawiera informacje potrzebne do startu systemu. Na TCSie widnieje jako symlink do jednego z plików w /boot. /lib zawiera biblioteki dynamiczne potrzebne do uruchamiania różnych programów. Wasze programy w C też z tych plików korzystają. /media tu domyślnie mountowane są dyski zewnętrzne (CD-ROMy, dyskietki, pendrive-y) /opt dodatkowe programy niezależnych dystrybutorów, nie związanych z daną wersją Linuxa. Na TCS-ie znajdziecie tutaj na przykład satori /proc wirtualny system plików reprezentujące aktualne zasoby systemu. Tu można odczytać np. parametry procesora (/proc/cpuinfo) czy pamięci (/proc/meminfo). /root katalog domowy głównego administratora systemu. /tmp pliki czasowe. Mogą ulec usunięciu np. przy restarcie systemu. /usr programy i biblioteki dla programów użytkownika. Dla programisty to bardzo ważny katalog! Strona 7/12

8 /usr/bin narzędzia programistyczne. Tu znajdziecie m. in. kompilatory C i C++ /usr/games bo każdy programista musi się czasem rozerwać :) /usr/include pliki nagłówków do C i C++, zarówno te standardowe jak i dodatkowych pakietów zainstalowanych na Linuxie /usr/lib pliki bibliotek /usr/local podobny do /usr. Ideowo tu znajdują się pliki bardziej lokalne dla danej maszyny, ale rozróżnienie to jest często niejasne w praktyce. /usr/share domyślne pliki konfiguracyjne, rysunki, dokumentacje zainstalowanych bibliotek, itp. /usr/src pliki źródłowe /var Tu pojawiają się m.in. niektóre logi, cache plików internetowych, zadania dla drukarek, itp. Wszystkie te pliki mają cechę, że ich zawartość i liczba często zmienia się w czasie w wyniku normalnego działania systemu. Drzewo typowego projektu w C/C++ Każdy programista w ciągu kariery spotyka się z większymi projektami, które składają się z wielu plików. Mały program w C lub C++ zawiera się w pojedyńczym pliku. Taki program program.c kompilujemy za pomocą gcc program.c -o program i gotowe! Jednakże, większe projekty często podzielone są na większą liczbę plików. Zarządzanie i kompilacja takich projektów jest bardziej skomplikowana. Podstawowy proces kompilacji składa się z dwóch etapów: Każdy plik źródłowy.c lub.cpp jest kompilowany do pliku obiektowego.o. Zawiera on kod maszynowy pojedyńczych funkcji oraz spis wszystkich funkcji które dany plik zawiera (i je eksportuje) lub potrzebuje (importuje). Kod maszynowy zawiera luki: adresy funkcji importowanych nie są znane. Wszystkie pliki obiektowe, wraz ze statycznymi bibliotekami, musza zostać połączone. Jest to zadanie linkera, który łączy wszystkie funkcje w jeden plik programu. Adresy wyeksportowane przez jeden plik są używane do uzupełnienia adresów funkcji importowanych w innych plikach. Pojedyńcze pliki kompilujemy za pomocą: gcc plik.c -c -o plik.o <nazwa> argument pozycyjny to nazwa pliku który kompilujemy. -c oznacza, że wykonujemy samą kompilację bez linkowania. -o <nazwa> precyzuje jak ma się nazywać plik który generujemy. Domyślnie jest to nazwa pliku kompilowanego, z zastąpionym.c przez.o. Strona 8/12

9 Jak już skompilujemy każdy plik z osobna, połączyć je można za pomocą linkera o nazwa ld. Łatwiej jest jednak ponownie wywołać gcc z plikami.o jako argumentami. Program gcc wywoła tego samego linkera, ale uzupełni argumenty o domyślne wartości dla języka C. gcc plik1. o plik2. o - o program <nazwa> argument pozycyjny to nazwa pliku który chcemy łączyć. Należy tu wypisać wszystkie pliki obiektowe które uprzegnio wygenerowaliśmy. -o <nazwa> precyzuje jak ma się nazywać plik programu który generujemy. Domyślnie jest to zawsze a.out. Kompilując język C++ wystarczy zamienić gcc przez g++ w powyższych komendach. Oba kompilatory przyjmują te same parametry i flagi. Zauważmy, że projekt się rozrasta: dla każdego pliku źródłowego, generujemy nowy plik pośredni.o. Jest to plik tworzony podczas kompilacji, ale gdy otrzymamy główny program taki plik nie jest już potrzebny. Z czasem może okazać się, że musimy też zawrzeć w projekcie dokumentację, lub kod źródłowy bibliotek zewnętrznych napisanych przez kogoś innego. Bardziej skomplikowane projekty moga też tworzyć jeszcze więcej różnych plików pośrednich. Dlatego każdy projekt, nawet jeśli zawiera on tylko dwa pliki źródłowe, warto podzielić na podkatalogi. Typowy podział to: projekt projekt/bin projekt/build projekt/contrib projekt/data projekt/doc projekt/include projekt/src projekt/test katalog główny. Bezpośrednio w tym katalogu umieszcza się niewiele plików. Głównie jest tam skrypt kompilujący/instalujący, krótki opis działania programu oraz informacja o prawach autorskich i licencji. Tu generowane są końcowe pliki binarne, takie jak programy. Katalog na wszystkie pliki pośrednie dla procesu kompilacji. Narzędzia innych osób na których dany projekt się opiera. Dane na których program operuje Dokumentacja, opis programu, notatki Jeśli projekt jest biblioteką tu umieszane są pliki nagłówków (header file). Takie pliki zawierają deklaracje bez definicji. Tu umieszczony jest kod źródłowy. Tu jest kod testujący program, lub jego fragmenty. Powyższa lista nie jest wyczerpująca. W danym projekcie może pojawić się więcej katalogów w zależności od potrzeb. Te są najpopularniejsze. Strona 9/12

10 Cytowanie w systemach UNIXowych Cytowanie (ang. quoting) ma na celu usuwanie interpretacji znaków specjalnych przez powłokę. Najprostszym sposobem usunięcia interpretacji jest użycie znaku maskującego: \. W nastęþującym przykładzie shell nie interpretuje znaków końca linii. $ echo This could be \ a very \ long line\! This could be a very long line! Poza tym mamy trzy rodzaje cudzysłowów:, "" oraz. Pojedyncze cudzysłowy, te wymienione jako pierwsze maskują znaczenie wszystkich znaków specjalnych. Podwójne cudzysłowy pozwalają na interpretacje niektórych cudzysłowów. Natomiast nie interpretują innych takich, jak * albo?. Ostatni rodzaj cudzysłowów pozwala na umieszczenie w tekście wyniku działania pewnych komand. Dla przykładu warto porównać dwie następujące komendy. $ echo W tym katalogu teraz przebywasz: pwd W tym katalogu teraz przebywasz: pwd $echo "W tym katalogu teraz przebywasz: pwd " W tym katalogu teraz przebywasz: /home/wrona. xargs -name "*.c" find xargs rm -f rm Polecenie xargs służy do konstruowania listy argumentów ze standardowego wejścia dla innych poleceń i wykonywania tychże poleceń. Brzmi to dość abstrakcyjnie i może enigmatycznie ale kilka zastosowań polecenia xargs jest uważanych za jedne z najbardziej użytecznych sekwencji komend w Linuksie. Przykład. Skasuj wszystkie pliki z rozszerzeniem.c w bieżącym katalogu. Oczywiście możemy zrobić to tak: rm *.c Możemy, też tak: find. -name "*.c" xargs rm Strona 10/12

11 To jednak nie zadziała gdy mamy pliki z białymi znakami w nazwie. Możemy to poprawić tak, aby nie było komunikatu błędu: find. -name *.c xargs rm -f Ale plik z białymi znakami w nazwie dalej pozostanie nieskasowany. Poprawnie zadziała dopiero, gdy zmienimy terminatora nazwy plików na znak null. Do tego potrzebujemu flagi -print0 w find oraz -0 w xargs. find. -name *.c -print0 xargs -0 rm Wprawdzie polecenie find -exec rm pozwala nam usuwać znalezione pliki, to następuje to wolniej niż skorzystanie z xargs. Jest tak, ponieważ find uruchamia dla każdego pliku pojedynczo plecenie rm. Natomiast xargs przekazuje tyle argumentów ile polecenie maksymalnie może przyjąć. W przypadku rm jest to na tyle duża liczba, że znacząco zwiększa wydajność usuwania plików. Przykład. Dla każdego pliku w bieżącym katalogu o rozszerzeniu.txt wydrukuj jedną linię na standardowe wyjście zawierającą liczbę linii w tym pliku i jego nazwę. ls -1 *.txt xargs -n 1 wc -l Flaga -n 1 w xargs, powyżej, pozwala na przekazanie tylko jednego argumentu na raz do xargs. Przykład. Przesuń wszystkie pliki o rozszerzeniu.bak do katalogu ~/old.files. find. -name "*.bak" -print0 xargs -0 -I {} mv {} ~/old.files find. -name "*.bak" -print0 xargs -0 -I file mv file ~/old.files Zwróć uwagę na opcję -I. Po niej podawany jest znacznik, który ma być interpretowany w poleceniu jako miejsce gdzie xargs ma wkleić dane otrzymane na standardowym wejściu. Domyślnie xargs wstawia te dane na końcu tworzonego polecenia (patrz poprzednie przykłady). Jednak polecenie mv wymaga aby najpierw była nazwa pliku (bądź plików) które mają być przeniesione, a na końcu ma być miejsce przeniesienia. Powyższe dwie linie różnią się jedynie ciągiem znaków podanym jako wspomniany znacznik. Przykład. W każdej linii pliku test.in znajduje się jedno słowo. Utwórz pliki o nazwach takich jak słowa z test.in Niestety polecenie touch nie wczytuje danych ze standardowego wejścia, a jedynie jako argumenty. Więc jedynym sposobem jest użycie xargs: cat test.in xargs touch Tak jak wcześniej omawialiśmy powyższa sekwencja nie zadziała dla nazw z białymi znakami. Przykład. cat plik xargs -n 1 -I {} sh -c "mkdir {}; touch {}/{}" Strona 11/12

12 Dla każdego słowa w pliku plik tworzy katalog o tej nazwie i pusty plik w tym katalogu o tej samej nazwie. Zwróć uwagę, iż xargs wywołuje tutaj nową instancje powłoki poleceń (poprzez polecenie sh). Dzięki temu możemy wykonać więcej niż jedno polecenie używając argumentów przekazanych przez xargs. Przydatne opcje find (i) find. -name *.c -maxdepth 1 drukuje nazwy plików i katalogów o nazwie zakończonej.c w aktualnym katalogu ale nie w jego podkatalogach, (ii) find. -name *.c -type f drukuje nazwy plików o nazwie zakończonej.c w aktualnym katalogu i podkatalogach, (iii) find. -name *.c - type f -size 0 drukuje nazwy pustych plików w aktualnym katalogu i podkatalogach Strona 12/12

Linux: System Plików

Linux: System Plików Linux: System Plików Systemy Operacyjne Mateusz Hołenko 3 marca 2013 Plan zajęć Wszystko jest plikiem Obsługa systemu plików Prawa dostępu Wyszukiwanie Mateusz Hołenko Linux: System Plików [2/24] Wszystko

Bardziej szczegółowo

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

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1 Kurs systemu Unix wykład wstępny Kurs systemu Unix 1 Cele wykladu Zdobycie podstawowej wiedzy o systemie i jego narzędziach. Poznanie unixowych języków skryptowych (bash, awk,...). Nauka programowania

Bardziej szczegółowo

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

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier Systemy operacyjne Instrukcja laboratoryjna Ćwiczenie 1: Polecenia systemu UNIX/LINUX Opracował: dr inż. Piotr Szpryngier Olsztyn 2009 1 Wprowadzenie. Cel zajęć praktycznych. Wymagania stawiane studentom

Bardziej szczegółowo

Typy plików. Oznaczenie f -

Typy plików. Oznaczenie f - Typy plików Oznaczenie f - d b c l p s Typ Zwykły plik Katalog Urządzenie blokowe Urządzenie znakowe Dowiązanie symboliczne Potok (pipe) do komunikacji międzyprocesowej Gniazdo (socket) do komunikacji

Bardziej szczegółowo

System plików Linuxa. Tomasz Borzyszkowski

System plików Linuxa. Tomasz Borzyszkowski System plików Linuxa Tomasz Borzyszkowski Diagram blokowy jądra systemu Programy użytkowników Poziom użytkownika Poziom jądra Biblioteki Interfejs funkcji systemowych Podsystem plików Bufor Znakowe Blokowe

Bardziej szczegółowo

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

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące: Podstawy systemu Linux Linux jest systemem operacyjnym dla komputerów PC, opracowany na początku lat dziewięćdziesiątych przez Linusa Torvaldsa. Podobnie jak Unix jest on systemem wielozadaniowym - umożliwia

Bardziej szczegółowo

2. System uprawnień w linuxie

2. System uprawnień w linuxie 2. System uprawnień w linuxie Uprawnienia do plików: -rw-r--r-x 1 pawelza students 0 Lis 17 08:21 plik Mamy tutaj trzy grupy uprawnień: -rw - dla właściciela (owner, oznaczany też "user" reprezentowany

Bardziej szczegółowo

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

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS System operacyjny UNIX system plików System plików systemu UNIX (s5fs) System plików ma strukturę drzewa. Na samym szczycie znajduje się korzeń (root), symbolicznie przedstawiany jako /. Z punktu widzenia

Bardziej szczegółowo

Pracownia Technik Obliczeniowych

Pracownia Technik Obliczeniowych Pracownia Technik Obliczeniowych Instalowanie oprogramowania Paweł Daniluk Wydział Fizyki Wiosna 2016 P. Daniluk(Wydział Fizyki) PTO XI Wiosna 2016 1 / 16 Standardowy układ katalogów Systemy UNIXowe mają

Bardziej szczegółowo

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX Materiały: www.staff.amu.edu.pl/~evert/asi.php W razie nieobecności proszę o zapoznanie się z materiałem z ćwiczeń w domu Zaliczenie

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Pracownia Komputerowa wyk ad II

Pracownia Komputerowa wyk ad II Pracownia Komputerowa wykad II dr Magdalena Posiadaa-Zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Systemy operacyjne Windows np. Windows 8. Systemy

Bardziej szczegółowo

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Znaki globalne w Linuxie

Znaki globalne w Linuxie Znaki globalne w Linuxie * reprezentuje jeden lub wiele znaków (wild-card character)? reprezentuje dokładnie jeden znak (wild-card character) [abcde] reprezentuje dokładnie jeden znak z wymienionych [a-e]

Bardziej szczegółowo

Instalacja Systemu Linux na maszynie writualnej

Instalacja Systemu Linux na maszynie writualnej Instalacja Systemu Linux na maszynie writualnej Pobierz obraz systemu CentOS ze strony https://www.centos.org/download/ Wybierz obraz minimal ISO. Tworzenie maszyny wirtualnej 1. W Oracle VM VirtualBox

Bardziej szczegółowo

Pracownia Komputerowa wykład II

Pracownia Komputerowa wykład II Pracownia Komputerowa wykład II dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Systemy operacyjne! Windows np. Windows 8.! Systemy unixowe:! Linux i Mac OS X 2 Logowanie na konta studenckie!

Bardziej szczegółowo

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

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień. Użytkownicy I Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień. Użytkownik login (nazwa) UID identyfikator numeryczny przynależność do grup, w tym dokładnie

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Klasyczne polecenia: ls [opcje][katalog][pliki] opcje podstawowe -a wyświetla również pliki ukryte -b znaki niedrukowane jako liczby ósemkowe -c sortuje dane zgodnie z datą zmiany -k podaje wielkość pliku

Bardziej szczegółowo

Ćwiczenie 1. Podstawowe wiadomości

Ćwiczenie 1. Podstawowe wiadomości Ćwiczenie 1. Cel ćwiczenia: Zapoznanie się z podstawowymi poleceniami systemu Linux. Poznanie praw dostępu do plików oraz struktury katalogów systemu Linux. Podstawowe informacje o systemie. Podstawowe

Bardziej szczegółowo

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

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape FIND http://www.cs.put.poznan.pl/akobusinska/downloads/find.pdf 1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape 2. Ogranicz wynik polecenia 1

Bardziej szczegółowo

Prawa dostępu do plików

Prawa dostępu do plików Prawa dostępu do plików Wszystkie pliki systemów uniksowych posiadają swoje prawa dostępu dla zapisu, odczytu i wykonywania. Jeżeli dotychczas spotykałeś się z systemami Windows na partycjach FAT - możesz

Bardziej szczegółowo

Struktura dysku. Dyski podstawowe i dynamiczne

Struktura dysku. Dyski podstawowe i dynamiczne Struktura dysku Dyski podstawowe i dynamiczne System Windows 2000 oferuje dwa rodzaje konfiguracji dysków: dysk podstawowy i dysk dynamiczny. Dysk podstawowy przypomina struktury dyskowe stosowane w systemie

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017 Wykład nr 7 (11.01.2017) Rok akademicki 2016/2017, Wykład

Bardziej szczegółowo

Systemy Operacyjne I: System plików

Systemy Operacyjne I: System plików Politechnika Poznańska 18 marca 2014 Materiały Prezentacja oraz inne materiały zostały przygotowane na podstawie: Użytkowanie systemu operacyjnego UNIX - dr D.Wawrzyniak Systemy operacyjne - skrypt - dr

Bardziej szczegółowo

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Bash - wprowadzenie. Bash - wprowadzenie 1/39 Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:

Bardziej szczegółowo

Ćwiczenie 9 Linux - operacje systemu plików

Ćwiczenie 9 Linux - operacje systemu plików Systemy teleinformatyczne AiR Ćwiczenie 9 Linux - operacje systemu plików 1. Ściągnąć program PUTTY - (portal tbajorek.prz.rzeszow.pl lub www.prz.rzeszow.pl/~tbajorek - dostęp po zalogowaniu: użytkownik:

Bardziej szczegółowo

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

host name: 192.168.11.110 protokół SSH System plików - wprowadzenie Ścieżki dostępu Ćw. 13 Linux - operacje systemu plików 1. Ściągnąć program PUTTY ze strony z materiałami dydaktycznymi - zapisać, rozpakować skompresowany plik i uruchomić. 2. Skonfigurować host name: host name: 192.168.11.110

Bardziej szczegółowo

Pracownia komputerowa. Dariusz wardecki, wyk II

Pracownia komputerowa. Dariusz wardecki, wyk II Pracownia komputerowa Dariusz wardecki, wyk II Systemy operacyjne Desktopowe Mobilne Systemy operacyjne Systemy Unixowe Windows! Windows 8 Windows 7 Windows Vista Windows XP... Linux Mac OS X Mountain

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

Linux cz.3: polecenia systemowe, ćwiczenia

Linux cz.3: polecenia systemowe, ćwiczenia Linux cz.3: polecenia systemowe, ćwiczenia Wykład: polecenia terminala, manualia systemowe, uprawnienia, kompresja, archiwizacja, ukrywanie plików, sudo su, ps, kill, chmod, chown, tar, gzip, whoami, ls,

Bardziej szczegółowo

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Cel ćwiczenia: Celem zajęć jest zdobycie doświadczenia i umiejętności instalacji systemu operacyjnego z rodziny Unix bez wykorzystania

Bardziej szczegółowo

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I Uwaga: Test odnosi się do systemu operacyjnego Linux! 1) Linux jest systemem wielodostępnym, co oznacza, że: a) pozwala na logowanie się do systemu

Bardziej szczegółowo

Tworzenie partycji i dysków logicznych

Tworzenie partycji i dysków logicznych Tworzenie partycji i dysków logicznych Podstawowe pojęcia Dysk twardy fizyczny napęd, który służy do przechowywania danych Dysk podstawowy zawierają tzw. woluminy podstawowe, takie jak partycje podstawowe

Bardziej szczegółowo

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

System plików - wprowadzenie. Ścieżki dostępu. Informatyka ćw 1 Informatyka ćw 1 Linux - operacje systemu plików 1. Ściągnąć program PUTTY - (portal tbajorek.prz.rzeszow.pl - dostęp po zalogowaniu: użytkownik: student hasło: samoloty 2. Skonfigurować połączenie z adresem

Bardziej szczegółowo

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics wersji 20 przy użyciu licencja sieciowa. Ten dokument

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM

Bardziej szczegółowo

Fragment wykładu z języka C ( )

Fragment wykładu z języka C ( ) Fragment wykładu z języka C (2002-2009) Piotr Szwed pszwed@agh.edu.pl Program make Typowy program w języku C/C++ składa się z wielu odrębnych modułów (jednostek translacji). Ich liczba może dochodzić do

Bardziej szczegółowo

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

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-10-08 Co to jest konsola / terminal UNIX-owy?

Bardziej szczegółowo

System plików warstwa logiczna

System plików warstwa logiczna Dariusz Wawrzyniak Pojęcie u Plik jest abstrakcyjnym obrazem informacji gromadzonej i udostępnianej przez system komputerowy. Plik jest podstawową jednostką logiczną magazynowania informacji w systemie

Bardziej szczegółowo

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

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna) IBM SPSS Statistics Wersja 22 Linux - Instrukcja instalacji (licencja wielokrotna) Spis treści Instrukcja instalacji.......... 1 Wymagania systemowe........... 1 Instalowanie produktu............ 1 Praca

Bardziej szczegółowo

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania. Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania. Q. Jak uruchomić instalator? A. Trzeba nadać instalatorowi atrybut 'wykonywalny'. Można to zrobić wydając polecenie `chmod

Bardziej szczegółowo

Włączanie/wyłączanie paska menu

Włączanie/wyłączanie paska menu Włączanie/wyłączanie paska menu Po zainstalowaniu przeglądarki Internet Eksplorer oraz Firefox domyślnie górny pasek menu jest wyłączony. Czasem warto go włączyć aby mieć szybszy dostęp do narzędzi. Po

Bardziej szczegółowo

BASH - WPROWADZENIE Bioinformatyka 4

BASH - WPROWADZENIE Bioinformatyka 4 BASH - WPROWADZENIE Bioinformatyka 4 DLACZEGO BASH? Praca na klastrach obliczeniowych Brak GUI Środowisko programistyczne Szybkie przetwarzanie danych Pisanie własnych skryptów W praktyce przetwarzanie

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska

Bardziej szczegółowo

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

Linux. Uprawnienia pliku / katalogu, właściciel pliku, UID, GID, sticky bit. Strona1 Linux Uprawnienia pliku / katalogu, właściciel pliku, UID, GID, sticky bit. Strona2 Spis treści Spis treści... 2 Ogólny schemat uprawnieo.... 3 Identyfikatory typu... 3 Sposoby nadawania uprawnieo...

Bardziej szczegółowo

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

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Przemysław Kobylański Wprowadzenie Każdy program w C musi zawierać przynajmniej funkcję o nazwie main(): Aby możliwe

Bardziej szczegółowo

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2 1. Instalacja serwera WWW Aby zainstalować serwer WWW w systemie Linux, należy wykorzystać menedżer pakietów apt-get. Polecenia które należy wpisać w terminalu użytkownika root 1 : apt-get install build-essential

Bardziej szczegółowo

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1) Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1) 1. Ustawiamy w biosie bootowanie systemu z CD-ROMu bądź z dyskietki (tworzymy wówczas dyskietki startowe). 2. Aby rozpocząć proces instalacji

Bardziej szczegółowo

Pracownia Komputerowa wykład III

Pracownia Komputerowa wykład III Pracownia Komputerowa wykład III dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Powłoki - rodzaje! W Linux ie mamy kilka powłok do wyboru:! sh : Bourne Shell, oryginalna powłoka systemu

Bardziej szczegółowo

Bootowalny pendrive USB z Windows

Bootowalny pendrive USB z Windows Windows XP, Vista, 7 i 8 z pamięci flash Na początku warto wyjaśnić dlaczego bootowalny pendrive, czyli automatycznie uruchamiająca się przy starcie komputera pamięć flash USB, zawierająca pliki instalacyjne

Bardziej szczegółowo

16MB - 2GB 2MB - 128MB

16MB - 2GB 2MB - 128MB FAT Wprowadzenie Historia FAT jest jednym z najstarszych spośród obecnie jeszcze używanych systemów plików. Pierwsza wersja (FAT12) powstała w 1980 roku. Wraz z wzrostem rozmiaru dysków i nowymi wymaganiami

Bardziej szczegółowo

Trochę o plikach wsadowych (Windows)

Trochę o plikach wsadowych (Windows) Trochę o plikach wsadowych (Windows) Zmienne środowiskowe Zmienną środowiskową można ustawić na stałe w systemie (Panel sterowania->system- >Zaawansowane ustawienia systemu->zmienne środowiskowe) lub też

Bardziej szczegółowo

Narzędzie konfiguracji rozruchu

Narzędzie konfiguracji rozruchu Narzędzie konfiguracji rozruchu 1. By skorzystać z narzędzia konfiguracji rozruchu na początek konieczne jest utworzenie płyty ratunkowej bądź wykorzystanie narzędzia IT Edition i uruchomienie maszyny

Bardziej szczegółowo

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE Magda Mielczarek Pracownia Informatyczna 2015/2016 1 Podstawowe definicje Linux system operacyjny, które oferuje kompletne środowisko programistyczne

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

#!/bin/sh. if [ "$#"!= "1" ]; then echo "Skrypt uruchamiany z parametrem (sciezka do katalogu)" exit 1 fi

#!/bin/sh. if [ $#!= 1 ]; then echo Skrypt uruchamiany z parametrem (sciezka do katalogu) exit 1 fi Skrypt nr 1 Zmiana nazw wszystkich plików w zadanym katalogu (parametr wywołania skryptu), do których mamy ustawione prawo zapisu, przez dopisanie dodatkowego członu.old. Wcześniej należy skasować wszystkie

Bardziej szczegółowo

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

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak Systemy operacyjne System operacyjny Linux - wstęp Anna Wojak 1 1 Wstęp Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku przez K.Thompsona i D.Ritchie Jest to

Bardziej szczegółowo

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

Szkolenie AGH Linux. Nie bój się konsoli i zdaj kolosa na 5.0!!! Tytuł wcale nie przesadzony ;) Szkolenie AGH Linux Nie bój się konsoli i zdaj kolosa na 5.0!!! Tytuł wcale nie przesadzony ;) O mnie Imię i nazwisko: Pieczyrak Paweł Kryptonim: Morfeusz888 Osiągnięcia Administrator pomocniczy na publicznym

Bardziej szczegółowo

Systemy operacyjne. Laboratorium 8. Perl find

Systemy operacyjne. Laboratorium 8. Perl find Systemy operacyjne Laboratorium 8 Perl find Temat obejmuje przeszukiwanie drzew katalogowych z użyciem perla oraz podstawowe zdolności w używaniu referencji, tablic asocjacyjnych i mechanizmów typu stat.

Bardziej szczegółowo

Materiały wprowadzające. dr inż. Arkadiusz Chrobot

Materiały wprowadzające. dr inż. Arkadiusz Chrobot Materiały wprowadzające dr inż. Arkadiusz Chrobot 25 lutego 2019 Spis treści Wprowadzenie 1 1. ssh 1 2. scp 2 3. Linux Cross Reference 2 Wprowadzenie W tych materiałach wstępnych zawarte są krótkie opisy

Bardziej szczegółowo

Podstawowe wiadomości o systemach plików.

Podstawowe wiadomości o systemach plików. Podstawowe wiadomości o systemach plików. Komputery mogą przechowywać informacje w kilku różnych postaciach fizycznych na różnych nośnikach i urządzeniach np. w postaci zapisów na dysku twardym, płytce

Bardziej szczegółowo

Kopiowanie, przenoszenie plików i folderów

Kopiowanie, przenoszenie plików i folderów Kopiowanie, przenoszenie plików i folderów Pliki i foldery znajdujące się na dysku można kopiować lub przenosić zarówno w ramach jednego dysku jak i między różnymi nośnikami (np. pendrive, karta pamięci,

Bardziej szczegółowo

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019 BASH - LINIA POLECEŃ Bioinformatyka 2018/2019 PODSTAWOWE DEFINICJE Linux system operacyjny, które oferuje kompletne środowisko programistyczne Powłoka interfejs wiersza poleceń zapewniający komunikację

Bardziej szczegółowo

Konsola Linux. autor: Mariusz Barnaś

Konsola Linux. autor: Mariusz Barnaś Konsola Linux autor: Mariusz Barnaś Wstęp Pierwsze uruchomienie Operacje na plikach Poruszanie się po katalogach Tworzenie plików i katalogów Wypisanie zawartości katalogu Dowiązania między plikami Łączenie

Bardziej szczegółowo

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

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak Linux Polecenia Opracował: Andrzej Nowak Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Utwórz katalog lab_5 i przejdź do niego. $ mkdir lab_5 ; cd lab_5 Problem nadpisywania

Bardziej szczegółowo

Ćwiczenia Linux konsola

Ćwiczenia Linux konsola Ćwiczenia Linux konsola Ćwiczenie wstępne: Wyczyść terminal za pomocą polecenia clear. Ćwiczenie 1. Wyświetlanie pomocy 1. Wyświetl pomoc za pomocą poleceń man man oraz info (wyjście z pomocy: klawisz

Bardziej szczegółowo

UNIX SYSTEM PLIKÓW. UNIX System plików

UNIX SYSTEM PLIKÓW. UNIX System plików UNIX SYSTEM PLIKÓW UNIX System plików UNIX SYSTEM PLIKÓW Jednym z podstawowych zadań SO jest zarządzanie zasobami danych Komputer może być wyposażony w różnego rodzaju urządzenia przechowujące dane i programy

Bardziej szczegółowo

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

tworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1. Linux podobnie jak MacOS X są systemami opartymi na Unixie. Wiele programów linuxowych działa z poziomu terminala dlatego aby móc ich używać należy poznać podstawowe komendy systemu Unix. Nauczycie się

Bardziej szczegółowo

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać

Bardziej szczegółowo

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

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh. Powłoka I Popularne implementacje W stylu sh (powłoki zdefiniowanej w POSIX) bash (najpopularniejsza) zsh ksh mksh W stylu csh csh tcsh 12 października 2018 1 / 16 Powłoka II Zachęta Komunikuje się z użytkownikiem

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

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

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo

Systemy operacyjne. Laboratorium 2. Dowiązania. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017

Systemy operacyjne. Laboratorium 2. Dowiązania. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Systemy operacyjne Laboratorium 2 Dowiązania Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Laboratorium obejmuje umiejętność tworzenia i obsługi dowiązań symbolicznych oraz, w mniejszym stopniu,

Bardziej szczegółowo

Utworzenie pliku. Dowiesz się:

Utworzenie pliku. Dowiesz się: Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program

Bardziej szczegółowo

Pracownia Komputerowa wykład III

Pracownia Komputerowa wykład III Pracownia Komputerowa wykład III dr Magdalena Posiadała-Zezula dr Jan Suffczyński 1 Powłoki - rodzaje! W Linux ie mamy kilka powłok do wyboru:! sh : Bourne Shell, oryginalna powłoka systemu unix! csh :

Bardziej szczegółowo

Przydziały (limity) pojemności dyskowej

Przydziały (limity) pojemności dyskowej Przydziały (limity) pojemności dyskowej W dużych sieciach lokalnych bądź w przypadku, gdy z danego komputera korzysta kilku różnych użytkowników, administrator może zechcieć mieć kontrolę nad przydziałem

Bardziej szczegółowo

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie:

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie: Repozytorium służy do przechowywania plików powstających przy pracy nad projektami we w miarę usystematyzowany sposób. Sam mechanizm repozytorium jest zbliżony do działania systemu plików, czyli składa

Bardziej szczegółowo

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

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc. Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1 i sieci komputerowe Szymon Wilk System operacyjny 1 1. System operacyjny (ang. OS Operating System) to oprogramowanie nadzorujące pracę komputera. Programy, które uruchamia użytkownik na komputerze z systemem

Bardziej szczegółowo

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum. Płace Optivum Jak przenieść dane programu Płace Optivum na nowy komputer? Aby kontynuować pracę z programem Płace Optivum na nowym komputerze, należy na starym komputerze wykonać kopię zapasową bazy danych

Bardziej szczegółowo

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz

Bardziej szczegółowo

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Systemy plików FAT, FAT32, NTFS

Systemy plików FAT, FAT32, NTFS Systemy plików FAT, FAT32, NTFS SYSTEM PLIKÓW System plików to sposób zapisu informacji na dyskach komputera. System plików jest ogólną strukturą, w której pliki są nazywane, przechowywane i organizowane.

Bardziej szczegółowo

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

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy) Procesy i shell. Polecenia ps, sleep, exit, jobs, bg, fg, top, kill, bash, tcsh, which, type, whereis, touch. Metaznak & i >>. Dowiązania miękkie i twarde. Proces jest programem, który jest wykonywany

Bardziej szczegółowo

Wstęp do systemu Linux

Wstęp do systemu Linux M. Trzebiński Linux 1/8 Wstęp do systemu Linux Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński Linux

Bardziej szczegółowo

TM-47.1-2 PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T

TM-47.1-2 PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T LANEX S.A. ul. Ceramiczna 8 20-150 Lublin tel. (081) 444 10 11 tel/fax. (081) 740 35 70 TM-47.1-2 PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T LANEX S.A., ul.ceramiczna 8, 20-150

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

System plików. Warstwowy model systemu plików

System plików. Warstwowy model systemu plików System plików System plików struktura danych organizująca i porządkująca zasoby pamięci masowych w SO. Struktura ta ma charakter hierarchiczny: urządzenia fizyczne strefy (partycje) woluminy (w UNIXie:

Bardziej szczegółowo

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer? Kadry Optivum, Płace Optivum Jak przenieść dane na nowy komputer? Aby kontynuować pracę z programem Kadry Optivum lub Płace Optivum (lub z obydwoma programami pracującymi na wspólnej bazie danych) na nowym

Bardziej szczegółowo

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6 Zawartość Wstęp... 1 Instalacja... 2 Konfiguracja... 2 Uruchomienie i praca z raportem... 6 Wstęp Rozwiązanie przygotowane z myślą o użytkownikach którzy potrzebują narzędzie do podziału, rozkładu, rozbiórki

Bardziej szczegółowo

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) wiczenie trzecie Temat: Potoki i ł cza nazwane w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja z wykorzystaniem

Bardziej szczegółowo

Instalacja Linuksa i podstawowa konfiguracja. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Instalacja Linuksa i podstawowa konfiguracja. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski komputerowa Instalacja Linuksa i podstawowa konfiguracja Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski komputerowa () Instalacja Linuksa 1 / 17 Linux: co to takiego? Linux Wielozadaniowy

Bardziej szczegółowo

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Instalacja roli kontrolera domeny, Aby zainstalować rolę kontrolera domeny, należy uruchomić Zarządzenie tym serwerem, po czym wybrać przycisk

Bardziej szczegółowo

Instalacja programu Warsztat 3 w sieci

Instalacja programu Warsztat 3 w sieci Instalacja programu Warsztat 3 w sieci (proszę uważnie przeczytać do końca) Spis treści 1 Przed instalacją...2 2 Przeprowadzanie po raz pierwszy instalacji sieciowej...3 2.1 Dane umieszczone na jednej

Bardziej szczegółowo

Materiały wprowadzające. dr inż. Arkadiusz Chrobot

Materiały wprowadzające. dr inż. Arkadiusz Chrobot Materiały wprowadzające dr inż. Arkadiusz Chrobot 26 lutego 2017 Spis treści Wprowadzenie 1 1. ssh 1 2. scp 1 3. Linux Cross Reference 2 Wprowadzenie W tych materiałach wstępnych zawarte są krótkie opisy

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 10 Diagramy wdrożenia I Diagramy wdrożenia - stosowane do modelowania

Bardziej szczegółowo