Podstawowe operacje
systemu Linux 6
Na podstawie książki
Systemy operacyjne i sieci
komputerowe.
Podręcznik z płytą CD-ROM. Wydanie
zmienione
Krzysztof Pytel, Sylwia Osetek,
Zasady tworzenia skryptów
Każde zapisane w skrypcie polecenie musi być zapisane w oddzielnej linii (no...
chyba że
użyjemy separatora ';').
Pierwsza linia każdego skryptu musi zawierać wywołanie shella, pod którym skrypt
będzie wykonywany.
Np. dla basha: #!/bin/bash
Aby skrypt dało się uruchomić należy zmienić mu uprawnienia (tak aby
przynajmniej właściciel mógł go uruchamiać).
chmod 700 skrypt
Żeby uruchomić skrypt musimy wpisać (będąc np. w tym samym katalogu) ścieżkę
dostępu do niego:
./skrypt
Ćwiczenie 1
Utwórz za pomocą edytora vi plik tekstowy o nazwie info o zawartości:
#!/bin/bash
clear
date
echo -----------
uname –a
echo -----------
whoami
echo -----------
hostname
echo -----------
Ćwiczenie 2
Utwórz za pomocą edytora vi plik tekstowy
o nazwie powitanie o zawartości:
#!/bin/bash
echo "Witam. Twój login to: $USER"
echo "Lista plików w bieżącym katalogu, $PWD"
ls
Ćwiczenie 3
Utwórz za pomocą edytora vi plik tekstowy
o nazwie info1 o zawartości:
#!/bin/bash
echo Liczba aktywnych użytkowników
who | wc –l
echo Liczbę kont użytkowników w systemie
wc –l /etc/passwd
Ćwiczenie 4
Utwórz za pomocą edytora vi plik tekstowy o nazwie info2 o zawartości:
# !/bin/bash
# zapamiętanie w zmiennej nazwy bieżącego katalogu
katalog=`pwd`
sleep 1
echo $katalog
Uwaga:
Zastosuj znaki `` a nie ′ ′
Ćwiczenie 5
Polecenie read umożliwia odczytanie ze
standardowego
wejścia
pojedynczego
wiersza.
#!/bin/bash
echo -ne "Wprowadź tekst: \a"
read wpis
echo $wpis
Ćwiczenie 6
Polecenie read3 pozwala również na przypisanie kilku
wartości kilku zmiennym.
#!/bin/bash
echo –ne "Wpisz trzy wyrazy:"
read a b c
echo „Wpisałeś $a $b $c”
echo "Wartość zmiennej a to: $a"
echo "Wartość zmiennej b to: $b"
echo "Wartość zmiennej c to: $c"
Ćwiczenie 7
Utwórz za pomocą edytora vi plik tekstowy o nazwie then o zawartości:
#!/bin/bash
# jeśli podano pierwszy parametr
# to wydrukuj napis "Parametr podano"
# w przeciwnym razie wydrukuj napis „Brak parametru"
echo Naciśnij dowolny klawisz lub tylko ENTER
read a
if [ "$a" ]
then
echo "Parametr podano"
else
echo "Brak parametru"
f
Ćwiczenie 8
Utwórz za pomocą edytora vi plik tekstowy o nazwie case o
zawartości:
#!/bin/bash
echo "Podaj cyfrę dnia tygodnia"
read d
case "$d" in
"1") echo "Poniedziałek" ;;
"2") echo "Wtorek" ;;
"3") echo "Środa" ;;
"4") echo "Czwartek" ;;
"5") echo "Piątek" ;;
"6") echo "Sobota" ;;
"7") echo "Niedziela" ;;
*) echo "Nic nie wybrałeś"
esac
Ćwiczenie 9
W katalogu domowym utwórz dwa pliki z końcową nazwą txt
Utwórz za pomocą edytora vi plik tekstowy o nazwie for o
zawartości:
#!/bin/bash
# Wyszukuje i wyświetla pliki *txt
for x in *txt
do
echo "To jest plik $x"
done
Ćwiczenie 10
Utwórz w katalogu domowym katalog powloka. W katalogu tym utwórz
dowolne pliki tekstowe. Ćwiczenie wykonaj w katalogu powloka!!!
Utwórz za pomocą edytora vi plik tekstowy o nazwie for1 o zawartości:
#zmieniamy nazwy wszystkich plików
#w bieżącym katalogu
#dodając im rozszerzenia .txt
for d in *
do
mv $d $d.txt
done
Ćwiczenie 11
Utwórz za pomocą edytora vi plik tekstowy o nazwie select o
zawartości:
#!/bin/bash
echo "Co wybierasz? Wybierz cyfrę."
select y in X Y Z Quit
do
case $y in
"X") echo "Wybrałeś X" ;;
"Y") echo "Wybrałeś Y" ;;
"Z") echo "Wybrałeś Z" ;;
"Quit") exit ;;
*) echo "Nic nie wybrałeś. Uwaga! Wybierz cyfrę."
esac
break
done
Ćwiczenie 12
Utwórz za pomocą edytora vi plik tekstowy o nazwie
while o zawartości:
#!/bin/bash
x=1;
while [ $x -le 10 ]
do
echo „Linias pojawił się po raz: $x"
x=$[x+1]
done
Ćwiczenie 13
Utwórz za pomocą edytora vi plik tekstowy o nazwie while1 o
zawartości:
#!/bin/bash
x=1;
echo Wpisz liczbę większą od 1
read y
while [ $x -le $y ]
do
echo „Linia pojawił się po raz: $x"
x=$[x+1]
done
Ćwiczenie 14
Utwórz za pomocą edytora vi plik tekstowy o nazwie while1 o zawartości:
#!/bin/bash
# co pół minuty wydrukuj na terminalu
# bieżącą datę
echo Przerwanie wyświetlania Ctrl+Z
while [ true ]
do
date
sleep 30
done
Ćwiczenie 15
Utwórz za pomocą edytora vi plik tekstowy o nazwie until o
zawartości:
#!/bin/bash
x=1;
until [ $x -ge 10 ]
do
echo „Linia pojawił się po raz: $x"
x=$[x+1]
done
Ćwiczenie
Posługiwanie się skryptami powłoki do zadań administracyjnych
Aby
przygotować
skrypt
tworzący
konto
użytkownika
w
systemie
i
przypisać
mu
odpowiednie uprawnienia, należy:
1. Zalogować się na konto użytkownika root.
2. W dowolnym edytorze tekstu utworzyć plik
skrypt.bat i napisać kod skryptu, np.
Ćwiczenie
Posługiwanie się skryptami powłoki do zadań administracyjnych
#!/bin/bash
useradd uczen1
# tworze katalog dla stron www
mkdir /home/uczen1/public_html
# ustawiam uprawnienia dla katalogu użytkownika
chmod 711 /home/uczen1
# zmieniam właściciela katalogu public_html
chown uczen1:uczen1 /home/uczenl/public_html
# ustawiam hasło użytkownika (123)
echo "123" | passwd --stdin uczen1
Ćwiczenie
Posługiwanie się skryptami powłoki do zadań administracyjnych
3. Nadać prawo do wykonania skryptu poleceniem
# chmod 700 skrypt.bat
4. Przetestować skrypt poprzez jego uruchomienie poleceniem
#./skrypt.bat
5. Zalogować się do systemu jako użytkownika uczen1 z
hasłem 123.
Przykłady skryptów do tworzenia i kasowania kont
użytkowników zostały umieszczone na płycie dołączonej do
podręcznika.