background image

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, 

background image

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

background image

Ć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 -----------

background image

Ć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

background image

Ć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

background image

Ć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 ′ ′

background image

Ćwiczenie 5

Polecenie  read  umożliwia  odczytanie  ze 

standardowego 

wejścia 

pojedynczego 

wiersza.

#!/bin/bash

echo -ne "Wprowadź tekst: \a"

read wpis

echo $wpis

background image

Ć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"

background image

Ć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

background image

Ćwiczenie 8

Utwórz  za  pomocą  edytora  vi  plik  tekstowy  o  nazwie  case  

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 

background image

Ć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 

background image

Ć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

background image

Ćwiczenie 11

Utwórz  za  pomocą  edytora  vi  plik  tekstowy  o  nazwie  select  
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 

background image

Ć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

background image

 Ćwiczenie 13

Utwórz  za  pomocą  edytora  vi  plik  tekstowy  o  nazwie  while1  

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

background image

 Ć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

background image

Ćwiczenie 15

Utwórz za pomocą edytora vi plik tekstowy o nazwie until 

zawartości: 

#!/bin/bash 

x=1; 

until [ $x -ge 10 ] 

do 

echo „Linia pojawił się po raz: $x"

x=$[x+1] 

done

background image

Ćwiczenie

Posługiwanie się skryptami powłoki do zadań administracyjnych

Aby 

przygotować 

skrypt 

tworzący 

konto 

użytkownika 

systemie 

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.

background image

Ć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

background image

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


Document Outline