Grupa 12K2 Rafał Linca 14.X.2009
Ć
wiczenie Laboratoryjne 2
Sprawozdanie
Sprawozdanie
Sprawozdanie
1. Cel
ć
wiczenia:
Celem
ć
wiczenia było poznanie podstaw poruszania si
ę
w systemie plików, tworzenia
i manipulacji plikami/katalogami w powłoce BASH (Bourne Again Shell).
Przedstawione zostały tak
ż
e ogólne wytyczne FHS (Filesystem Hierarchy Standard,
http://www.pathname.com/fhs/
).
2. Przebieg
ć
wiczenia:
W trakcie
ć
wicze
ń
laboratoryjnych zostały scharakteryzowane podstawowe katalogi
systemu
GNU/Linux. Nast
ę
pnie poznali
ś
my podstawowe polecenia powłoki BASH, które
wykorzystywali
ś
my podczas
ć
wicze
ń
polegaj
ą
cych na:
●
poruszania si
ę
pomi
ę
dzy katalogami (polecenie cd),
●
listowania zawarto
ś
ci katalogów (ls),
●
wy
ś
wietlania zawarto
ś
ci pliku (cat, less, more),
●
tworzenia plików/katalogów (touch, przekierowanie wyj
ś
cia, mkdir),
●
usuwania plików/katalogów (rm, rmdir),
●
tworzenia dowi
ą
za
ń
twardych oraz symbolicznych (ln),
●
kopiowania (cp),
●
przenoszenia i zmiana nazwy (mv),
●
korzystania z plików pomocy (man, info, help, apropos, whatis),
3. Wnioski:
Powłoka systemu GNU/Linux pomimo pierwszego wra
ż
enia jest pot
ęż
nym
narz
ę
dziem. Wszystko co mo
ż
emy 'wyklika
ć
', da si
ę
wykona
ć
za pomoc
ą
polece
ń
(cz
ę
sto kilkakrotnie szybciej).
4. Ciekawostki:
●
Alternatywne sposoby tworzenia plików:
– Przy pomocy przekierowania standardowego wyj
ś
cia (symbol '>') mo
ż
emy
tworzy
ć
puste pliki (polecenie echo > plik nie tworzy pustego pliku –
wstawia znak nowej linii) za pomoc
ą
:
echo -n > plik
– Mo
ż
emy tak
ż
e definiowa
ć
(dynamicznie) zawarto
ść
pliku podczas jego
tworzenia:
cat << EOF > plik
tresc
(…)
EOF
Metoda ta pozwala w przejrzysty sposób generowa
ć
pliki o dynamicznej
zawarto
ś
ci. W przeciwie
ń
stwie do echo 'tekst' > plik; echo
$zmienna_
ś
rodowiskowa >> plik itd. nie musimy si
ę
tutaj
przejmowa
ć
nawiasami i ampersandami oraz eliminujemy niebezpiecze
ń
stwo
nadpisania pliku (przypadkowe wstawienie > (nadpisanie) zamiast >>
(dopisanie))
Poni
ż
ej prezentuj
ę
przykład zastosowania w skrypcie generuj
ą
cym
podstawowe informacje o systemie:
#!/bin/bash
cat << EOF > ./sys_info
Kernel: `uname -r`
Wersja gcc: `gcc –version | head -n 1`
Profil gcc: `gcc-config -c`
Wygenerowano przez: `whoami`
EOF
Na pierwszy rzut oka wida
ć
,
ż
e taki zapis jest praktyczniejszy i bardziej
przejrzysty ni
ż
seria polece
ń
echo (..) >> plik