System Linux - użytkowaniekgrudzi.iis.p.lodz.pl/laboratorium/linux_podstawy.pdf · System Linux -...

Post on 02-Mar-2019

215 views 0 download

Transcript of System Linux - użytkowaniekgrudzi.iis.p.lodz.pl/laboratorium/linux_podstawy.pdf · System Linux -...

System Linux - użytkowanie

1

2

Podstawowe operacje ls

Listuje zawartość bieżącego katalogu

ls -al |more

Listuje zawartość bieżącego katalogu, wszystkie pliki

cd katalog

Zmiana katalogu

./nazwa_programu

Uruchom plik wykonywalny z bieżącego katalogu

wc [opcje] [pliki]

Powoduje zliczanie liczby znaków, słów i wierszy w pliku tekstowym.

Dostępne opcje:

-c tylko liczba znaków

-l tylko liczba wierszy

-w tylko liczba słów

3

Linux pomoc

Polecenia z opcą -help, --help, lub –h

mc -h

cp --help | more

gzip -help

man systemowe podręczniki (elektroniczne podręczniki) (ang. manuale)

man nazwa_polecenia

whatis Przykład: aby dowiedzieć się co to jest mc, napisz:

whatis mc

info wywołanie wygląda następująco:

info chmod

4

Drzewo katalogów

Struktura systemu Unix V

5

Prawa dostępu do pliku

Symbol Oznaczenie

- plik zwykły

d katalog

l dowiązanie symboliczne

p FIFO

c plik urządzenia znakowego

b plik urządzenia blokowego

3-znakowe pola określają prawa dla użytkownika, grupy oraz

pozostałych użytkowników:

r(read) – prawo czytania pliku, wyświetlanie zawartości

katalogu jeśli jest x.

w(write) – prawo pisania w pliku, zapisu do katalogu nowych

plików jeśli jest też x.

x(execute) – prawo wykonania programu lub skryptu

zawartego w pliku, prawo dostępu do katalogu.

-rwxr-x--- oznacza prawa rwx dla użytkownika (odczyt, zapis i wykonanie), prawa

rx dla grupy (odczyt i wykonanie) oraz brak praw dla pozostałych użytkowników.

drwx--x--x oznacza prawa rwx dla użytkownika (odczyt, zapis i wyjście), prawo x

dla grupy i pozostałych (prawo wejścia oznacza możliwość uczynienia danego

katalogu bieżącym).

6

Liczba dowiązań do pliku

Nazwa użytkownika będącego właścicielem pliku

Nazwa grupy użytkowników pliku

Wielkość pliku w bajtach

Data utworzenia lub modyfikacji

Nazwa pliku + dowiązanie symboliczne (ab, a jest odsyłaczem do b)

Atrybutów plików

7

Zmiana praw dostępu do pliku

chmod – zmiana praw dostepu do pliku/katalogu

chmod g=rw plik

[ ugoa ] [ + - = ] [ rwxugosXt ]

Kategoria_użytkownika modyfikator_praw plik

Liczbowy modyfikator praw:

4 – prawo odczytu

2 – prawo zapisu

1 – prawo wykonania

[ prawa właściciela ][ prawa grupy ][ prawa pozostałych użytkowników ]

chmod 0004 plik chmod o=r plik

chmod 0644 plik chmod u=rw, go=r plik

chmod u+rw, g+r, o+r plik III

8

apropos wyświetli listę komend mających coś wspólnego z danym

tematem, wszystkie opisy z podaną nazwą tematu.

apropos pwd

which wypisuje listę plików, które zostałyby uruchomione po wykonaniu

podanych pleceń

usr/doc /usr/local/doc /usr/X11R6/doc /usr/share/doc /usr/share/doc/html

Strona podręcznika z określonej sekcji: man 3 polecenie

Sekcje podręcznika to:

Sekcja 1 - komendy użytkownika;

Sekcja 2 - wywołania systemowe;

