5 Najtrudniejszy pierwszy krok… czyli Praca z terminalem
7.4 Polecenia dotycz ą ce urz ą dze ń
Do tej grupy naleŜą polecenia, których zadaniem jest tworzenie, usuwa-nie oraz kontrola lub zmiana stanu urządzeń systemu *N*X.
clear clear
Polecenie clear (ang. clear – wyczyść) usuwa zawartość ekranu
terminala.
Przykład uŜycia polecenia clear zamieszczono w punkcie 5.5.
stty [-a]
stty Polecenie to, uŜyte bez parametrów, słuŜy do wyświetlania parame-trów terminala; opcja –a włącza szczegółowy wykaz parametrów. Objaśnienie znaczenia waŜniejszych parametrów terminala i przy-kłady uŜycia polecenia podano w punkcie 5.5.
Do operowania nośnikami wymiennymi, takimi jak dyskietki, dyski Io-mega ZIP, taśmy magnetyczne, płyty CD-ROM itp. potrzebne są róŜnorodne polecenia obsługi, w tym formatowania, ustawiania w określonej pozycji, wy-suwania oraz logicznego przyłączania i odłączania. Polecenia z tej grupy moŜe wykonać tylko superuŜytkownik, poniewaŜ dotyczą one fizycznych zasobów systemu.
fdformat [-n] urządzenie
fdformat
Polecenie fdformat (od ang. floppy disk format – formatowanie
dyskietki) słuŜy do formatowania dyskietki znajdującej się we wskazanym urządzeniu. Opcja –n wyłącza kontrolę poprawności sformatowanego nośnika. Jako parametr podaje się najczęściej
/dev/fd0. Podręcznik (man fdformat) podaje nazwy urzą-dzeń, jakie naleŜy wskazać dla uzyskania niestandardowej
[root@localhost ~]# fdformat /dev/fd0
Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
Formatting ... done
Verifying ... bad data in cyl 0 Continuing ... bad data in cyl 1
Continuing ... Read: : Błąd wejścia/wyjścia
Problem reading cylinder 2, expected 18432, read -1 [root@localhost ~]#
Rys. 60. Przykład uŜycia polecenia format
PowyŜszy przykład formatowania dyskietki pokazuje zarazem sposób sygnali-zacji błędów wykrytych podczas weryfikacji nośnika.
Kolejne polecenia spełniają waŜną rolę, zwłaszcza w odniesieniu do wymien-nych nośników pamięciowych, choć polecenia mount i umont nie ograniczają się tylko do nich.
mount [-r | -w] [-t typ] urządzenie punkt_montowania
mount
Polecenie mount (ang. mount – montuj) słuŜy do utworzenia
lo-gicznego połączenia urządzenia pamięci zewnętrznej o bezpośred-nim dostępie z systemem plików. Opcja –r powoduje uŜycie wska-zanego urządzenia wyłącznie do odczytu, opcja –w zezwala na za-pis i odczyt. Pominięcie opcji -r i -w jest równowaŜne uŜyciu –w . Parametr urządzenie wskazuje na partycję dyskową, dyskietkę, urządzenie CD, DVD, pamięć typu flash itp.
punkt_montowania jest pustym katalogiem, w którym zostanie odwzorowana zawartość struktury plikowej urządzenia. Parametr
typ wskazuje na sposób organizacji (format) systemu plików na montowanym urządzeniu i przyjmuje wartości m.in. msdos, vfat,
ntfs, ext2fs, ext3fs, iso9660. Faktyczne moŜliwości ak-ceptowania formatów systemu plików zaleŜą od wersji jądra syste-mu *N*X. Stan logicznego połączenia urządzenia z systemem pli-ków trwa do chwili wykonania polecenia umount ze wskazaniem tego samego urządzenia lub punktu montowania jak w poleceniu
mount, albo do chwili zatrzymania lub restartu systemu. Polecenie mount uŜyte bez parametrów wyświetla listę zamonto-wanych urządzeń i moŜe być zastosowane przez kaŜdego uŜytkow-nika systemu.
umount {urządzenie | punkt_montowania}
umount
Polecenie umount (od ang. unmount – odmontuj, zdemontuj)
li-kwiduje stan logicznego połączenia pomiędzy urządzeniem pamię-ciowym o bezpośrednim dostępie a systemem plików. Dla wykona-nia tej operacji wystarczy wskazać urządzenie lub punkt jego za-montowania.
[root@vhomer ~]# mount
/dev/sda1 on / type ext3 (rw) /dev/proc on /proc type proc (rw) /dev/sys on /sys type sysfs (rw)
/dev/devpts on /dev/pts type devpts (rw,gid=5,mode=620) /dev/shm on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) automount(pid1779) on /misc type autofs
(rw,fd=4,pgrp=1779,minproto=2,maxproto=4) automount(pid1830) on /net type autofs (rw,fd=4,pgrp=1830,minproto=2,maxproto=4) /dev/fd0 on /media/floppy type vfat (rw) [root@p166v ~]# ls /media/floppy
control.hl_ gdi.ex_ ncdw.dl_ setup.inf user.ex_ winhelp.ex_
cpwin386.cp_ instaluj.com setup.exe setup.shh wfwsetup.dl_ winsetup.ex_
disk1 krnl386.ex_ setup.hl_ setup.tx_ win.cn_ xmsmmgr.exe
[root@vhomer ~]# umount /media/floppy [root@ vhomer ~]# mount
/dev/sda1 on / type ext3 (rw) /dev/proc on /proc type proc (rw) /dev/sys on /sys type sysfs (rw)
/dev/devpts on /dev/pts type devpts (rw,gid=5,mode=620) /dev/shm on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) automount(pid1779) on /misc type autofs
(rw,fd=4,pgrp=1779,minproto=2,maxproto=4) automount(pid1830) on /net type autofs (rw,fd=4,pgrp=1830,minproto=2,maxproto=4) [root@vhomer ~]#
Rys. 61. Przykłady uŜycia polecenia mount i umount
W przytoczonym przykładzie superuŜytkownik najpierw sprawdził, które sys-temy plików są zamontowane. Następnie zamontował dyskietkę w katalogu
/media/floppy - typ systemu plików został określony automatycznie. Po-tem sprawdził jej zawartość, wykonał czynność odmontowania i ponownie sprawdził stan montowania.
Katalog montowania
W systemach *N*X zazwyczaj głównym katalogiem montowania jest
/mnt. Zawarte w nim podkatalogi, np. /mnt/cdrom,
/mnt/floppy są punktami montowania poszczególnych urządzeń. Nie jest to jednak reguła.
Warto zwrócić uwagę na występujący niekiedy problem niemoŜności odmon-towania urządzenia:
[root@p166v ~]# mount /dev/fd0 /media/floppy [root@p166v ~]# cd /media/floppy
[root@p166v floppy]# ls
control.hl_ gdi.ex_ ncdw.dl_ setup.inf user.ex_ winhelp.ex_
cpwin386.cp_ instaluj.com setup.exe setup.shh wfwsetup.dl_ winsetup.ex_
disk1 krnl386.ex_ setup.hl_ setup.tx_ win.cn_ xmsmmgr.exe
[root@p166v floppy]# umount /media/floppy umount: /media/floppy: device is busy umount: /media/floppy: device is busy [root@p166v floppy]#
Rys. 62. Urządzenie zajęte nie daje się odmontować
Przyczyną odmowy odmontowania moŜe być to, Ŝe urządzenie jest zajęte transmisją, niektóre ze znajdujących się tam plików są otwarte przez działające w systemie procesy lub to, Ŝe niektóre ze znajdujących się tam katalogów są ka-talogami bieŜącymi otwartych sesji. Aby czynność odmontowania była sku-teczna, naleŜy wcześniej upewnić się, Ŝe dane urządzenie nie jest w Ŝaden spo-sób uŜywane (otwarte).
Polecenia mount i umount zawsze występują parami
Po zamontowaniu nośnika wymiennego nie wolno go usuwać z urzą-dzenia przed skutecznym wykonaniem operacji odmontowania, nawet jeśli jest to technicznie wykonalne, pod groźbą uszkodzenia integral-ności systemu plików znajdującego się na nośniku i zakłócenia wy-konywania zadań. Urządzenia CD i DVD zazwyczaj blokują zamon-towany nośnik.
eject [floppy | cdrom]
eject
Polecenie słuŜy do mechanicznego wysunięcia nośnika wymiennego (zwykłe dyskietki, dyskietki Iomega Zip, płyty CD-ROM itp.) z jed-nostki napędowej. Uwaga: Nie wszystkie urządzenia posiadają me-chanizm wysuwania nośnika – w takim przypadku czynność tę naleŜy wykonać ręcznie (np. dyskietki). Domyślnym urządzeniem jest CD-ROM.
Dla wysunięcia nośnika musi on być uprzednio odmontowany. Jeśli nie dokona-ła tego aplikacja korzystająca z urządzenia, musi to wykonać superuŜytkownik.
fdisk nazwa_woluminu
fdisk
Polecenie fdisk (of ang. fixed disk – tu: dysk twardy) słuŜy do
interaktywnego zarządzania partycjami woluminu dyskowego.
nazwa_woluminu wskazuje urządzenie fizyczne, np. dysk twar-dy, na którym znajduje się lub znajdzie się jedna lub wiele partycji. Po uruchomieniu są udostępniane polecenia wewnętrzne pozwalają-ce na tworzenie partycji, ustalanie ich formatu, kontrolę wykorzy-stania pojemności urządzenia itp. Zobacz man fdisk.
df [-k]
df
Polecenie df (od ang. disk free) wyświetla raport na temat
wykorzy-stania pojemności poszczególnych zamontowanych systemów pli-ków o niezerowej liczbie blopli-ków, tj. oprócz pseudosystemów. Opcja
–k powoduje, iŜ wielkość obszarów dyskowych podawana jest w blokach 1-kilobajtowych zamiast w jednostkach domyślnych. Pole-cenie to jest dostępne dla wszystkich uŜytkowników.
$ df
System plików bl. 1K B uŜyte dostępne %uŜ. za-mont. na
/dev/sda1 3804796 2793576 814828 78% / /dev/shm 127292 0 127292 0% /dev/shm
$