Product SiteDocumentation Site

Dodatek B. Krótki kurs dokształcający

Nawet jeśli ta książka jest przede wszystkim ukierunkowana na administratorów i użytkowników zaawansowanych, to nie chcielibyśmy stawiać poza nawiasem zmotywowanych nowicjuszy. Ten dodatek będzie więc kursem instruktażowym (ang. crash-course), opisującym podstawowe pojęcia związane z obsługą komputera w systemie Unix.

B.1. Powłoka i polecenia podstawowe

Każdy administrator w świecie Uniksa – wcześniej czy później – musi użyć linii poleceń; na przykład, w sytuacji, gdy system nie wystartuje w zwykły sposób, a dostarczy tylko interfejsu linii poleceń w trybie ratunkowym. W takim przypadku, umiejętność posługiwania się interfejsem tekstowym, jest podstawową umiejętnością warunkująca przetrwanie i pozwalającą (prawdopodobnie) na odzyskanie systemu.
Ta sekcja daje tylko szybkie spojrzenie na polecenia, które w rzeczywistości mają wiele opcji nie opisanych tutaj. Proszę więc odnieść się do obfitej dokumentacji poleceń, opisanych na odpowiednich stronach podręczników (ang. man pages).

B.1.1. Przeglądanie drzewa katalogów i zarządzanie plikami

Once a session is open, the pwd command (which stands for print working directory) displays the current location in the filesystem. The current directory is changed with the cd directory command (cd is for change directory). The parent directory is always called .. (two dots), whereas the current directory is also known as . (one dot). The ls command allows listing the contents of a directory. If no parameters are given, it operates on the current directory.
$ pwd
/home/rhertzog
$ cd Pulpit
$ pwd
/home/rhertzog/Pulpit
$ cd .
$ pwd
/home/rhertzog/Pulpit
$ cd ..
$ pwd
/home/rhertzog
$ ls
Pulpit   Pobrania   Obrazy   Szablony
Dokumenty   Muzyka   Publiczny   Wideo
A new directory can be created with mkdir directory, and an existing (empty) directory can be removed with rmdir directory. The mv command allows moving and/or renaming files and directories; removing a file is achieved with rm file.
$ mkdir test
$ ls
Pulpit    Pobrania    Obrazy    Szablony    Wideo
Dokumenty    Muzyka    Publiczny    test
$ mv test nowy
$ ls
Pulpit    Pobrania    nowy    Publiczny    Wideo
Dokumenty    Muzyka    Obrazy    Szablony
$ rmdir nowy
$ ls
Pulpit    Pobrania    Obrazy    Szablony    Wideo
Dokumenty    Muzyka    Publiczny

B.1.2. Wyświetlanie i modyfikowanie plików tekstowych

Polecenie cat plik (mające, w założeniu, podłączać pliki do standardowego wyjścia urządzenia) odczytuje plik i wyświetla jego zawartość w terminalu. Jeśli plik jest zbyt duży, użyj programu pager, takiego jak less (lub more), aby wyświetlić go strona po stronie.
Polecenie editor uruchamia edytor tekstowy (taki jak vi lub nano), i pozwala na wyświetlanie, modyfikowanie i odczytywanie plików. Najprostsze pliki można czasami utworzyć bezpośrednio z interpretera poleceń dzięki przekierowaniu: echo "tekst" >plik tworzy plik o nazwie plik z “tekst” jako jego zawartością. Możliwe jest też dodanie linii na końcu tego pliku, za pomocą takiego polecenia, jak echo "więcej_tekstu" >plik. Zauważ >> w tym przykładzie.

B.1.3. Wyszukiwanie plików i wyszukiwanie wewnątrz plików

The find directory criteria command looks for files in the hierarchy under directory according to several criteria. The most commonly used criterion is -name name: that allows looking for a file by its name.
Polecenie grep wyrażenie pliki przeszukuje zawartość plików i wyodrębnmia linie pasujące do wyrażenia regularnego (zobacz zakładka boczna BACK TO BASICS Regular expression. Dodanie opcji -r, podanej jako parametr, umożliwia rekursywne wyszukiwanie we wszystkich plikach zawartych w katalogu. Pozwala to na poszukiwanie pliku, gdy znana jest tylko jego część.

B.1.4. Zarządzanie procesami

Polecenie ps aux wyszczególnia procesy aktualnie uruchomione w systemie i pozwala je zidentyfikować, pokazując ich pid (ang. process id - id procesu). Jak tylko znany jest pid procesu, możemy do niego wysłać (jeśli ten proces należy do bieżącego użytkownika) polecenie kill-sygnał pid, które wysyła do niego sygnał. Istnieje wiele sygnałów; najczęściej używanymi są: TERM (żądanie zakończenia procesu z gracją), i KILL (wymuszone 'zabicie' procesu).
The command interpreter can also run programs in the background if the command is followed by a “&”. By using the ampersand, the user resumes control of the shell immediately even though the command is still running (hidden from the user; as a background process). The jobs command lists the processes running in the background; running fg %job-number (for foreground) restores a job to the foreground. When a command is running in the foreground (either because it was started normally, or brought back to the foreground with fg), the Control+Z key combination pauses the process and resumes control of the command-line. The process can then be restarted in the background with bg %job-number (for background).

B.1.5. Informacja systemowa: Pamięć, Przestrzeń dyskowa, Tożsamość

The free command displays information on memory; df (disk free) reports on the available disk space on each of the disks mounted in the filesystem. Its -h option (for human readable) converts the sizes into a more legible unit (usually mebibytes or gibibytes). In a similar fashion, the free command supports the -m and -g options, and displays its data either in mebibytes or in gibibytes, respectively.
$ free
             total       used       free     shared    buffers     cached
Mem:       1028420    1009624      18796          0      47404     391804
-/+ buffers/cache:     570416     458004
Swap:      2771172     404588    2366584
$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              9614084   4737916   4387796  52% /
tmpfs                   514208         0    514208   0% /lib/init/rw
udev                     10240       100     10140   1% /dev
tmpfs                   514208    269136    245072  53% /dev/shm
/dev/sda5             44552904  36315896   7784380  83% /home
The id command displays the identity of the user running the session, along with the list of groups they belong to. Since access to some files or devices may be limited to group members, checking available group membership may be useful.
$ id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)