Systemy operacyjne

Opis zajęć i zasad

Zajęcia 1

Podstawowe komendy Linux *

Zaloguj się do systemu podając nazwę użytkownika i hasło. Uruchom emulator terminala :

Ikonka lewy dół ekranu -> SystemTools -> konsole

ls

Wpisz komendę ls (ang. list):

ls

Wykorzystaj przełączniki, porównaj efekty wykonania następujących komend:

ls
ls -l
ls -a
ls -l -a
ls -a -l
ls -la
ls -al

Zastosuj nazwy uogólnione w odwołaniach do plików, stosując znaki specjalne:

* - dowolny ciąg znaków,

? - pojedynczy znak,

[] - pojedynczy znak ze wskazanego zbioru.

W celu wykonania ćwiczenia utwórz komendą touch puste pliki o różnych nazwach:

touch a.txt b.txt c.txt
touch a.dat b.dat ab.dat
ls *.txt
ls a*
ls *.*
ls *
ls [ab].txt
ls ?.dat
ls *.???

Podstawowe przełączniki:

-l : podaje więcej informacji o plikach (typ, prawa, liczbę dowiązań, rozmiar, właściciela i grupę, datę modyfikacji i nazwę)

-a : wyświetla również pliki ukryte

-d : wymusza traktowanie ścieżki jako katalog (np. pokazuje prawa do samego katalogu zamiast wyświetlać jego zawartość)

-t : sortuje wyświetlane pozycje wg daty modyfikacji

pwd

Sprawdź nazwę katalogu bieżącego komendą pwd (ang. print working directory).

pwd

cd

Zmień bieżący katalog komendą cd (ang. change directory), wykonaj serię komend i sprawdź ich działanie:

cd /
cd /usr
cd local
cd bin
cd ..
cd man
cd .
cd

Wykonaj komendę ls stosując zarówno przełączniki jak i argumenty:

ls -l /usr
ls -l -a /tmp
ls -l

Pomoc systemowa man

Przywołaj pomoc systemową opisującą komendę ls:

man ls

Znajdziesz tam opis działania, argumentów i przełączników stosowanych z daną komendą. Zapoznaj się z podstawowymi komendami sterującymi przeglądarką pomocy systemowej:

q - wyjście,

Enter, j, k - przewijanie liniami,

Spacja, Ctrl–f, Ctrl–b, Ctrl–d, Ctrl–u - przewijanie stronami,

g, G - przejście na początek/koniec pliku,

/ - rozpoczęcie wyszukiwania tekstu,

n, N - przejście do następnego/poprzedniego wystąpienia słowa

d - przewinięcie o pół ekranu w dół

u - przesunięcie o pół ekranu w górę

Uzyskaj dostęp do stron pomocy w języku polskim ustawiając zmienną środowiskową LANG:

export LANG=pl_PL.UTF-8
man ls
export LANG=en_UK.UTF-8
man ls

gdzie pl oznacza język polski, PL oznacza Polskę a UTF-8 jest standardem kodowania znaków narodowych.

Pomoc systemowa help

Przywołaj pomoc systemową opisującą komendę ls:

ls --help

Porównaj opis z opisem otrzymanym za pomocą man.

whatis

Przywołaj opis opisujący komendę ls:

whatis ls

Numer w nawiasie przy komendzie podaje nam numer sekcji pomocy systemowej w której możemy znaleźć opis danej funkcji. W niektórych przypadkach dane polecenie znajdziemy w więcej niż jednej sekcji (np. polecenie sleep).

Sekcje pomocy systemowej

1 — polecenia,

2 — funkcje systemowe,

3 — funkcje biblioteczne,

4 — pliki specjalne,

5 — formaty plików,

6 — gry,

7 — różne,

8 — polecenia administracyjne

Zadanie

Zadanie: Na podstawie dokumentacji ze strony man 7 hier pomocy systemowej zapoznaj się z opisem znaczenia następujących katalogów: /etc, /bin, /usr, /tmp, /var , /home, /dev

