Linux - Notatki - Programowanie - Część 1, Notatki'z Informatyka. Szczecin University of Technology
Norbert_88
Norbert_8812 April 2013

Linux - Notatki - Programowanie - Część 1, Notatki'z Informatyka. Szczecin University of Technology

PDF (689.2 KB)
23 strony
787Liczba odwiedzin
Opis
Informatyka: notatki z zakresu programowania dotyczące struktury Linuxa. Część 1.
20punkty
Punkty pobierania niezbędne do pobrania
tego dokumentu
Pobierz dokument
Podgląd3 strony / 23
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 1

Linux

Podstawy używania systemu

Spis Treści Strona

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 2

Rozdział 1 : Wprowadzenie Rozdział 2 : Sesja 2.1 Zalogowanie 2.2 Pierwsze polecenia 2.3 Użycie klawiatury 2.4 Ćwiczenia

Rozdział 3 : Pliki i Katalogi 3.1 Polecenia zarządzania plikami 3.2 Polecenia zarządzające katalogami 3.3 Ćwiczenia

Rozdział 4 : Bash 4.1 Znaki uogólniające 4.2 Protekcja znaków uogólniających

4.3 Zgrupowanie poleceń 4.4 Przkierowania

4.5 Potoki 4.6 Ćwiczenia

Rozdział 5 : Prawa 5.1 Zarządzanie prawami 5.2 Prawa pliku 5.3 Modyfikacja praw pliku (1) 5.4 Modyfikacja praw pliku (2) 5.5 Prawa katalogów 5.6 Zarządzanie grupami 5.7 Ćwiczenia

Rozdział 6 : Filtry – do czego służą ?

6.1 Ćwiczenia

Rozdział 7 : Zarządzanie procesami 7.1 Skrypty – pierwsze kroki w programowaniu 7.1.1 Przekazywanie parametrów do skryptu 7.1.2 Struktury kontrolne powłoki Bash 7.2 „background”/ „foreground”

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 3

(operacja w tle/operacja pierwszoplanowa) 7.3 Polecenia 7.3.1 polecenie - ps 7.3.2 polecenie - kill 7.3.3 polecenie - jobs 7.4 Zarządzanie „pracami’’ 7.5 Ćwiczenia

Rozdział 8 : Wyrażenia regularne 8.1 Polecenie find

8.2 Polecenie grep z wyrażeniami regularnymi 8.3 edytor sed

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 4

Rozdział 1 : Wprowadzenie

We Francji, Meksyku, Anglii, Peru nauczyciele, uczniowie i ich rodzice, wspólnie zastanawiają się i próbują rozwiązać jeden z podstawowych dylematów społeczeństwa informacyjnego: jak uczyć informatyki wiedząc, że narzędzia informatyczne aktualnie używane mogą – biorąc pod uwagę błyskawiczne tempo zmian technologicznych – być bezużyteczne po skończeniu szkoły przez dzisiejszych licealistów? Czy w takim razie uczyć raczej obsługiwania oprogramowań, czy zrozumienia jak one działają? Czy w procesie nauczania korzystać z narzędzi informatycznych firmy Microsoft które dostarczane są użytkownikowi w formie uniemożliwiającej ich przeczytanie i zrozumienie? Pytań jest wiele i – co warto podkreślić- niektóre państwa udzieliły na nie już odpowiedzi. W 1997 r. rząd meksykański wprowadza radykalną reformę systemu nauczania informatyki instalując w 140 000 szkół system operacyjny Linux, który – w przeciwieństwie do narzędzi firmy Microsoft – umożliwia czytanie i zrozumienie oprogramowań z których jest zbudowany. Finlandia, której radykalna reforma ekonomiczna sprzed kilku lat, polegała głownie na całkowitym zreorganizowaniu systemu edukacji w szczególności systemu nauczania informatyki. Efekty są znane. Boom gospodarczy. Francja w której liczne asocjacje skupiające rodziców licealistów i wybitnych informatyków wymusiły na wszechpotężnym Ministerstwie Edukacji Narodowej wprowadzenie do szkół nauki Linuxa. A Polska?

