===== 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.