Terminal

  • Przećwicz mechanizm przywoływania i edycji ostatnio wykonywanych komend stosując klawisze kursorów góra i dół.

  • Wyświetl historię ostatnio wykonywanych poleceń komendą history.

  • Przećwicz interaktywne przeszukiwanie ostatnio wykonywanych poleceń dostępne po wciśnięciu kombinacji Ctrl–r.

  • Przećwicz mechanizm automatycznego uzupełniania nazw programów i plików za pomocą Tab:

    Wpisz mk Tab Tab d Tab

    Wpisz ls m Tab

  • Przećwicz przewijanie zawartości okna terminala kombinacjami Shift–PgUp, Shift–PgDn, Shift–ArrowUp, Shift–ArrowDown

  • Przetestuj odświeżenie ekranu kombinacją Ctrl–l i komendą clear.

  • Przetestuj zamykanie konsoli poprzez Ctrl–d.

Katalogi i pliki

mkdir / rmdir

Utwórz przykładowe podkatalogi w swoim katalogu domowym:

mkdir x1
mkdir x2 x3
mkdir -p x1/x4/x5

Co robi przełącznik -p ?? Wyświetl strukturę katalogów korzystając z komend

ls
tree
ls -lR

Usuń katalogi komendą

rmdir
rmdir x1
rmdir -p x2

Utwórz przykładowe pliki komendą touch (tworzy pusty plik) lub dowolnym edytorem

touch a.txt
touch b.csv c.dat

cp / rm / mv

Przetestuj komendę cp (ang. copy) służącą do kopiowania katalogów:

cp a.txt b.txt
cp -i a.txt b.txt
cp a.txt b.txt x1/
cp a.txt x1/d.txt
cp *.txt x2/
cp -v *.txt x2/

Zwróć uwagę na zastosowanie i funkcje przełączników.

Sprawdź jak zachowa się polecenie

cp a.txt ab
W przypadku gdy:
  1. ab nie istnieje,

  2. ab jest plikiem zwykłym,

  3. ab jest katalogiem.

Przećwicz usuwanie plików komendą rm (ang. remove)

rm a.txt b.txt
rm *.txt
rm -i *.txt

Komenda rm umożliwia również usuwanie całych struktur katalogów, łącznie z plikami znajdującymi się w środku:

rm -r x1/

Sprawdź co powoduje przełącznik -f komendy rm (man rm).

Przećwicz kopiowanie całych struktur katalogowych:

cp -r x1/ x5

Sprawdź działanie komendy w przypadku, gdy

  1. x nie istnieje

  2. x jest katalogiem.

Sprawdź działanie przełączników -T i -t komendy cp

Zmień nazwę wybranego pliku:

mv a.txt e.txt

Zmień lokalizację pliku:

mv a.txt x2

Wykonaj te akcje jednocześnie

mv a.txt x2/e.txt

Sprawdź działanie przełączników -v, -i, -t, -T w przypadku komendy mv. Sprawdź działanie komendy mv w odniesieniu do katalogów:

mv x1/ x2/
mv x2/ ac
cd x3
mv a.txt ..
mv ../a.txt .

echo

Wyświetla podane parametry na konsoli. Parametrami mogą być nazwy plików, katalogów, tekst, zmienne powłoki poprzedzone $ (np. zmiennej systemowej $PATH).

echo $PATH
echo abc

Ćwiczenie

Wykonaj następujące czynności:

  • przejdź do swojego katalogu domowego

  • utwórz podkatalog o nazwie cw1

  • przejdź do utworzonego katalogu

  • wykonaj echo abc > plik.txt (polecenie to tworzy plik plik.txt o zawartości abc - wykorzystuje przekierowanie wyjścia polecenia echo; o strumieniach będziemy mówić na kolejnych zajęciach)

  • zmień nazwę pliku plik.txt na plik2.txt

  • utwórz podkatalog test

  • skopiuj plik plik2.txt do podkatalogu test

  • przejdź do katalogu domowego

  • usuń (za pomocą jednego polecenia) katalog cw1 wraz z całą zawartością

*

Materiały pochodzą ze skryptu http://www.cs.put.poznan.pl/csobaniec/edu/sop/doc/sop1.pdf