Dwa kroki do tyłu W 2002 PWN wydał podręcznik do przedmiotu – technologia informacyjna – przeznaczony dla uczniów liceów ogólnokształcących. Podręcznik ‘’Technologia Informacyjna’’ jest znakomity, obiema rękoma podpisuje się pod stwierdzeniami reklamującymi książkę: ‘’prosty, przystępny język, itd ’’ tylko jego tytuł powinien brzmieć ‘’Technologia Informacyjna Windowsa’’. Przyznają to zresztą sami autorzy pisząc na str 11 ‘’W podręczniku, omawiając konkretne bloki tematyczne, wykorzystano głównie platformę systemową Windows’’. Znajduje się w nim także krótki 10-stronicowy rozdział poświęcony Linuxowi, na którego poznanie autorzy proponują poświęcić 3 godziny dodając:’’…poznanie systemu Linux jest bez wątpienia pożyteczne, jednak nie ma kluczowego znaczenia dla osiągnięcia celów zawartych w podstawie programowej przedmiotu technologia informacyjna’’. Dlaczego? Dlatego, że system Linux umożliwia zrozumienie działania narzędzi informatycznych, natomiast celem przedmiotu technologia informacyjna jest nauka ich obsługiwania. Czy jest jednak możliwe w informatyce automatyczne oddzielenie wiedzy od umiejętności ? Podam dwie definicje Internetu: pierwsza jest umieszczona w podręczniku na str 79 : cytuje ‘’…Ważne, żebyś rozumiał, że istotą Internetu stanowi infrastruktura sieciowa, /../ oraz zbiór zasad normujących jego działanie’’ i porównajmy ją z określeniem Internetu jakie znajdujemy w książce S.Lema pt. ‘’Tajemnica chińskiego pokoju’’ : ‘’Dopiero niedawno dowiedziałem się, że zaczątek Internetu jako sieci komputerowej bez ośrodkowej, czyli takim sposobem rozgałęzionej, że nie posiada ona żadnego centrum wymyślili fachowcy Pentagonu..’’. Wybitny pisarz w krótkim zdaniu, przedstawił podstawową zasadę funkcjonowania cyberprzestrzeni. Natomiast z definicji umieszczonej w podręczniku informatyki nie dowiadujemy się w nic, bo cóż to znaczy, że ‘’istotą Internetu stanowi infrastruktura sieciowa’’, określenie to, przypomina sławne marksistowskie ‘’istota człowieka to całokształt stosunków społecznych’’ i dziwić się należy, że autorzy konstruują definicje używając pojęć

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 5

i metod z epoki zdawałoby się dawno minionej i zapomnianej. Przytoczone przykłady – a tak naprawdę cała metodologia, na której oparty jest podręcznik - stawiają na ostrzu noża podstawowy problem związany z nauczaniem informatyki : czy możliwe jest skuteczne obsługiwanie narzędzi informatycznych bez jednoczesnego zrozumienia mechanizmów ich działania? Czy w XXI wieku dychotomiczne rozdzielenie wiedzy i umiejętności nie jest sprzeczne z zasadami regulującymi dużą część rynku pracy? Na czym rzeczywiście polega praca w społeczeństwie informacyjnym?

Podstawowe prawa elektronicznej ekonomi Przeżywamy prawdziwą eksplozje informacji. Według ankiety przeprowadzonej przez uniwersytet Berkley w 2001 roku, poprzez Internet możemy dotrzeć do 550 miliardów dokumentów. Stronic internetowych przybywa codziennie 7.3 mln. Produkcja dobowa e-mail jest 500 razy większa od produkcji stronic. Przedsiębiorstwa mają dostęp do różnych – praktycznie – niepoliczalnych danych do których szybki dostęp jest warunkiem niezbędnym ich funkcjonowania i przetrwania w stale zmieniającym się otoczeniu ekonomicznym. Elektroniczna ekonomia polega na umiejętnym wyszukiwaniu danych potrzebnych przedsiębiorstwu i na ich jak najszybszym przetworzeniu, organizowaniu i uporządkowaniu. Jaki typ pracownika jest do tego typu zajęć potrzebny? Przede wszystkim musi on być wykształcony i – co istotniejsze – musi być zdolny do podejmowania samodzielnych inicjatyw i decyzji. Istnienie małych i dużych przedsiębiorstw zależy – o wiele bardziej niż w przeszłości – od stopnia autonomii ich personelu. Znikają hierarchiczne struktury, upowszechnia się coraz bardziej horyzontalny typ relacji organizacyjnych, w których zakres odpowiedzialności każdego pracownika wzrasta niepomiernie w porównaniu z zasadami pracy obowiązującymi w przedsiębiorstwie XX wieku. W tych warunkach wartość pracownika nie jest wyznaczona tylko przez studia wyższe, lecz także przez typ otrzymanej w szkole edukacji. W elektronicznej ekonomi pracownik musi umieć przystosować się do ciągle zmieniającego się kontekstu ekonomicznego i technologicznego, co wymaga stałego podnoszenia kwalifikacji. Warunkiem skutecznej pracy jest szybkość z jaką analizuje się i absorbuje zmianę, ponieważ zmiana jest cechą charakterystyczną naszej cywilizacji. Paradoksalnie, doskonała znajomość i ciągłe używanie tylko jednego systemu operacyjnego utrudnia – a czasami wręcz uniemożliwia – naukę innych opartych na odmiennych zasadach oprogramowań. Ekonomiści nazywają to zjawisko blokadą innowacyjną. Dlatego pluralizm metodologiczny w nauczaniu informatyki jest konieczny właśnie z punktu widzenia praw rządzących ekonomią elektroniczną. Szkoła powinna uczyć uczenia się. Ciągła nauka– to jest aksjomat XXI wieku - stała się częścią naszego życia zawodowego i codziennego. W opinii ekonomistów, to system edukacyjny decyduje o miejscu zapóźnionych cywilizacyjnie społeczeństw – takich jak Polska – w światowym podziale pracy. Czy jest jednak możliwe – biorąc pod uwagę ilość godzin przeznaczoną na naukę informatyki w szkole – zaznajomienie uczniów z dwoma systemami operacyjnymi, co oprócz ewidentnie korzystnej dla pedagogiki wykładu różnorodności metodologicznej, umożliwiłoby również praktyczne zrozumienie przez młodzież zasady konkurencji na której oparta jest współczesna ekonomia? Byłby to niewątpliwie eksperyment, ale nauczanie informatyki jest ciągłym eksperymentem. Konkurencja informatyczna – gdyż używając różnych systemów uczniowie porównują je i oceniają – w szkole jest ważna także z innego powodu: gwarantowałaby niezależność programów szkolnych od strategi marketingowej przedsiębiorstw produkujących oprogramowania oparte na prawie własności. Powszechnie wiadomo, że przedsiębiorstwa te traktują systemy edukacyjne jako doskonałe narzędzia do zaznajamiania i – co gorsza – do przyzwyczajania uczniów do używania w przyszłości swoich produktów. Jeżeli uważamy, że celem nauki informatyki w szkole nie jest wychowywanie konsumentów używających automatycznie – czyli bezmyślnie – oprogramowań potężnych firm takich jak Microsoft, lecz kształcenie podstaw metodologicznych informatyki i nabywania umiejętności obsługiwania narzędzi informatycznych zbudowanych według różnorodnych zasad, to wniosek wydaje się być oczywisty.

