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.