- System plików Unixa i polecenia na katalogach:
cd
ls
ls -l
ls -a
ls -1
man ls
mkdir podkatalog
ls -l
cd podkatalog
cd ..
rmdir podkatalog
cd /
ls -l
cd /etc
ls
ls -ltr
ls -l *.conf
ls -l *.?
ls -ld *.?
- Operacje na plikach:
cd $HOME
touch pusty
cp pusty drugi
mv drugi drugipusty
ls -l
rm pusty drugipusty
cat /etc/termcap
less /etc/termcap
i polecenia wewnętrzne programu less:
SPACE - pełny ekran do przodu
b - pełny ekran do tyłu
j - wiersz w dół
k - wiersz w górę
G - na koniec pliku
g - na początek pliku
h - pomoc: sumaryczne zestawienie poleceń
/string - przeszukiwanie do przodu
n - przeszukiwanie dalej
?string - przeszukiwanie do tyłu
N - przeszukiwanie dalej w drugą stronę
ls -l /etc | less
man less
- Prawa dostępu do plików - pierwsze kroki:
cd $HOME
echo proba > probny_plik
chmod -r probny_plik
ls -l probny_plik
cat probny_plik
chmod u+r probny_plik
ls -l probny_plik
cat probny_plik
chmod go-rwx probny_plik
ls -l probny_plik
- Operacje na procesach:
ps
ps -e
ps -ef
ps -ef | less
ps -el
man ps
top
- Kasowanie procesów:
kill pid
kill -9 pid
kill -9 -1 # uwaga - to jest polecenie samobójcze
- Uzyskiwanie informacji o użytkownikach włączonych do systemu:
who
finger
- Uzyskiwanie informacji o historii wlaczen do systemu:
last
last | less
- Uzyskiwanie informacji o istniejących kontach użytkowników:
cat /etc/passwd # plik kont
niscat passwd.org_dir # baza danych kont - może nie istnieć
ldaplist passwd # inna baza danych - też może nie istnieć
- Proste skrypty
Utwórz plik z poleceniami demonstrującymi podstawowe operacje na
plikach: tworzenie pliku i katalogu, zmienianie nazwy, praw dostępu,
linkowanie, kasowanie pliku, itp. Uruchamiaj plik jako skrypt, czyli:
sh nazwa-pliku
Wypróbuj opcję śledzenia wykonania poleceń w pliku (set -x).
- Dalsze ćwiczenia ze skryptami
Zmodyfikuj napisany przykładowy skrypt tak by wykonywał operacje na
swoich argumentach: $1, $2, $3, ...
Jeśli skrypt wykonuje operacje na plikach, to
(a) spróbuj przerobić go tak, żeby dla każdego argumentu zadawał pytanie
(poleceniem echo), czy wykonać daną operację czy nie.
(b) Następnie wywołaj skrypt z argumentem w postaci *.c i sprawdź czy
poprawnie działa na wszystkich plikach pasujących do napisanego wyrażenia.
- Prawa dostępu - podstawowe 9 bitów (ugo-rwx)
Utwórz plik i zmieniaj po kolei wszystkie bity praw dostępu i sprawdź
uzyskany efekt poleceniem chmod. Zapoznaj się z maską praw dostępu
(polecenie umask), i ustawiaj różne maski po czym twórz nowe pliki
(np. poleceniem touch) i sprawdzaj ustawienia bitów praw dostępu.
Czy maska pozwala w pełni kontrolować prawa dostępu?
Dla dociekliwych: czy potrafisz racjonalnie wytłumaczyć, czemu system
nie pozwala ustawiać pewnych kombinacji praw dostępu? Sprawdź, że
poleceniem chmod możesz ustawiać prawa dostępu, których nie można
uzyskać za pomocą maski.
- Prawa dostępu - 3 bity specjalne
Utwórz plik i sprawdź ustawianie na nim (poleceniem chmod) każdego z
trzech bitów specjalnych. Każdorazowo obejrzyj jak polecenie ls
wyświetla fakt ustawienia danego bitu, zarówno w przypadku gdy plik
ma jednocześnie ustawione poszczególne bity wykonywalności (--x--x--x)
jak i gdy ich nie ma.
- Program find
Program find służy do “znajdowania” na dysku komputera plików
spełniających określone warunki. Program nie ma interfejsu graficznego,
lecz język w jakim można te warunki określać jest niezwykle bogaty i mocny.
Warto nauczyć się posługiwać programem find przynajmniej w minimalnym stopniu.
Spróbuj pojedynczym wywołaniem find znaleźć w katalogu /etc: pliki o rozmiarze
do 1kB utworzone w ciągu ostatnich 3 dni, oraz pliki nie większe niż 250 kB,
utworzone nie mniej niż miesiąc, ale nie więcej niż trzy miesiące temu (dla
uproszczenia: 30 i 90 dni temu).
WSKAZÓWKA: zacznij od wyszukiwania plików z pojedynczymi kryteriami
wyszukiwania, upewnij się, że dobrze je rozumiesz i stosujesz, oraz uzyskujesz
prawidłowe wyniki. Następnie połącz kryteria wyszukiwania. W bardziej
zaawansowanych przypadkach mogą być do tego przydatne operatory logiczne -a i
-o jak również nawiasy \( \).
- Program tar
Zapoznaj się z programem tar i przećwicz archiwizowanie z jego pomocą najpierw
kilku plików, a następnie struktury katalogów. Przećwicz odtwarzanie, zarówno
całej zarchiwizowanej struktury, w tym z powrotem do pierwotnej lokalizacji w
systemie plików, jak i w inne miejsce, oraz wybiórczo, pojedynczych plików.
Sprawdź czy pliki i katalogi zostały kompletnie i wiernie odtworzone. Zwróć
uwagę, jak zapisywane są w archiwum pliki/katalogi zadane z pełną, bezwzględną
ścieżką, a jak te zadane nazwą lokalną. Sprawdź jak odtwarzane z archiwum są
atrybuty plików (np. jeśli odtwarza pliki inny użytkownik niż ich właściciel,
i jeśli ma ustawioną jakąś istotnie różną maskę umask), jak odtwarzane są
linki, itp.
Sformułuj wniosek, jak tar archiwizuje pliki, z punktu widzenia ich
późniejszego odtwarzania.
- Dalsze operacje na plikach - linki
touch pusty.l1
ln pusty.l1 pusty.l2
ls -l pusty.l*
mkdir podkatalog
mv pusty.l2 podkatalog
ls -l pusty.l* podkatalog
rm pusty.l1
mv podkatalog/pusty.l2 pusty.l1
ls -l pusty.l*
ln pusty.l1 pusty.l2
ls -l pusty.l*
chmod a=rw pusty.l1
ls -l pusty.l*
chmod a=xw pusty.l2
ls -l pusty.l*
- Linki symboliczne
ln -s pusty.l1 pusty.ls
ls -l pusty.l*
ls -lL pusty.l*
rm pusty.l1
ls -l pusty.l*
ls -lL pusty.l*
mv pusty.l2 pusty.l1
ls -l pusty.l*
ls -lL pusty.l*
mv pusty.ls podkatalog
ls -l pusty.l* podkatalog
ls -lL pusty.l* podkatalog
ln -s pierwszy drugi
ln -s drugi trzeci
ls -l pierwszy drugi trzeci
ls -lL pierwszy drugi trzeci
ln -s trzeci pierwszy
ls -l pierwszy drugi trzeci
ls -lL pierwszy drugi trzeci
ln -s /dev/dvd-player/film.1 film
ls -l film
ls -lL film
- Listy praw dostępu ACL (zadanie opcjonalne)
Jeśli chcesz poznać rozszerzone opcje sterowania prawami dostępu do
plików, zapoznaj się z działaniem list ACL (Access Control List).
Sprawdź czy Twój system operacyjny obsługuje listy ACL, a jeśli tak,
to jakie polecenia do tego służą, i czy któryś z dostępnych systemów
plików pozwala na tworzenie ACL. Zapoznaj się z poleceniami
obsługującymi ACL na Twoim systemie. Np.:
man -k acl
man setfacl
man getfacl
man fs_listacl
man fs_setacl
Utwórz plik z jakąś nietrywialną kombinacją praw dostępu w liście ACL,
i sprawdź ich działanie (zapewne przy współpracy kolegi/ów).
- Pliki specjalne (zadanie opcjonalne)
Zapoznaj się z poleceniem mknod i utwórz nim plik specjalny potoku.
Spróbuj zapisać coś do tego pliku (“cat > plik”) albo go odczytać.
Wskazówka: otwórz dwa okienka terminala, i w jednym wykonaj:
cat plik_potoku
a w drugim:
cat >plik_potoku
a następnie pisz w drugim okienku jakieś teksty.
Za pomocą programu find poszukaj na dysku plików specjalnych takich jak:
gniazdka, potoki, i inne urządzenia. Spróbuj katalogów /tmp i /var/tmp