Opodatkowanie przyszłości Dlaczego w takim razie autorzy podręcznika ‘’Technologia Informacyjna’’ prezentują tylko narzędzia informatyczne firmy Microsoft ? Odpowiedź – jaką można zrekonstruować na podstawie lektury książki

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 6

jest następująca : system Windows jest powszechnie używany , łatwy do nauczenia i jego znajomość jest podstawowym warunkiem znalezienia pracy. Argumentacja ta oparta jest jednak na fałszywych przesłankach. Przeanalizujmy je po kolei: 1.Autorzy podręcznika podkreślają, że system Windows jest powszechnie używany, ponieważ według zgodnej opinii jego użytkowników jest on łatwy do nauczenia. Otóż w rozumowaniu tym przesłanka z konkluzją powinny zamienić się miejscami (jest on uważany za łatwy ponieważ jest powszechnie używany). Aby stwierdzić, że coś jest łatwiejsze czy trudniejsze musimy dysponować jakąkolwiek skalą porównawczą. W wypadku systemów operacyjnych skala taka – z przyczyn historycznych - nie istnieje. 2. Autorzy są zwolennikami stanowiska, które można przedstawić w sposób następujący: co istnieje teraz, będzie także trwało w przyszłości. Otóż jest to założenie – jeżeli weźmie się pod uwagę historie rozwoju technologi informatycznych - fałszywe. W latach 70-80 supremacja IBM, była przygniatająca, jednak kierownictwo firmy zlekceważyło pojawienie się na rynku komputera domowego i przegrało konkurencje z Microsoft. Dzisiaj role się odwróciły. IBM wykorzystuje system Linux do budowania nowych narzędzi informatycznych mogących zagrozić monopolowi Microsoft.. 3. Podręcznik ‘’Technologia Informacyjna’’ prezentuje wyłącznie narzędzia informatyczne firmy Microsoft, ponieważ dobra – wg jego autorów - ich znajomość ułatwi absolwentom szkół znalezienie pracy. Błąd, za który zapłaci całe polskie społeczeństwo. Za kilka lat, albo pracodawca będzie zmuszony wydać pieniądze na przekwalifikowanie pracowników, albo pracobiorca będzie sam musiał nauczyć się innych wymaganych na rynku pracy narzędzi informatycznych. Jednokierunkowość w nauczaniu informatyki jest formą dodatkowego opodatkowania społeczeństwa przez państwo.

*

Czy jest jakiekolwiek wyjście z sytuacji – biorąc pod uwagę - że tylko kilka procent nauczycieli informatyki ukończyła wyższe studia informatyczne, reszta natomiast uczęszczała na różnego rodzaju studia podyplomowe? Myślę, że sposobem na poprawę nauczania informatyki jest stworzenie oprogramowania edukacyjnego w Internecie umożliwiającego naukę Linuxa. Internetowe Studium Wolnego Oprogramowania (ISWO) jest właśnie takim narzędziem stworzonym przez informatyków związanych z ruchem „wolnego oprogramowania” oraz partią polityczną Prawo i Sprawiedliwość.

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 7

Rozdział 2 : Sesja

2.1 Zalogowanie

Linux – jest systemem wielozadaniowym i wielodostępnym. Wynika z tego, że może z niego korzystać jednocześnie wielu użytkowników i każdy z nich może uruchomić wiele programów. Aby rozpocząć prace, użytkownik musi się zalogować do systemu podając swoją nazwę (w tym celu trzeba stworzyć konto użytkownika) oraz przypisane mu hasło, umożliwiające zalogowanie się do systemu. Dodajmy, że system identyfikuje każdego użytkownika na podstawie niepowtarzalnego numeru UID. Mechanizm logowania możemy przedstawić w następujący sposób.

Login : $ who Login :  $ date  $ exit

Password : $ cal Password

3.2 Pierwsze polecenia

