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 możliwa, albo wyświetlenie wszystkich dostępnych opcji. 12
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 - 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 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