System Linux - użytkowanie 1
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