• date  wyświetla na ekranie datę i aktualną godzinę • who  wyświetla liste zalogowanych użytkowników • who am i  kim jestem ? • cal  wyświetla kalendarz • uname  wyświetla nazwę i atrybuty systemu operacyjnego • passwd  zmiana hasła • echo  wyświetla na ekranie argument polecenia

Wiersz poleceń - czyli to co znajduje się za znakiem zachęty „#” lub „$” służy do wprowadzania poleceń. Co rozumiemy pod wyrażeniem „wprowadzanie poleceń” ? Rozumiemy przez to wystukanie (wpisanie jego treści) polecenia i następnie naciśnięcia klawisza [Enter]. Polecenie składa się z następujących elementów :

nazwa polecenia opcje argumenty

Opcje – nielicznymi wyjątkami – poprzedzone są znakiem minusa : „-”. Trzeba uważać gdyż pomiędzy literą opcji i „-” nie może być spacji. Argumentami są zazwyczaj nazwa lub nazwy plików.

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 8

Przykłady zastosowania

$ uname Linux

$ uname –a

Linux goubet 1.2.1 #3 Sun Mar. 19 12:19:15 CST 1995 I 486

$ who

root tty2 May 15 15:41 piotr tty1 May 15 15:14

$ who am i

piotr tty1 May 15 15:14

$ date

Fri May 9 15:36 GMT-0100 2001

$ cal 8 1953 August 1953 S M Tu W TH F S 1 2 3 4 5 6 7 8 9 1 0 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

$ passwd

Old passwd : New passwd : Reenter password :

Linux, w przeciwieństwie do DOS-a, rozróżnia małe i duże litery, dlatego też w wielu sytuacjach może nie być obojętne, czy naciskając konkretny klawisz wprowadzamy kod małej, czy dużej litery. Np zapisy „a” i „A” oznaczają fizyczne ten sam klawisz na klawiaturze (chociaż by uzyskać na ekranie „A” musimy wystukać tą literę przyciskając jednocześnie klawisz z napisem „Shift”). Zapis „a” ma wartość w kodzie ASCII = 97 natomiast zapis „A” ma w tym samym kodzie równowartość 65.

2.3 Użycie klawiatury

Użycie klawiatury komputera jest proste i (z nielicznymi wyjątkami) dość klasyczne :

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 9

Klawisz [Enter] zatwierdza wykonanie polecenia

Kombinacja – czyli jednoczesne nawiśnięcia klawisza [Ctrl] i [c] przerywa wykonanie Polecenia

Kombinacja [Ctrl] i [d] kończy wystukiwanie danych, kiedy używamy takich poleceń jak write które zmuszają użytkownika do wystukiwania danych na ekranie.

Kombinacja [Ctrl] i [s] przerywa wyświetlanie listingu na ekranie

Kombinacja [Ctrl] i [q] umożliwia kontynuowanie wyświetlania listingu na ekranie

Kombinacja [Ctrl] i [z] przerywa egzekucje polecenia

Kombinacja [Ctrl] i [u] wymazuje linię poleceń, którą właśnie zapełniamy

2.5 Ćwiczenia

Ćwiczenie 1.

Wyświetl na ekranie kalendarz roku 1997.

Ćwiczenie 2.

Wyświetl kalendarz miesiąca września z roku 1752 i użyj polecenia „man” do objaśnienia informacji otrzymanych na ekranie.

Ćwiczenie 3.

Wyświetl date w formie dd-mm-rr (przykład : 05-02-95)

Ćwiczenie 4.

Objaśnij funkcje polecenie „touch”.

Ćwiczenie 5.

Przed rozpoczęciem następnego rozdziału opuść system, a następnie zaloguj się powtórnie

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 10

Rozdział 3 : Pliki i katalogi

System plików Linuksa tworzy jedno spójne i nierozdzielne drzewo (dokładniej w kształcie odwróconego drzewa). Struktura plików porządkuje sposób w jaki pliki przechowywane są w pamięci masowej. Pliki uporządkowane są w katalogach. Każdy z nich może zawierać dowolna liczbę podkatalogów, z których każdy może zawierać pliki. Przedstawione poniżej katalogi znajdują się w katalogu głównym „/”. Linux dzieli pliki na trzy kategorie

1. katalogi, które zawierają pliki.

2. pliki specjalne które nie zawierają danych (np. plik urządzeń)

3. pliki regularne (normalne), które zawierają dane, tekst itd

Skrócony schemat organizacji katalogów

root / ------------------------------------------------------------------------------- | | | | | home dev usr tmp etc | | | | | --------------- ---------------- ----------------- | | | | | | pierre cathty bin lib passwd group | | | .profile vi lp

Przedstawimy teraz to co niektóre katalogi zawierają – stanie sie to bardziej zrozumiałe po opanowaniu całości materiału.

/bin  katalog zawierający tzw pliki wykonywalne, które mogą być egzekwowane przez zwykłych użytkowników

/tmp  katalog zawierający pliki tymczasowe

/etc  katalog zawierający pliki dzięki którym możemy skonfigurować system Linux

/usr  katalog zawierający wszystkie aplikacja użytkowe

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 11