Sekcja 3 - wywołania biblioteczne;

Sekcja 4 - urządzenia (Pliki specjalne);

Sekcja 5 - formaty plików;

Sekcja 6 - gry, Sekcja 7 – różne;

Sekcja 8 - Komendy zarządzania systemem,

Sekcja 9 - wywołania jądra,

Sekcja n - nowe.

9

Nazwy plików mogą mieć do 256 znaków i zawierać litery, liczby, "." (kropki),

"_" (podkreślenia), "-" (myślnik) itd..

Pliki z nazwą, rozpoczynającą się od "." są traktowane jako pliki ukryte

W pliku konfiguracyjnym, linia zaczynająca się od # jest komentarzem

/ korzeń systemu plikowego, separator katalogów w zapisie ścieżki;

*metaznak: dowolny ciąg znaków, ciąg może być pusty;

cp a*b /tmp – polecenie kopiowania plików, których nazwa zaczyna się od małego a, a kończy się małym b

z katalogu bieżącego do katalogu tmp;

rm *

polecenie usunięcia z katalogu bieżącego wszystkich plików za wyjątkiem plików ukrytych,

które rozpoczynają się od kropki;

? Metaznak: pojedynczy znak;

cp ??? /tmp polecenie skopiowania z katalogu bieżącego do katalogu tmp wszystkich plików, których

nazwa ma dokładnie 3 znaki;

Znaki o specjalnym znaczeniu

10

[. . .] metaznak: dowolny pojedynczy znak spośród wymienionych w

nawiasie;

rm [Aa-f0-9]* polecenie usunięcia z katalogu bieżącego plików, których nazwa rozpoczyna się

literą A lub małą literą od a do f lub cyfrą;

\ znak wycofania znaczenia;

mv gwiazdka\* gw

polecenie zmiany nazwy pliku z gwiazdka* na gw - wycofano znaczenie metaznaku *

. katalog bieżący;

cp /usr/kowalski/dane .

polecenie skopiowania pliku dane do katalogu bieżącego;

.. katalog nadrzędny wobec bieżącego.

c.d.

11

Zarządzanie plikami

cp –r źródło cel

Kopiownie pliku

mv żródło cel

Przeniesieni lub zmiea nazwy pliku

mkdir katalog

tworzenie katalogu

rmdir katalog

Usuwanie katalogu

rm -r plik

Usuwanie rekursywne

cat filename | more

Wyświetlanie plików

cat filename | less

head filename

10 pierwszych linii

tail filename

10 ostatnich linii

touch filename

stworzenie pustego pliku

find / -name "filename„

Szukanie pliku

locate filename

grep -r 'celeste' . |more

Przeszukanie biezącego katalogu w

poszukiwaniu słowa – celest.

12

Podstawowe skróty klawiaturowe w

Linuksie i zasadnicze polecenia

<Ctrl><Alt><F1>

Przełącza na pierwszy terminal. W Linuxie możesz mieć wiele (6 w normalnej

instalacji) terminali uruchomionych równocześnie.

<Ctrl><Alt><Fn> (n=1..6)

Przełącza na następne terminale. (Ten sam efekt może być uzyskany przez

rzadko używaną komendę chvt n.)

tty

Drukuje nazwę terminalu, na którym wpisałeś tą komendę.

<Ctrl><Alt><F7>

Przełącza na pierwszy terminal graficzny (jest na tym terminalu uruchomiony jest

X-window).

<Ctrl><Alt><Fn>(n=7..12)

Przełącza na następny terminal graficzny (jeśli terminal GUI jest uruchomiony na

ekranie n-1). Domyślnie nic nie jest uruchamiane na terminalach #8-12, ale

możesz uruchomić tu inne serwery.

<Tab>

(Na terminalu tekstowym) Auto-dokańczanie komendy, jeśli jest tylko jedna

możliwa, albo wyświetlenie wszystkich dostępnych opcji.

13

c.d.

