|
|
pl:dydaktyka:sitw:2016:wstep [2017/10/16 13:26] bstachura [Tworzenie skryptów bash] |
pl:dydaktyka:sitw:2016:wstep [2019/06/27 15:50] |
===== Krótki kurs administracji systemami Linux ===== | |
| |
==== SSH ==== | |
| |
Połączenie ssh:\\ | |
Pierwszy sposób: | |
<code bash> | |
ssh nazwa_uzytkownika@adres.hosta | |
</code> | |
Drugi sposób: | |
<code bash> | |
ssh -l nazwa_uzytkownika adres.hosta | |
</code> | |
| |
W przypadku gdy ssh działa na innym porcie niż standardowy: | |
| |
<code bash> | |
ssh -l nazwa_uzytkownika -p port adres.hosta | |
</code> | |
| |
==== Zmiana użytkownika w konsoli ==== | |
| |
Na roota: | |
<code bash> | |
su | |
</code> | |
Na innego użytkownika: | |
<code bash> | |
su - nazwa_uzytkownika | |
</code> | |
| |
==== Operacje na plikach ==== | |
| |
Tworzenie plików: | |
<code bash> | |
touch nazwa_pliku | |
</code> | |
Tworzenie katalogu: | |
<code bash> | |
mkdir nazwa_katalogu | |
</code> | |
<code bash> | |
mkdir -p /sciezka/do/katalogu/nazwa_katalogu | |
</code> | |
Kopiowanie plików: | |
<code bash> | |
cp zrodlo cel | |
</code> | |
Przenoszenie plików: | |
<code bash> | |
mv zrodlo cel | |
</code> | |
Usuwanie plików: | |
<code bash> | |
rm nazwa_pliku | |
</code> | |
Przechodzenie do katalogu: | |
<code bash> | |
cd /sciezka/do/katalogu | |
</code> | |
wyświetlanie plików: | |
<code bash> | |
cat nazwa_pliku | |
</code> | |
==== Konfiguracja interfejsów sieciowych ==== | |
| |
=== Statyczny adres === | |
Konfiguracji dokonujemy poprzez edycję pliku: | |
<code bash> | |
nano /etc/network/interfaces | |
</code> | |
Zawartość pliku: | |
<code bash> | |
iface eth0 inet static | |
address 192.168.1.111 | |
netmask 255.255.255.0 | |
gateway 192.168.1.1 | |
</code> | |
=== Dynamiczny adres === | |
Konfiguracji dokonujemy poprzez edycję pliku: | |
<code bash> | |
nano /etc/network/interfaces | |
</code> | |
Zawartość pliku: | |
<code bash> | |
iface eth0 inet dhcp | |
</code> | |
| |
==== Instalacja w systemie Linux ==== | |
| |
Instalacja z repozytoriów:\\ | |
<code bash> | |
apt-get update | |
apt-get install nazwa_pakietu | |
</code> | |
| |
Instalacja z pakietu pobranego z sieci:\\ | |
Pobranie pakietu:\\ | |
<code bash> | |
wget -opcje adres.z.ktorego.popieramy | |
</code> | |
Instalacja pobranego już pakietu:\\ | |
<code bash> | |
dpkg -i nazwa_pakietu.deb | |
</code> | |
==== 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" | |
| |
<code bash> | |
#!/bin/bash | |
</code> | |
| |
Zmienne w powłoce: | |
<code bash> | |
#!/bin/bash | |
zmienna="SiTW nie restartuj mnie" | |
echo $zmienna | |
</code> | |
| |
Zmienna specjalna **$** | |
| |
<code bash> | |
#!/bin/bash | |
vdir /home/test | |
echo $? | |
</code> | |
| |
W zmiennej tej zapisywana jest informacja czy program ukończył działanie poprawnie.\\ | |
| |
Instrukcja warunkowa **if**:\\ | |
<code bash> | |
if wartość | |
then | |
zrób coś | |
else | |
zrób coś innego | |
fi | |
</code> | |
| |
Instrukcja **case**:\\ | |
<code bash> | |
#!/bin/bash | |
wartosc=1 | |
case "$wartosc" in | |
1) | |
echo Liczba ma wartosc 1 | |
;; | |
2) | |
echo Liczba ma wartosc 2 | |
;; | |
Esac | |
</code> | |
Pętla **while**:\\ | |
<code bash> | |
#!/bin/bash | |
i=0 | |
while [ $i -lt 2 ] | |
do | |
echo $i | |
i=`expr $i + 1` | |
done | |
</code> | |
Stosowanie **break**:\\ | |
<code bash>#!/bin/bash | |
for warzywo in marchew seler kalafior | |
do | |
echo $owoc | |
if [ "$owoc" = "kalafior" ] | |
then | |
break | |
fi | |
done | |
</code> | |
==== Zadania ==== | |
| |
* Napisz skrypt rysujący choinkę w konsoli, | |
* | |