3.3 Atrybuty plików

$ ls -l plika

-rwxr-x--- 1 piotr nauka 265 maj 17 14:45 plika !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! nazwa pliku (8) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!data i godzina ostatniej modyfikacji pliku (7) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! objętość (6) !!!!!!!!!!!!!!!!!!!!!!!!!!! grupa (5) !!!!!!!!!!!!!!!!! właściciel (4) !!!!!!!!!!!!!!!! liczba łączy (3) !!!!!!!!!!!! prawa (2) ! type pliku „-” kreska oznacza plik normalny „d” plik jest katalogiem. (1)

Podstawowe atrybuty plików mogą być wyświetlone przy pomocy polecenia „ls” z dodatkiem opcji „-l”, która oznacza „długie” (long).

1. Pierwsza zona licząca tylko jeden znak „ –„ wskazuje typ pliku. Symbole najczęściej spotykane są następujące :

1. - dla oznaczenia plików zwykłych 2. d dla oznaczenia katalogów 3. c dla oznaczenia plików specjalnych (urządzenia znakowe) 4. b dla oznaczenia plików specjalnych przypisanych (urządzenia blokowe) 5. l dla oznaczenia łączy symbolicznych

(2) Druga zona („rwxrx---”) składająca się z 9 znaków,

Przykłady :

-rwxr-xr-x 1 piotr oracle 3432 Maj 14 2002 15:51 plikb

Plik regularny plikb liczący 3432 octet, ostatnia jego zmiana miała miejsce 14 maja, właścicielem pliku jest piotr, który należy do grupy oracle

drwxr-xr-x 2 piotr windows 512 maj 4 2001 14:14 bin

Katalog „bin’’ liczący 512 octet , ostatnia jego zmiana miała miejsce 4 maja 2001, właścicielem jego jest piotr, który należy do grupy windows

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 12

Wzór linii poleceń Pierwsze słowo linii poleceń jest zawsze poleceniem.

Polecenia do zarządzania plikami

Polecenie ls

Wzór ogólny - ls opcja nazwa pliku

opcje podstawowe

-l  wyświetla cechy pliku

-a wyświetla wszystkie pliki

-b  wyświetla znaki, które nie mogą być wydrukowane

-R  wyświetla zawartość drzewa katalogowego

-p  rozróżnia katalogi

-s wyświetla liczbę bloków

Polecenie ls wyświetla nazwy plików i zgodnie z zaznaczoną opcją, niektóre ich atrybuty. Polecenie ls w formie najprostszej (to znaczy bez żadnej opcji ani nazwy pliku)

Przykłady : (zakładamy, że znajdujemy się w katalogu domowym /home/piotr) - lista nazw plików, które znajdują się w katalog

$ ls

- najważniejsze cechy pliku mbox

$ ls -l mbox

- najważniejsze cechy plików znajdujących się w katalogu /home

$ ls -l /home

- wyróżnic nazwy katalogów w wyświetlonych plikach

$ ls -p

- liczba bloków zajętych przez pliki

$ ls –s

- wyświetlenie nazw wszystkich plików znajdujących się w katalogu

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 13

$ ls –a

- zobaczyć czy nazwa pliku nie zawiera tzw „znaku kontroli”

$ cat plik

cat : cannot open plik

$ ls -b p*

p\030lik f45 f451 f847

- wyświetlenie całości drzewa katalogowego

$ ls -R systeme

- wyświetlenie cech katalogu /home

$ ls -ld /home

Kopia pliku – jego zniszczenie – zmiana nazwy pliku.

Polecenie cp stosuje się do skopiowania pliku do pliku o innej nazwie lub w inne miejsce, a także do skopiowania wielu plików do katalogu. Polecenie rm służy do usuwania plików i katalogów

Polecenie mv służy do zmiany nazwy lub przeniesienia pliku (plików)

Przykłady :

$ ls -l f*

-rw-r--r-- 1 piotr sers 52 Maj 12 2002 17:41 fin1

(wyświetlenie plików, których nazwy zaczynają się od litery „f”)

$ cp fin1 fin2 (utworzenie pliku fin2  czyli skopiowanie pliku fin1 do pliku fin2)

$ cp /etc/passwd fin2

$ ls -l f* -rw-r--r-- 1 piotr users 52 Maj 12 2002 17:41 fin1 -rw-r--r-- 1 piotr users 692 Maj 12 2002 17:58 fin2

$ cp -i fin1 fin2

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 14

cp : overwrite ‘f2’ ?y  ,,y’’ oznacz ,,tak’’ to znaczy, że zamieniliśmy zawartość pliku fin2, który znowu jest identyczny z plikiem fin1

$ chmod a=r fin2 polecenie chmod patrz Aneks lub rozdział 3

$ ls -l f* -rw-r--r-- 1 piotr users 52 Maj 12 2002 17:41 fin1 -r--r--r-- 1 piotr users 52 Maj 12 2002 17:41 fin2 (czy widzisz zmianę w definicji plików fin1 fin2 ? jeśli tak to jaki ?)

$ cp fin1 fin2 cp : cannot cerat regular file ,,fin2’’ : Permission denied (nie można zmienić pliku protegowanego)

