niedziela, 5 grudnia 2010

BASH - Laboratorium 1

Zamieszczam tutaj rozwiązania z laboratorium. Programujemy w BASH'u. Może komuś się przydadzą te materiały. W miarę możliwości postaram się wyprzedzać nasze zajęcia.

Zadanie 1:
Sprawdzić różnicę między poleceniem man i apropos.

#Man jest poleceniem wywołującym plik pomocy danego #programu
#Przykład działania:
#man date
Zadanie 2:
Znajdź położenie swojego katalogu osobistego.


#Położenie swojego katalogu osobistego uzyskamy za pomocą #polecenia pwd
#pwd
#Wynik:
#/home/m/akowalski


Zadanie 3:
Stworzyć spis zawartości swojego katalogu osobistego. Następnie odczytać prawa dostępu, rozmiar, właściciela, datę i czas ostatniej modyfikacji oraz nazwę każdego pliku.


#Szczegółowy spis zawartości uzyskujemy przez wpisanie ls -la

Zadanie 4:
Obejrzeć zawartość katalogu nadrzędnego.

#Zawartość katalogu nadrzędnego przejrzymy
# ls -la /../

Zadanie 5:
a) Założyć katalogi: b1, b2
b) Następnie w katalogu b1 utworzyć kilka plików (np. sala1, sala2, sala22, sala23, sala220) przy
pomocy: polecenia touch oraz edytorów: pico, vi, vim
c) Sprawdzić zawartość katalogu
d) Przekopiować wszystkie pliki z katalogu b1 do katalogu b2 (wg poniższych sposobów)
- wykonać kopiowanie z poziomu katalogu nadrzędnego (..); usunąć pliki w katalogu b2)
- wykonać z poziomu katalogu bieżącego (z b1); usunąć pliki w katalogu b2)
e) Przenieść wszystkie pliki z katalogu b1 do katalogu b2
- z poziomu katalogu nadrzędnego (..)
- poziomu katalogu bieżącego (z b1)
f) Przenieść pliki z katalogu b2, zaczynające się na literę ‘s’ i których 5 i 6 znak równy jest liczbie 2 do katalogu b1
g) Stwórz w katalogu osobistym następujące pliki: aaa2, aa1, ala, as1, a2a, b01, bb2, bbb3

#a)Zakładamy katalogi: b1 i b2
#mkdir b1 b2
#b)
#cd ~/b1
#touch sala1 sala2 sala22 sala23 sala220
#c)
#ls ~/b1
#d)
#cp /../* /b2
#rm /b2/*
#cp * /b2
#e)
#mv ~/b1/* ~/b2
#mv ~/../* ~/b2
#f)
#mv ~/b2/s???22 ~/b1
#g)
#touch aaa2 aa1 ala as1 a2a b01 bb2 bbb3

Zadanie 6:
Nadaj odpowiednie prawa dostępu plikom w katalogu b2:
- nadaj wszystkim oraz grupie prawa do zapisu i odczytu, a właścicielowi dodatkowe prawo do
wykonania
- usuń wszystkim, grupie oraz właścicielowi prawa do czytania

#chmod 766 ~/b2/*
#chmod 322 ~/b2/*

Zadanie 7:
Napisz taki skrypt, który tworzy (w katalogu osobistym) katalog o nazwie Tmp, a następnie
przeniesie wszystkie pliki o trzyliterowych nazwach, zaczynające się na literkę a, znajdujące się w katalogu bieżącym do katalogu Tmp. Po zakończeniu tych czynności skrypt powinien wyświetlić informację tekstową KONIEC.

#!/bin/bash
mkdir ~/Tmp
mv a?? ~/Tmp
echo "KONIEC"

Zadanie 8:
Napisz skrypt, który plikom z katalogu bieżącego nada prawa dostępu w następujący sposób:
- jeśli nazwa pliku zaczyna się literą a – właściciel i grupa otrzymują prawo do czytania i pisania, pozostali użytkownicy tylko prawo do odczytu;
- jeśli nazwa pliku zaczyna się literka b – właściciel otrzymuje pełne prawa, grupa – czytanie i
wykonanie, a pozostali – tylko odczyt;
- jeśli nazwa rozpoczyna się inna literka niż wymienione powyżej – tylko właściciel otrzymuje
prawa, są to prawa do odczytu i zapisu;

#!/bin/bash
chmod 664 ~/a*
chmod 734 ~/b*
chmod 600 ~/~ab
echo "KONIEC WYPASIONEGO SKRYPTU"

0 komentarzy:

Prześlij komentarz