===== Krótki kurs administracji systemami Linux ===== ==== SSH ==== Połączenie ssh:\\ Pierwszy sposób: ssh nazwa_uzytkownika@adres.hosta Drugi sposób: ssh -l nazwa_uzytkownika adres.hosta W przypadku gdy ssh działa na innym porcie niż standardowy: ssh -l nazwa_uzytkownika -p port adres.hosta ==== Zmiana użytkownika w konsoli ==== Na roota: su Na innego użytkownika: su - nazwa_uzytkownika ==== Operacje na plikach ==== Tworzenie plików: touch nazwa_pliku Tworzenie katalogu: mkdir nazwa_katalogu mkdir -p /sciezka/do/katalogu/nazwa_katalogu Kopiowanie plików: cp zrodlo cel Przenoszenie plików: mv zrodlo cel Usuwanie plików: rm nazwa_pliku Przechodzenie do katalogu: cd /sciezka/do/katalogu wyświetlanie plików: cat nazwa_pliku ==== Konfiguracja interfejsów sieciowych ==== === Statyczny adres === Konfiguracji dokonujemy poprzez edycję pliku: nano /etc/network/interfaces Zawartość pliku: iface eth0 inet static address 192.168.1.111 netmask 255.255.255.0 gateway 192.168.1.1 === Dynamiczny adres === Konfiguracji dokonujemy poprzez edycję pliku: nano /etc/network/interfaces Zawartość pliku: iface eth0 inet dhcp ==== Instalacja w systemie Linux ==== Instalacja z repozytoriów:\\ apt-get update apt-get install nazwa_pakietu Instalacja z pakietu pobranego z sieci:\\ Pobranie pakietu:\\ wget -opcje adres.z.ktorego.popieramy Instalacja pobranego już pakietu:\\ dpkg -i nazwa_pakietu.deb ==== Tworzenie skryptów bash ==== Skrypty powłoki muszą zostać poprzedzone odpowiednią instrukcją odwołującą się do interpretera powłoki. W Państwa przypadku jest to powłoka /bin/bash" #!/bin/bash Zmienne w powłoce: #!/bin/bash zmienna="SiTW nie restartuj mnie" echo $zmienna Zmienna specjalna **$?** #!/bin/bash vdir /home/test echo $? W zmiennej tej zapisywana jest informacja czy program ukończył działanie poprawnie.\\ Instrukcja warunkowa **if**:\\ if wartość then zrób coś else zrób coś innego fi Instrukcja **case**:\\ #!/bin/bash wartosc=1 case "$wartosc" in 1) echo Liczba ma wartosc 1 ;; 2) echo Liczba ma wartosc 2 ;; Esac Pętla **for**:\\ #!/bin/bash for warzywa in marchew seler kalafior do echo $warzywa done Pętla **while**:\\ #!/bin/bash i=0 while [ $i -lt 2 ] do echo $i i=`expr $i + 1` done Stosowanie **break**:\\ #!/bin/bash for warzywo in marchew seler kalafior do echo $owoc if [ "$warzywo" = "kalafior" ] then break fi done Stosowanie **continue**:\\ #!/bin/bash for warzywo in marchew seler kalafior do echo $owoc if [ "$warzywo" = "marchew" ] then continue fi echo nastepna linia done Argumenty przekazywane do skryptu są w następujący sposób:\\ [xyz@localhost ~]$ ./skrypt super Do argumentów wysłanych po uruchomieniu skryptu odwołujemy się za pomocą zmiennych **$1, $2.....$n**. #!/bin/bash echo "Dzisiaj pogoda była $1" ==== Zadania ==== * Przejdź do katalogu /tmp * Stwórz plik /tmp/lab1/lab1.sh * Zmień mu prawa dostępu na rwxrwxrwx. * Za pomocą echo i przesunięcia bitowego zapisz w nim ciąg znaków: "pierwsza linia" a następnie w drugiej linii: "druga linia" * Skopuj go do lokalizacji /tmp/lab1/lab1a.sh * Odbierz wszelkie prawa grupie do pliku /tmp/lab1/lab1a.sh * Stwórz link symboliczny do pliku /tmp/lab1/lab1.sh w lokalizacji /tmp/labek * Napisz skrypt rysujący choinkę w konsoli, * Napisz skrypt zalogowanych.sh, który zwróci liczbę aktualnie zalogowanych użytkowników i wypisze twój login, * Napisz skrypt szukaj-tutaj.sh, który będzie wyszukiwał pliki o nazwie podanej w parametrze skryptu. Wyszukiwanie ma się odbywać od katalogu w którym aktualnie pracuje użytkownik, * Napisz skrypt serwer.sh, który przyjmuje tylko trzy parametry: „start” (wyświetla napis: "Usługa jest uruchamiana"), „stop” (wyświetla napis: "Usługa jest zatrzymywana") i „restart” (wyświetla napis: "Usługa jest restartowana"), * Napisz skrypt pliki-wykonywalne.sh, który wyświetli nazwy wszystkich plików z katalogu /bin/, które użytkownik ma prawo uruchamiać, * Zainstaluj git, * Usuń git.