W rozdziale 10. podejmiemy tematy, które nie zostały przedstawione w rozdziale 9., „Powłoka Bash”. Ten rozdział również będzie w większości dotyczył wykorzystania wiersza poleceń.
Wyjątkiem będą opisy montowania urządzeń oraz ustalania domyślnych praw dostępu dla grup. Te zadania mogą zostać wykonane zarówno z wiesza poleceń, jak i za pomocą środowiska Gnome. W tym rozdziale pokażemy, jak montować urządzenia, korzystając z obu sposobów i jak ustalać domyślne prawa dostępu za pomocą Gnome.
Znajdziesz tu odpowiedzi na następujące pytania: jak zdobyć informacje o systemie? Jak dowiedzieć się czegoś więcej o ilości wolnego miejsca na dysku i o katalogach? Jak odszukać odpowiednie pliki i znaleźć pliki zawierające dany tekst?
W tym rozdziale pokażemy również, jak wyświetlać i monitorować poszczególne procesy. Nauczysz się również, jak je zabijać, jeśli skończy się ich czas.
Na koniec, omówimy zagadnienia związane z posiadaniem plików oraz katalogów i prawami odstępu do nich. Co oznacza posiadanie pliku?
W jaki sposób plik może mieć więcej niż jednego właściciela? Czym są prawa dostępu i jak je modyfikować?
Oto temat poruszane w tym rozdziale:
uzyskiwanie informacji o systemie,
procesy,
system plików,
posiadanie plików i prawa dostępu.
Wiedza daje władzę, dlatego oczywiste jest, że chcesz wiedzieć więcej o swoim systemie, a przynajmniej orientować się, jakie narzędzia są w danej chwili dostępne. Kiedy na przykład istotne staną się zagadnienia związane z kompatybilnością oprogramowania, być może trzeba będzie dokładnie wiedzieć, która wersja jądra działa w systemie. Aby uzyskać informacje o komputerze i systemie operacyjnym
Wskazówka
|
|
Określanie ilości wolnego miejsca na dyskach W Linuksie system plików jest sztucznym tworem o strukturze drzewa, rozpoczynającego się od katalogu głównego oznaczanego symbolem /. Pozycja katalogu w tej strukturze nie oznacza, że faktycznie jest on zapisany na konkretnym dysku twardym. Zamontowany system plików może być wykorzystywany w systemie operacyjnym. Katalog, który reprezentuje wiązanie pomiędzy zamontowanym systemem plików a całą strukturą drzewiastą nazywany jest punktem zamontowania. Polecenie df pozwala zorientować się, które systemy plików są zamontowane, w jakich punktach i ile jest na nich wolnego miejsca. Aby sprawdzić, ile jest wolnego miejsca na dysku
|
Tabela 10.1. Określanie ilości wolnego miejsca.
Filesystem |
1k-blocks |
Used |
Available |
Use% |
Mounted on |
||
/dev/hda2 |
2208347 |
1182338 |
911853 |
56% |
/ |
||
/dev/hdc |
556054 |
556054 |
0 |
100% |
/mnt |
||
Rysunek 10.1. Za pomocą polecenia du można sprawdzić wielkość katalogu.
Wskazówka
|
|
Aby sprawdzić, ile miejsca zajmuje katalog
Wskazówki
Określanie typu pliku W systemie Windows można odgadnąć typ pliku na podstawie rozszerzenia jego nazwy. W systemie Linux nazwy plików często nie posiadają rozszerzeń, w związku z czym nie ma możliwości określenia typu pliku na podstawie jego nazwy. Aby określić typ pliku
|
Do sprawdzania, kto jest aktualnie zalogowany i uzyskiwania innych informacji o użytkownikach, służy polecenie finger. Aby sprawdzić, kto jest zalogowany
Wskazówki
|
|
Rysunek 10.2. Polecenie finger pozwala zorientować się, kto jest zalogowany. |
To mój proces Być może masz doświadczenie z programami dla systemu Microsoft Windows, których w żaden sposób nie da się zatrzymać lub z oknami, które po otwarciu w żaden sposób nie dają się zamknąć. Jedynym sposobem na zamknięcie takiego programu lub okna jest wykorzystanie klawiszy Control+Alt+Delete.
Klawisze Control+Alt+Delete w systemie Microsoft Windows powodują wyświetlenie okna dialogowego Zamknij program. Nieprawidłowo działający proces jest zwykle opisany komunikatem Nie odpowiada. Będąc administratorem systemu linuksowego lub programistą możesz zetknąć się z analogiczną sytuacją. W systemie Linux nie mówi się jednak o zakończeniu zadania, ale o „zabiciu” procesu. Proces to skrótowe określenie abstrakcyjnego tworu zarządzającego pamięcią, procesorem i zasobami wejścia i wyjścia, tak aby możliwe było wykonywanie programu. Choć system Linux daje złudzenie, że równocześnie wykonuje się w nim wiele zadań, w rzeczywistości jeden procesor może wykonywać tylko jeden proces. Iluzja równoczesnego wykonywania zadań jest osiągana dzięki podziałowi czasu, co oznacza, że system operacyjny przełącza wykonywanie poszczególnych procesów w określonych, bardzo krótkich odstępach czasu.
|
|
Aby wyświetlić listę wszystkich procesów związanych z terminalem
Rysunek 10.3. Aby wyświetlić listę wszystkich procesów związanych z terminalem, wydaj polecenie ps -a.
|
|
|
Rysunek 10.4. Aby wyświetlić listę wszystkich procesów, wydaj polecenie ps -aux.
|
Tabela 10.2. Kolumny wyświetlane po wydaniu polecenia ps -aux.
Kolumna |
Znaczenie |
USER |
Identyfikator użytkownika będącego właścicielem procesu |
PID |
Identyfikator procesu |
%CPU |
Procentowe zużycie czasu procesora przez proces |
%MEM |
Procentowe zużycie pamięci przez proces |
VSZ |
Rzeczywisty rozmiar procesu, w kilobajtach |
RSS |
Ilość fizycznej pamięci używanej przez proces |
TTY |
Terminal związany z procesem |
STAT |
Status procesu; oto niektóre z możliwych wartości: |
START |
Czas uruchomienia procesu |
TIME |
Zużyty czas procesora |
COMMAND |
Polecenie (wraz z parametrami), które spowodowało uruchomienie procesu |
Rysunek 10.5. Polecenie killall -v pozwala na zabicie procesu i uzyskanie potwierdzenia.
|
|
Aby zabić proces
Wskazówki
Aby zabić proces za pomocą jego nazwy
|
Linuksowy system plików można traktować jak pojedyncze, abstrakcyjne drzewo. Kiedy dodajesz do niego pliki zapisane na jakimś nośniku wymienialnym, na przykład na dyskietce czy dysku CD-ROM, taki podrzędny system plików jest doczepiany do systemu głównego w punkcie zamontowania. Punktami zamontowania są zwykle puste katalogi. Punkt zamontowania - i w zasadzie całe abstrakcyjne drzewo - nie musi mieć żadnego związku z fizycznymi nośnikami. Takie podejście jest zasadniczo różne od tego stosowanego w systemie Microsoft Windows, gdzie wszystkie pliki i katalogi na dysku E są faktycznie przechowywane na fizycznym dysku E. W zasadzie termin system plików ma dwa znaczenia.
Zwykle z kontekstu można łatwo wywnioskować, o które ze znaczeń chodzi. Na linuksowy system plików nie są nałożone żadne wymagania co do jego organizacji, ale z biegiem czasu utrwaliło się kilka konwencji. Główny system plików zawiera katalog główny, jądro systemu, katalog /dev wraz z plikami urządzeń, katalog /etc z najważniejszymi plikami systemowymi oraz katalog /bin z najważniejszymi programami. Inne standardowe katalogi i opis ich zawartości zebrano w tabeli 10.3. Ważne jest również, aby zdawać sobie sprawę, że z każdym plikiem związany jest zestaw praw dostępu. Na ich podstawie system określa, kto może odczytywać, zapisywać i uruchamiać dany plik. Ogólnie rzecz ujmując, tylko właściciel pliku oraz administrator systemu mają prawo do zmiany praw dostępu do pliku. |
|
Montowanie urządzeń Systemy plików można rozszerzać, montując w nich urządzenia, takie jak CD-ROM, dyskietki czy wyjmowalne dyski twarde. Aby zamontować i odmontować system plików
Ogólna składnia polecenia służącego do montowania systemów plików jest następująca: Argument plik-urządzenia określa plik sterownika danego urządzenia, na przykład /dev/fd0 dla pierwszej stacji dyskietek czy /dev/cdrom dla napędu CD-ROM. Argument katalog może wskazywać na dowolny katalog, który w razie potrzeby można również założyć - zgodnie z konwencją jest to zazwyczaj jeden z podkatalogów katalogu /mnt. Składnia polecenia odmontowującego system plików ma postać umount nazwa, gdzie nazwa jest albo nazwą pliku urządzenia, albo punktem jego zamontowania. Tabela 10.3. Standardowe katalogi systemu Linux i ich zawartość.
|
Rysunek 10.6. Za pomocą panelu sterowania środowiska Gnome można również montować i odmontowywać systemy plików.
Rysunek 10.7. Przy montowaniu i odmontowywaniu systemów plików trzeba potwierdzić odpowiednie zlecenia.
|
|
Aby zamontować dysk CD-ROM
Aby odmontować CD-ROM
Aby zamontować dyskietkę
Aby odmontować dyskietkę
Aby zamontować urządzenie za pomocą środowiska Gnome
Wskazówka
|
Katalogi są pojemnikami na inne katalogi oraz pliki sytemu Linux. Prawdopodobnie za każdym razem, gdy będziesz rozpoczynał pracę nad jakimś projektem lub też będziesz chciał pogrupować powiązane ze sobą pliki, utworzysz nowy katalog. Aby utworzyć nowy katalog
Wskazówka
Aby usunąć katalog
|
|
Rysunek 10.8. Katalogi są oznaczane literą d w pierwszej kolumnie listingu katalogu.
|
Rysunek 10.9. Polecenie ls pozwala na przeglądania zawartości katalogów.
|
|
Tworzenie plików Katalogi tworzą strukturę pojemników, natomiast pliki są tym, co je wypełnia. Aby wyświetlić wszystkie pliki w katalogu
Wskazówka
Aby utworzyć plik
Wskazówka
Aby skopiować plik (lub katalog)
Aby skopiować plik (lub katalog), można wykorzystać polecenie cp. Wpisz na przykład Aby przenieść plik (lub katalog)
Aby przenieść plik (lub katalog), można wykorzystać polecenie mv. Wpisz na przykład |
Wskazówka
Aby odnaleźć potrzebny plik Polecenie find jest bardzo elastycznym narzędziem służącym do wyszukiwania plików (dokładniejsze informacje na jego temat znajdziesz w dodatku A).
Aby na przykład wyszukać w katalogu /home/hdavis/ch11 wszystkie pliki, które w nazwie mają wyraz fig, można wydać polecenie Spowoduje ono wyświetlenie wszystkich plików spełniających dany warunek (rysunek 10.10). Aby znaleźć tekst w pliku (lub w plikach) Polecenie grep służy do przeszukiwania plików w celu znalezienia określonego tekstu lub tekstu, który pasuje do wyrażenia regularnego.
Dla przykładu, poniższe polecenie (patrz rysunek 10.11) powoduje wyszukanie wszystkich wystąpień słowa elephant w plikach w katalogu bieżącym i wydrukowanie trzech wierszy po obu stronach tego wyrazu wraz z ich numerami (z powodu opcji -n): |
|
Rysunek 10.10. Za pomocą polecenia find można wyświetlić pliki, których nazwy spełniają określone kryteria.
Rysunek 10.11. Polecenie grep jest używane do wyszukiwania w plikach tekstów pasujących do zadanego wzorca. |
|
|
Aby wyświetlić początek zawartości pliku
Wskazówki
Aby wyświetlić końcówkę pliku
Wskazówki
|
Każdy plik i katalog w systemie Linux jest własnością jakiegoś użytkownika i posiada zestaw praw dostępu określających, jakie operacje mogą na nim wykonywać poszczególni użytkownicy. Wyróżnia się trzy rodzaje użytkowników:
Zauważmy po raz kolejny, że właścicielem pliku nie musi być faktyczny użytkownik systemu. Niektóre programy, na przykład PostgreSQL omówiony w rozdziale 8. Prawa dostępu również dzielą się na trzy grupy:
|
|
|
Rysunek 10.12. Sprawdzić, kto jest właścicielem pliku i jakie prawa dostępu są z nim związane, można, wydając polecenie ls -l. |
|
Aby sprawdzić, kto jest właścicielem pliku i jakie prawa dostępu są z nim związane
Aby określić prawa dostępu do pliku oraz właściciela pliku, trzeba jeszcze odpowiednio rozszyfrować informacje wyświetlane w kolumnach (jak na rysunku 10.12).
|
Wskazówka
Aby zmienić identyfikator grupy posiadającej plik
Aby zmienić prawa dostępu W wierszu poleceń wpisz chmod oraz trzy zestawy praw dostępu rozdzielone przecinkami oraz nazwę pliku.
Dla przykładu, polecenie Wskazówki
|
|
Możliwe jest również określanie praw dostępu za pomocą odpowiedników numerycznych. W tabeli 10.4 zebrano numeryczne odpowiedniki poszczególnych zestawów praw dostępu. Dla przykładu, polecenie chmod 777 ring.of.power spowoduje przyznanie wszystkich praw dostępu do pliku wszystkim użytkownikom systemu. Przy okazji, prawa 666, znane też jako znak bestii, to inaczej prawo do odczytu i zapisu pliku dla wszystkich użytkowników. Niestety, numeryczne odpowiedniki praw dostępu nie są zbyt łatwe do zapamiętania. Używane są one do określania domyślnych praw dostępu, przypisywanych plikom tworzonym przez określone grupy użytkowników. --> [Author:KO]
|
Rysunek 10.13. Za pomocą środowiska Gnome można zmienić domyślne ustawienia grup.
Rysunek 10.14. Domyślne prawa dostępu do plików tworzonych przez użytkowników grupy muszą być określone za pomocą odpowiedników numerycznych. |
|
Aby ustalić domyślne prawa dostępu do plików tworzonych przez określoną grupę za pomocą środowiska Gnome
Wskazówka
|
W tym rozdziale nauczyłeś się:
|
|
|
Rozdział 10.
218
237
Pliki, procesy i prawa dostępu
Oryginał: Unfortunately, the information about numeric equivalents is more than arcane numerology. Uznałem, że niegrzecznie jest zakładać, że użytkownik nigdy w życiu nie słyszał o systemie dwójkowym (który w Polsce dzieci poznają chyba w szóstej klasie podstawówki, oczywiście w starym systemie), więc pominąłem ten komentarz.
10
Pliki, procesy i prawa dostępu
Katalog |
Zawartość |
/ |
Katalog główny |
/bin, /sbin |
Ważne programy użytkowe, niezbędne dla zapewnienia minimalnej funkcjonalności systemu |
/dev |
Pliki urządzeń dla terminali, dysków, modemów itd. |
/etc |
Najważniejsze pliki systemowe |
/tmp |
Pliki tymczasowe, zwykle usuwane podczas startu systemu |
/usr/bin |
Pliki wykonywalne |
/usr/lib |
Pliki pomocnicze dla standardowych programów linuksowych |
/usr/man |
Pliki podręcznika systemowego man |
/usr/src |
Kody źródłowe programów |
/var/log |
Pliki dziennika |
/var/spool |
Katalogi kolejek dla drukarek, poczty itp. |
/var/tmp |
Katalog z plikami tymczasowymi (pliki nie usuwane przy starcie systemu) |
Tabela 10.4. Numeryczne odpowiedniki zestawów praw dostępu.
Zestaw praw dostępu |
Odpowiednik numeryczny |
--- |
0 |
--x |
1 |
-w- |
2 |
-wx |
3 |
r-- |
4 |
r-x |
5 |
rw- |
6 |
rwx |
7 |
Pliki, procesy i prawa
Uzyskiwanie informacji o systemie
Uzyskiwanie informacji o systemie
Uzyskiwanie informacji o systemie
To mój proces i mogę z nim robić, co chcę
To mój proces i mogę z nim robić, co chcę
To mój proces i mogę z nim robić, co chcę
System plików
System plików
System plików
System plików
System plików
System plików
Posiadanie plików i prawa dostępu
Posiadanie plików i prawa dostępu
Posiadanie plików i prawa dostępu
Posiadanie plików i prawa dostępu
Podsumowanie