$ cp -f fin1 fin2

Polecenie cat Polecenie cat (catenate) umożliwia wyświetlenie zawartości pliku na ekranie. Może być także użyte do złączenia (konkatenacji) wielu plików.

Polecenie file Polecenie file wyświetla typ zawartości pliku.

Przykłady :

$ file /etc/passwd /etc/passwd : ascii text

$ file /usr/bin /usr/bin: directory

$ file /usr/bin/banner /usr/bin/banner: i386 executable

3.1 Polecenia do zarządzania katalogami

* pwd  wyświetla katalog (bieżącego) w którym aktualnie pracujemy

* cd  służy do przemieszczania się w drzewie katalogów

* ls  wyświetla zawartość katalogu

* ls -R  wyświetla pliki drzewa katalogowego

* mkdir  tworzy katalog

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 15

* rmdir  usuwa katalog

* rm –r  usuwa drzewo katalogowe

* cp  kopiuje pliki do katalogu cp –r  wykonuje kopie drzewa katalogowego

* du  wyświetla objętość katalogu bieżącego

* find  poszukuje plików w drzewie katalogowym

Polecenie pwd („print working directory”) wyświetla ścieżkę dostępu do katalogu bieżącego.

Polecenie cd

/ -------------------------------------------------------------- | | usr home | | -------------------------- | | | pierre # znajdujesz się tutaj bin lib | ----------------------------- | | binsrc

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 16

Polecenie cd („Change Directory”) pozwala zmienić katalog. Można przejść do innego katalogu używając adresu bezwzględnego np cd /home/piotr lub stosując znaki skrótowe. Egzekucja polecenie cd bez argumentu, powoduje powrót do twojego katalogu domowego.

Przykłady :

$ pwd

/home/piotr

$ cd src

$ pwd

/home/piotr/src

$ cd

$ pwd

/home/piotr

3.2 Ćwiczenia

Ćwiczenie 1.

W katalogu domowym utwórz katalog o nazwie – atelier -, a w nim utwórz dwa podkatalogi o nazwach : seria_1 i seria_2

Ćwiczenie 2.

Wyświetl strukturę drzewa katalogowego co dopiero utworzonego używając dwóch różnych poleceń.

Ćwiczenie 3.

Wyświetl, w swoim katalogu domowym, listę plików, używając dwóch różnych poleceń, które umożliwią rozpoznanie katalogów.

Ćwiczenie 4.

Wykonaj kopie pliku /etc/passwd zmieniając jego nazwę na plik_pass.

Ćwiczenie 5.

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 17

Zmień nazwę pliku plik_pass na password

Ćwiczenie 6.

Przenieś plik password do katalogu seria_1 (przypominam, że jest on podkatalogiem katalogu atelier)

Ćwiczenie 7.

Wykonaj kopie plików /etc/passwd i /etc/group do katalogu seria_2 (przypominam, że jest on podkatalogiem katalogu – atelier) znajdując się

a) w katalogu /etc. b) w katalogu seria_2 c) w obojętnie jakim katalogu

Ćwiczenie 8.

Wyselekcjonuj podkatalog seria_1 jaka katalog pracy i wyświetl – znajdując się w nim – pliki znajdujące się w podkatalogu seria_2

Ćwiczenie 9.

Aby utworzyć plik o nazwie „dokument” wykonaj następujące polecenie $ touch dokument Wyświetl jego atrybuty używając poleceń : ls i file

Ćwiczenie 10.

Znajdujesz się w katalogu domowym – wyświetl atrybuty, w tym także wielkość liczoną w blokach, wszystkich plików, także tych, których nazwa zaczyna się od „.”

Ćwiczenie 11.

Wyświetl atrybuty twojego katalogu domowego.

Ćwiczenie12.

Jakie znasz polecenia które umożliwiają porównanie plików ? Użyj jednego z nich do porównania pliku zawierającego twój profil użytkownika z plikiem profilu innego użytkownika.

Ćwiczenie 13.

Utwórz w swoim katalogu domowym, katalog o nazwie „przykłady” i skopiuj do niego drzewo katalogowe

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 18

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 19

Rozdział 4 : Bash Po zalogowaniu się każdy użytkownik współpracuje z systemem operacyjnym przy pomocy poleceń, które zanim zostaną wyegzekwowane są interpretowane przez tzw interpretator poleceń, który w wypadku Linuxa nazywa się bash. Interpreter poleceń jest pośrednikiem (nazwa informatyczna interfejs) między użytkownikiem i systemem operacyjnym i jego rolą jest tłumaczenie poleceń wystukiwanych przez użytkownika tak aby system operacyjny je zrozumiał. Bash posiada do swojej dyspozycji język programowania, którego zasady będziemy stopniowo poznawali i który różni się zasadniczo od klasycznych języków informatycznych takich jak Pascal, Java czy C++. Na czym ta różnica polega ? Fazy powstawania program informatycznego pisanego w klasycznych językach programowania (wymienionych powyżej) można przedstawić w następujący sposób :