<Ctrl><Alt><Del>

Zamknięcie systemu i ponowne jego uruchomienie. Jest to zwyczajny sposób

zamknięcia systemu dla użytkownika na konsoli.

<Ctrl>s

Zatrzymuje transfer do terminala

<Ctrl>q

Wznawia transfer do terminala.

<Ctrl>z

Wyślij bieżący proces w tło.

~(tylda)

katalog domowy (normalnie /home/nazwa_uzytkownika)

.(kropka)

Katalog bierzący.

..(dwie kropki)

Katalog nadrzędny w stosunku do bieżącego.

14

Informacje o systemie pwd

Drukuje bieżący katalog roboczy, nazwa katalogu, w którym się znajdujmy

who a mi (w, who, finger)

Drukuje nazwę użytkownika

date

Drukuj albo zmień datę w systemie operacyjnym.

time (time ls)

Określa ilość czasu, który zużywa proces na wykonanie zdania

finger nazwa_użytkownika

Informacje systemowe o użytkowniku.

last

Pokazuje ostatnie nieudane logowanie do systemu

history | more

Pokazuje ostatnie komend wykonanych z linii komend na bieżącym koncie

uname -a

Informacja o lokalnym sewerze

cat /etc/issue

jaka dystrybucja

df -h

Drukuje informacje o wszystkich dyskach w systemie plików

who –a (rwho)???

Określa użytkowników zalogowanych na innych komputerach w sieci

15

c.d.

•du / -bh | more

•pokazuje ile miejsca na dysku zajmują poszczególne katalogi.

•printenv - pokazuje aktualnie zdefiniowane zmienne środowiskowe

•echo $PATH - wyświetla zawartość zmiennej środowiskowej "PATH".

•set | more - pokazuje ustawienia środowiska użytkownika

•cal - wyświetla kalendarz na aktualny miesiąc.

•cat /etc/issue - wyświetla informacje, jakiej dystrybucji Linuxa używasz

•cat /proc/cpuinfo - informacje o swoim procesorze (procesorach).

•cat /proc/filesystems - pokazuje używane rodzaje systemów plików.

•cat /proc/interrupts - pokazuje informacje o używanych przerwaniach, i nazwy

urządzeń im przypisanych.

•cat /proc/pci - lista informacji o urządzeniach podłączonych do magistrali PCI.

•cat /proc/version - informacje o wersji Linuxa.

16

Standardowe wejście-wyjście poleceń

0 – standardowe wejście stdin (klawatura terminala)

1 – standardowe wyjście stdout (ekran terminala)

2 – standardowe wyjście diagnostyczne stderr (ekran terminala)

> plik - skierowanie standardowego wyjscia do pliku

>> plik - skierowanie standardowego wyjscia na koniec pliku

2 > plik - skierowanie standarowego wyjscia diagnostycznego do pliku

2>&1 - skierowanie standardowego wyjscia diagnostycznego w miejsce

standardowego wyjścia

< plik - związanie standardowego wejścia z plikiem

17

Potoki poleceń

Polecenie1 | Poleceni 2 | .... [ | Polecenie n]

filtr

ls –l | more Poleceni1 && Polecenie2

Wykonaj Polecenie 2 jeśli Polecenie1

zakończyło się sukcesem

Poleceni1 || Polecenie2

Wykonaj polecenie2 jeśli polecenie1

Zakończyło się niepowodzeniem

Poleceni1 || Polecenie2; Poleceni3 Poleceni1 || {Polecenie2; Poleceni3}

???

18

Polecenie cat cat -opcje nazwa_pliku

Stosując opcję -b , obok każdego niepustego wiersza wyświetlony zostanie jego

numer: cat -b /etc/issue.

W przypadku gdy treść pliku nie mieści się na ekranie należy zastosować filtr

more np: cat -b /etc/inittab |more.

Poprzez zastosowanie filtru lpr treść pliku zostanie wysłana do drukarki.

