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 (ab, 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