Algorytm jest precyzyjnym opisem operacji, które tworzą program, pisany jest w języku macierzystym twórcy programu np polskim, francuskim , algorytm można porównać do scenariusza lub treści książki Kod źródłowy jest zapisem algorytmu w języku zrozumiałym przez komputer, kod źródłowy jest formą w jakiej wyrażono algorytm kompilacja jest automatycznym tłumaczeniem kodu źródłowego na język macierzysty komputera który składa się tylko z dwóch znaków : 0 i 1, tylko program skompilowany może być egzekwowany system operacyjny Dekompilacja polega na odtworzeniu kodu źródłowego – lub algorytmu – na podstawie kodu bitowego

W bashu mamy do czynienia tylko z dwoma fazami :

1. Pisanie algorytmu

(1) Pisanie kodu źródłowego

Czyli program pisany w bashu nie podlega fazie kompilacji i dlatego bash nazywamy interpretowalnym językiem programowania. Programy napisane w bashu nazywamy skryptami. W tym momencie naszego wykładu wprowadzimy – centralne do zrozumieniu funkcjonowania systemu Linux – pojęcie procesu. Proces powstaje w momencie egzekucji programu (ale nie każdego o czym ponżej). Powstanie procesu odpowiada egzekucji pliku umieszczonego w pamieci centralnej. Każdy użytkownik w momencie logowania się do systemu prowokuje powstanie procesu. Ten proces, zdefiniowany w pliku / etc/passwd, jest interpreterem poleceń basha. Każdy proces ma przypisany numer, nazywany PID (Process Identifier). Proces interpretera poleceń będąc wylansowany w momencie zalogowania się użytkownika umożliwia wykonywanie innych poleceń. W tym wypadku, proces odpowiadający egzekucji polecenia X nazywamy procesem syna, natomiast proces interpretatora poleceń, procesem rodzicielskim.

Polecenia w Linuksie dzielą sie na:

1.polecenia wewnętrzne, które są częścia integralną basha: egzekucja polecenie wewnętrzne nie prowokuje powstania procesu w pamięci komputera

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 20

2. polecenia zewnętrzne , które są niezależne od basha i które znajdują sie w różnych katalogach (/usr/sbin, /sbin,...), egzekucja każdego polecenia zewnętrznego prowokuje powstanie procesu w pamięci komputera.

Bash uzywa tzw znaków specjalnych, których znaczenie uzytkownik systemu operacyjnego musi rozumieć, a które służą do generowania nazw plików (*,?, []) lub do modyfikacji postępowania danego polecenia (<,>, |). W momencie logowania bash interpretuje pliki inicjalizujące sesje: /etc/profile i .bash_profile, ten ostatni plik każdy użytkownik – pod warunkiem, że opanował wystarczająco Linuksa – może zmodyfikować, dorzućić do niego nowe funkcje itd.

4.1 Znaki uogólniające

Znaki uogólniające – jeden lub wiele znaków używanych do tworzenia nazw plików – pozwalają użytkownikowi wystukać w linii poleceń niekompletną nazwę pliku. Innymi słowy przy pomocy znaków uogólniających tworzy się symboliczny wzorzec pasujący do większej liczby plików. Wyróżniamy trzy rodzaje znaków uogólniających :

*  oznacza dowolnej – również zerowej – długości łańcuch znaków

?  dowolny pojedynczy znak

[..]  użycie nawiasów kwadratowych może przybrać wiele form

[azs]  oznacza, literę „a” lub literę „z” lub literę „s” poszukiwany ciąg znaków musi zawierać jedną z tych liter

[0-9]  oznacza liczbę całkowitą ze zbioru od 0 do 9

[!rty]  oznacza każdy znak oprócz litery r, t, y

[!0-9]  oznacza każdy znak, który nie jest liczbą

Przykłady : Przypuśćmy, że w nasz katalog domowy zawiera następujące pliki :

p1 p2 p3 p58 p45 pb pz a1kb2lc4k art54lnm012 p+

$ ls p[1-3]

p1 p2 p3

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 21

$ ls p[123]

p1 p2 p3

Jak widzimy ten sam rezultat możemy uzyskać stosując różne formy znaków uogólniających. Czy rezultat widoczny powyżej można uzyskać w jeszcze inny sposób?

$ ls [!123bz]

p+

$ ls a*b*c*

a1kb2lc4k

$ ls p[0-9]*

p1 p2 p3 p58 p45

$ echo p*

p1 p2 p3 p58 p45 pb pz p+

$ echo p?

p1 p2 p3 pb pz p+

4.2 Protekcja znaków uogólniających i specjalnych