Możliwe jest wyświetlanie kilku plików jednocześnie poprzez wpisanie kolejnych

nazw po cat : cat /etc/issue /etc/inittab

Poprzez zastosowanie operatorów przekierowania strumienia wyjścia, takich jak

> lub >> możliwe jest skopiowanie lub dołączenie wczytanego tekstu do innego

pliku. Możliwe jest połączenie kilku plików w jeden, przykład: polecenie

cat plik1 plik2 plik3 >trzy

spowoduje utworzenie jednego pliku o nazwie trzy.

Po napisaniu polecenia: cat > zapis wprowadzany tekst z klawiatury będzie

zapisywany do pliku o nazwie zapis . Aby zakończyć wpisywanie tekstu należy

nacisnąć klawisze Ctrl i D .

W następnym przykładzie zawartość pliku plik1 zostanie dopisana do pliku

plik2. cat plik1 >>plik2

19

Polecenie: mkdir

mkdir [opcje] katalogi

Tworzenie katalogów.

Dostępne opcje:

-m prawą dostępu stworzenie katalogu z podanymi prawami dostępu

-p jeżeli zostanie podana ścieżka, w której poszczególne katalogi nie

istnieją, to zostaną one także utworzone

bash [opcje] [argumenty]

Interpreter poleceń podobny do shelli Bourne’a i Korna

20

Wprowadzenie do programowania

shella (bash)

Linia początkowa

Definicja zmiennej

Podstawiania jest w to

miejsce wartość zmiennej

21

Definiowanie zmiennych

użytkownika

Składnia: nazwa_zmiennej=wartość

$ no=10

Reguły dla wyznaczania zmiennych:

Nazwa zmiennych musi zaczynać się od liter lub znaku podkreślenia (_) i

składać się z jednej lub więcej liter.

brak spacji po obu stronach znaku równości

Zmienne rozróżniają wielkości liter

Definiowanie pustych zmiennych $ vech= $ vech=""

22

Wyświetlanie zmiennych

Składnia: $nazwazmiennej

$ x=10

$ echo $x

Wyświetlić sumę dwóch liczb 66 i 5 ??

$ echo 66 + 5

$ expr 66 + 5

$ expr 66+5

+ dodawanie

- odejmowanie

/ dzielenie

% reszta z dzielenia

\* mnożenie

$x=20

$ y=5

$ expr x / y

$ z=`expr x / y`

$ echo $z

23

Wyrażenia arytmetyczne

x=1; y=2 # przypisanie wartości liczbowych zmiennym x i y

let "x=x+1" # zwiększane wartości x o 1

echo x = $x # zostanie wypisane: x = 2

(( x = x+y )) # tutaj nie jest potrzebne cytowanie

echo x = $x # zostanie wypisane: x = 4

24

„Cudzysłów”

Cudzysłów w skryptach występuje w trzech rodzajach:

" - podwójny cudzysłów

' - pojedynczy cudzysłów (apostrof)

` - odwrócony cudzysłów (odwrócony apostrof)

1."Podójny cudzysłów" - Cokolwiek jest zamknięte w podwójny cudzysłów

pozbawiane jest znaczenia tych znaków (z wyjątkiem \ i $).

2. 'Pojedynczy cudzysłów' - Zamknięty ciąg w pojedynczy cudzysłów

pozbawiane jest znaczenia tych znaków bez wyjątków.

3. `Odwrócony cudzysłów` - Wykonuje polecenie.

$ echo "Dzisiaj jest date"

$ echo "Dzisiaj jest” `date`

25

Argumenty

$ cat > demo

#!/bin/sh

echo "Całkowita liczba argumentów linii poleceń $#"

echo "$0 jest nazwą skryptu"

echo "$1 jest pierwszym argumentem"

echo $2 jest drugim argumentem"

echo "Wszystkie na raz :- $*"

$ chmod +x demo

$ ./demo pierwszy skrypt

26

Przykładowy skrypt