teoria 1 - linux podstawy

Transkrypt

teoria 1 - linux podstawy
System Linux - użytkowanie
1
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
2
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
3
Drzewo katalogów
Struktura systemu Unix V
4
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).
5
Atrybutów plików
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 (ab, a jest odsyłaczem do b)
6
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 0644 plik 
chmod o=r plik
chmod u=rw, go=r plik
chmod u+rw, g+r, o+r plik
7
III
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.
8
Znaki o specjalnym znaczeniu
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;
9
c.d.
[. . .] 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.
10
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.
11
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
12
możliwa, albo wyświetlenie wszystkich dostępnych opcji.
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.
13
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
14
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.
15
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
>> plik
2 > plik
2>&1
-
< plik
-
skierowanie standardowego wyjscia do pliku
skierowanie standardowego wyjscia na koniec pliku
skierowanie standarowego wyjscia diagnostycznego do pliku
skierowanie standardowego wyjscia diagnostycznego w miejsce
standardowego wyjścia
związanie standardowego wejścia z plikiem
16
Potoki poleceń
Polecenie1 | Poleceni 2 | .... [ | Polecenie n]
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
filtr
???
Poleceni1 || Polecenie2; Poleceni3
Poleceni1 || {Polecenie2; Poleceni3}
17
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
18
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
19
Wprowadzenie do programowania
shella (bash)
Linia początkowa
Podstawiania jest w to
miejsce wartość zmiennej
Definicja zmiennej
20
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=""
21
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
22
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
23
„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`
24
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
25
Przykładowy skrypt
26

Podobne dokumenty