Znaki uogólniające są podgrupą znaków specjalnych, które dla powłoki shella mają inne znaczenie niż znak literowy. Wyróżniamy następujące znaki specjalne : * ? [ ] < > & | / | ‘ ` ” $ ! % ( ) { } @ \ Manipulowanie znakami specjalnymi, których znaczenie będziemy stopniowo poznawać, jest umiejętnością trudną i wymagającą dużo ćwiczeń i praktyki, dlatego też poświecimy im – jak już wspomniałem we wstępie - dużo miejsca i czasu, bowiem ich dobra znajomość jest niezbędna do sprawnego posługiwania się systemem Unix, Linux, a także językami używanymi do programowania w Internecie (HTLM, Perl, PHP itd). Znaki specjalne mogą wyrażać swoje znaczenie lateralne pod warunkiem, że są neutralizowane. Wyróżniamy następujące znaki neutralizujące,

\  znak ten neutralizuje każdy znak znajdujący się natychmiast po nim np \* czyli wyszukuje nie obojętnie jaki ciąg znaków, lecz szuka „*”

”…….. ”  neutralizuje wszystkie znaki specjalne oprócz : $\

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 22

‘……..‘  neutralizuje wszystkie znaki specjalne oprócz niego samego

Przykłady :

$ echo \*\*\* dzien dobry \*\*\*

*** dzien dobry ***  rezultat polecenia – czy możesz odpowiedzieć dlaczego ?

$ echo \\ \  rezultat polecenia

$ echo ’<<< dzien dobry>>>’

<<<dzien dobry>>>

$ echo ’ podwoje ‘’ ’

podwoje ‘’

$ echo ‘’***ekran jest typu $TERM’’

4.3 Przekierowania

Jak już pisaliśmy na początku tego rozdziału proces powstaje w momencie egzekucji programu. Powstanie procesu odpowiada egzekucji pliku umieszczonego w pamięci centralnej. W momencie powstania procesu interpretator poleceń tworzy automatycznie mechanizm umożliwiający wprowadzanie danych z klawiatury (wejście standardowe) oraz mechanizm pojawiania się tych danych na ekranie (wyjście standardowe). Interpreter tworzy także wyjście standardowe dla błędów. Wyjściem standardowym błędów jest również ekran.

Standardowe wejścia-wyjścia mogą być skierowane do pliku, potoku (mechanizm potoku poznamy w następnym podrozdziale). Skierowanie standardowego wyjścia polega na wysłaniu tekstu wyświetlanego na ekranie do pliku. Wszystkie standardowe wejścia-wyjścia każdego procesu można także skierować do odpowiednich plików i proces zamiast szukać informacji w sygnałach wysyłanych z klawiatury, będzie ich poszukiwał w odpowiednich plikach. Mechanizm ten przedstawiamy na rysunku. Wejściu standardowemu przypisany jest przez system numer 0. Wyjściu standardowemu przypisany jest numer 1. Wyjściu błędów przypisany jest numer 2.

Zdefiniujmy teraz podstawowe operatory kierujące (przełączające) standardowe wejścia-wyjścia :

> plik_k  wyjście standardowe jest skierowane do pliku plik_k. Jeśli plik_k wcześniej nie istniał, to zostanie to zostanie utworzony. Jeśli już istniał to jego zawartość zostanie wymazana (ziszczona).

Autor : Piotr Piętak Linux jjjj-07-tt GR PiS ds. informatyzacji Podstawy używania systemu strona 23

>> plik_k  w tym wypadku wyjście standardowe zostanie dołączone do plik_k jeśli on już istniał.

< plik_k  wejściem standardowym nie będzie klawiatura, tylko plik_k

2> plik_k  wyjście standardowe błędów będzie skierowane do pliku_k. Jeśli plik wcześniej nie istniał to zostanie utworzony. Jeśli istniał jego zawartość zostanie wymazana .

2>> plik_k  jeśli plik_k istniał to jego zawartość nie będzie wymazana

2>&1 skierowuje wyjście standardowe błędów do tego samego pliku co wyjście standardowe

Przykłady :

$ ls > tymczasowy #zapisanie listy plików katalogu bieżącego do pliku „tymczasowy”

$ ls >> plikb # dopisanie do pliku plikb listy plików z katalogu bieżącego

$ echo =================== > rezultat

$ date >> rezultat

$ echo =================== > rezultat

#plik „rezultat’’ będzie zawierał następujące informacje

$ cat rezultat

=================== Sun May 15 22:41:48 GMT-0200 2001 ===================

4.4 Potoki

Potok jest ciągiem poleceń prostych lub złożonych, które są odseparowane od siebie przez znak |. Rezultat każdego polecenia – z wyjątkiem ostatniego – jest traktowane przez polecenie następne, jako jego standardowe wejście. Innymi słowy - potok – jest mechanizmem komunikacji pomiędzy różnymi poleceniami, który im pozwala wymieniać między sobą dane. Prześledźmy funkcjonowanie mechanizmu potoków na konkretnych przykładach.

Wykonajmy następujące polecenie :

$ ls -l /home

drwxr-xr-x 2 piotr oracle 1024 May 15 2003 test drwxr-xr-x 2 ola oracle 512 May 25 2003 katalog5 drwxr-xr-x 5 piotr oracle 1024 May 17 2003 test1 -rwxr-xr-x 1 piotr oracle 1536 May 18 2003 plikb -drwxr-xr-x 2 piotr oracle 1325 May 15 2003 plikc

komentarze (0)
Brak komentarzy
Bądź autorem pierwszego komentarza!
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
Docsity is not optimized for the browser you're using. In order to have a better experience we suggest you to use Internet Explorer 9+, Chrome, Firefox or Safari! Download Google Chrome