Ten rozdział przedstawia nowym użytkownikom podstawową wiedzę o świecie Linuksa. Jeśli używałeś już Linuksa, potraktuj go jako przypomnienie wiadomości.
Patrz do Debian Documentation
Project (DDP)
, gdzie znajdują się najbardziej wiarygodne informacje
o Debianie. Zazwyczaj wiele z tych dokumentów jest instalowanych w
/usr/share/doc/
. Spójrz też do /usr/share/doc-base/
,
gdzie zamieszczone są odnośniki do dokumentacji systemu. Dodaj export
CDPATH=.:/usr/share/doc:/usr/src/local do ~/.bash_profile
,
aby mieć łatwiejszy dostęp do katalogów z dokumentacją.
Linux Documentation Project
(LDP)
posiada najbardziej wiarygodne, ogólne informacje o Linuksie.
Zawartość LDP jest zwykle instalowana w /usr/share/doc/HOWTO/
.
Poruszaj się wśród dokumentów na lokalnych i zdalnych FTP, używając F9 w programie Midnight Commander (zob. Midnight Commander (MC), Rozdział 4.3).
W zwykłym systemie Linux znajduje się sześć niezależnych pseudoterminali. Przełączaj się między nimi wciskając jednocześnie klawisze Lewy-Alt i klawisze od F1 do F6. Każdy pseudoterminal pozwala na niezależne logowanie się do kont użytkownika. Środowisko wieloużytkownikowe to wspaniała cecha Uniksa, po poznaniu której ciężko pracować inaczej.
Dobrym nawykiem uniksowym jest logowanie się na konto zwykłego użytkownika do większości zadań. Muszę przyznać, że kiedyś używałem konta superużytkownika (konto root) częściej, niż potrzebowałem, głównie z powodu wygody i mojego niechlujstwa.
Obecnie, zwykle używam normalnego konta oraz polecenia sudo, super czy su -c, aby uzyskać ograniczone przywileje roota.
Po instalacji systemu zwykle dodaję konto zwykłego użytkownika. Jeśli nazwą użytkownika jest „penguin”,
# adduser penguin
utworzy to konto.
Używam polecenia vigr do modyfikacji /etc/group
jak
niżej:
adm:x:4:admin src:x:40:admin, debian, ... ...
Przy domyślnej instalacji systemu, członkowie grupy adm mogą
czytać wiele plików dziennika z /var/log/
oraz używać
xconsole
. Grupa staff będąca właścicielem
/home
, sprawia, że jej członkowie mogą zarządzać kontami. Grupa
src jest właścicielem /usr/src/
, który jest używany
do kompilacji jądra, itd. By uzyskać pełniejsze informacje o znaczeniu
użytkowników i grup, zobacz Użytkownicy i
grupy
.
Osobiście używam grupy staff dla użytkowników wykonujących
czynności administracyjne i mających wyłączny przywilej su
(zob.„Dlaczego GNU su
nie
obsługuje grupy wheel”, Rozdział 9.2.2) oraz
src dla CVS (zob. CVS, Rozdział
12.1).
Zobacz adduser
, addgroup
, vipw
,
vipw -s, vigr
, oraz vigr -s do właściwej
konfiguracji użytkowników i grup.
Tak jak każdy współczesny OS, który cache'uje pliki w pamięci, Linux wymaga właściwej procedury zamykania systemu, zanim zasilanie może zostać bezpiecznie wyłączone. Polecenie dla trybu wieloużytkownikowego:
# shutdown -h now
Polecenie dla trybu jednego użytkownika:
# poweroff -i -f
Poczekaj na wyświetlenie przez system informacji „System halted” i dopiero wtedy wyłącz zasilanie. Jeśli APM zostało włączone w BIOSie i Linuksie, komputer wyłączy się sam. Zobacz Automatyczne wyłączanie komputera oraz komputery z większą ilością pamięci, Rozdział 3.7.4 w celu zapoznania się ze szczegółami.
Domyślna powłoka, bash
, posiada możliwość edycji historii. Użyj
klawisza kursora „góra”, aby wejść do historii, a
następnie klawiszy kursora tak, jak oczekujesz. Inne ważne kombinacje
klawiszy:
Ctrl-U: Usuwa linię przed kursorem Ctrl-D: Przerwanie wprowadzania Kliknięcie lewym przyciskiem myszy i przeciągnięcie: Zaznacz i skopiuj do schowka (gpm) Kliknięcie środkowym przyciskiem myszy: Wklej schowek na miejsce kursora (gpm) Ctrl-V TAB: Wstawia TAB bez rozszerzeń.
W normalnej konsoli Linuksa tylko lewe klawisze Ctrl i Alt działają, jak oczekujesz.
Typowe wywołanie polecenia korzysta z następującego wpisu w powłoce:
$ LC_ALL=fr ls -la
W podanym przykładzie program ls
jest uruchamiany w tle ze zmienną
środowiskową LC_ALL ustawioną na fr dla uzyskania
języka francuskiego i argumentem linii poleceń ustawionym na -la
dla wyświetlania wszystkiego ze szczegółami. Jeśli linia poleceń jest
zakończona znakiem &, to polecenie jest uruchamiana w tle.
Działanie w tle pozwala użytkownikowi na uruchamianie wielu programów w jednej
powłoce.
Na wykonywanie poleceń można wpływać następującymi skrótami klawiszowymi.
Ctrl-C: Kończy program Ctrl-Z: Tymczasowo zatrzymuje program Ctrl-S: Zatrzymuje wyświetlanie na ekran Ctrl-Q: Przywraca wyświetlanie na ekran Ctrl-Alt-Del: Reboot/zatrzymanie systemu (zob. /etc/inittab)
O zarządzaniu wykonywaniem programu przeczytaj w bash(1)
o
jobs, fg, bg i stop.
Poniżej znajdują się podstawowe polecenia Uniksa:
ls, ls -al, ls -d, pwd, cd, cd ~user, cd -, cat /etc/passwd, less, bg, fg, kill, killall, uname -a, type nazwa_polecenia, sync, netstat, ping, traceroute, top, vi, ps aux, tar, zcat, grep, ifconfig, ...
Sprawdź znaczenie poleceń przez wpisanie ich w powłoce albo wpisanie man lub info plus nazwa polecenia. Wiele poleceń linuksowych wyświetla skróconą pomoc po wywołaniu ich w następujący sposób:
$ nazwa_polecenia --help $ nazwa_polecenia -h
whatis nazwa_polecenia wyświetla jednoliniowe podsumowanie o każdym poleceniu w systemie, dla którego istnieje wpis w podręczniku (manual).
Aby uruchomić system X Window z konsoli w linii poleceń wpisujemy:
# exec startx
Prawe kliknięcie na głównym oknie spowoduje pojawienie się menu.
Oto niektóre ważne kombinacje klawiszy do zapamiętania (plus i minus odnoszą się do klawiatury numerycznej):
Alt-F1 do F6: Przełączenie między pseudoterminalami Ctrl-Alt-F1 do F6: Przełączenie między pseudoterminalami (z X-window, DOSEMU, itd.) Alt-F7: Przełączenie z powrotem do X-window Ctrl-Alt-minus: Zmiana rozdzielczości ekranu w X-window Ctrl-Alt-plus: Zmiana rozdzielczości ekranu w przeciwną stronę w X-window Ctrl-Alt-Backspace: Zakończenie X-ów Alt-X, Alt-C, Alt-V: Zwykłe windowsowe/makowe Wytnij, Kopiuj, Wklej, z tym, że klawisz Ctrl w niektórych programach jest zastąpiony przez Alt (np. w Netscape Composer).
Midnight Commander (MC) jest uniwersalnym narzędziem dla konsoli Linuksa oraz innych środowisk terminalowych.
# apt-get install mc
Następnie zmień wpisy w ~/.bashrc
(lub
/etc/bash.bashrc
, wywoływanym z .bashrc
), tak jak
dokładnie opisano to w jego podręczniku, mc(1)
, w opisie opcji
-P. To pozwala MC na zmianę katalogu roboczego na wyjściu.
Jeśli uruchamiasz MC w terminalu, np. kon
i Kterm
dla japońskiego, który używa pewnych znaków graficznych, dodanie
-a do linii poleceń MC może pomóc w uchronieniu przed problemami.
$ mc
MC zajmuje się wszystkimi operacjami na plikach wykonywanymi przez jego menu, wymagając minimalnego wysiłku od użytkownika.
Domyślne ustawienie to dwa okna zawierające listy plików. Kolejnym użytecznym
trybem jest ustawienie prawego okna w tryb „informacja”,
co pozwala zobaczyć prawa dostępu itp. Poniżej są niektóre ważniejsze skróty
klawiszowe. Z użyciem uruchomionego demona gpm
można też używać
myszy. (Upewnij się, że naciskasz klawisz Shift w celu uzyskania normalnego
działania Kopiuj i Wklej w MC.)
cd
zmieni katalog pokazany na wybranym ekranie.
cp
czy mv
z edycją w powłoce.
Wewnętrzny edytor ma interesujący schemat kopiuj-i-wklej. Naciśnięcie F3 oznacza początek wyboru, kolejne wciśnięcie F3 oznacza koniec wyboru i podświetla zaznaczony obszar. Wtedy możesz ruszać kursorem. Gdy naciśniesz F6, zaznaczony obszar zostanie przeniesiony do miejsca, w którym jest kursor. Gdy przyciśniesz F5, zaznaczony obszar zostanie skopiowany i wklejony w miejsce, w którym jest kursor. F2 zapisuje plik. F10 powoduje zakończenie MC. Klawisze kursora zwykle działają intuicyjnie.
Edytor może być wywołany dla pliku:
$ mc -e plik_do_edycji $ mcedit plik_do_edycji
Nie jest to edytor wielookienkowy, ale możesz osiągnąć podobny efekt używając wielu konsoli linuksowych. Aby kopiować pomiędzy oknami, użyj klawiszy Alt-Fn do przełączania konsol wirtualnych, a do wklejania fragmentu pliku do innego pliku, użyj „Plik->Wstaw plik” lub „Plik->Kopiuj do pliku”.
Wewnętrzny edytor może być zastąpiony przez dowolnie wybrany zewnętrzny.
Także wiele programów używa zmiennej środowiskowej EDITOR czy
VISUAL by określić, którego edytora użyć. Jeśli nie odpowiada Ci
vim
, ustaw go na mcedit przez dodanie poniższych
linii do ~/.bashrc
:
... export EDITOR=mcedit export VISUAL=mcedit ...
Zalecam jednak ustawienie ich na vim, jeśli to możliwe. Przywyknięcie do poleceń vi(m)a jest dobrą rzeczą, gdyż są one nieodłączną cechą świata Linuksa/Uniksa.
Bardzo sprytne narzędzie. Jest świetny do wyszukiwania słów w dokumentach.
Zawsze używam go do przeglądania plików w katalogu /usr/share/doc
.
To najszybszy sposób na przeglądanie mas informacji o Linuksie. Podgląd można
uruchomić bezpośrednio w taki sposób:
$ mc -v nazwa_pliku_do_podglądu
(Zauważ, że niektóre pakiety łamią zasady i wciąż przechowują swoje
dokumentacje w /usr/doc
.)
Wciśnij Enter na pliku i właściwy program zajmie się jego zawartością. Jest to bardzo wygodna cecha MC.
wykonywalny: Wykonanie pliku wykonywalnego plik man, html: Przesłanie zawartości pliku przez przeglądarkę plik tar, gz, rpm: Przeglądanie zawartości pliku jako podkatalogu
W celu umożliwienia działania funkcji przeglądania,
„przeglądalne” pliki nie mogą być określone jako
wykonywalne. Zmień ich status używając polecenia chmod
lub przez
menu plików w MC.
MC może służyć do dostępu do plików przez Internet przy użyciu FTP. Wejdź do menu wciskając F9, następnie wpisz `p', by aktywować wirtualny system plików FTP. Wpisz URL w formie: nazwa_użytkownika:hasło@nazwa_hosta.nazwa_domeny, co spowoduje pojawienie się katalogu zdalnego, wyglądającego jak lokalny.
Każdy plik i katalog w systemie plików GNU/Linux jest związany z użytkownikiem, który posiada plik (właściciel), oraz z grupą, do której należy. Wszystkie informacje o pliku są przechowywane w strukturze danych zwanej iwęzłem (inode).
Prawa dostępu do plików i katalogów są definiowane oddzielnie dla następujących trzech kategorii użytkowników, których dotyczą:
Dla pliku każde prawo pozwala odpowiednio na:
Dla katalogu każde prawo pozwala odpowiednio na:
Tutaj prawo wykonania dla katalogu oznacza nie tylko prawo do odczytu plików w nim zawartych, ale także na przeglądanie atrybutów takich jak rozmiar i czas modyfikacji.
Aby otrzymać informacje o uprawnieniach (oraz inne) plików i katalogów, używa
się polecenia ls
. Zobacz ls(1)
. Gdy ls
jest wywołane z parametrem -l, wyświetla następujące informacje w
następującej kolejności:
Aby zmienić właściciela pliku, używa się z konta root polecenia
chown
. Zobacz chown(1)
. Aby zmienić grupę pliku,
używa się polecenia chgrp
z konta właściciela pliku lub konta
root. Zobacz chgrp(1)
. Aby zmienić prawa dostępu do plików czy
katalogów, używa się polecenia chmod
, także z konta użytkownika
lub konta root. Zobacz chmod(1)
.
Na przykład w celu uczynienia użytkownika foo właścicielem drzewa katalogów, a grupy bar współwłaścicielem, wykonaj następujące polecenia z konta root:
# cd /some/location/ # chown -R foo:bar # chmod -R ug+rwX,o=rX
Istnieją jeszcze trzy specjalne bity uprawnień:
Na wyjściu polecenia ls -l
dużymi literami oznaczane są bity, na
których miejscu bit wykonywalności nie był ustawiony.
Ustawienie ID użytkownika dla pliku wykonywalnego pozwala użytkownikowi na wykonanie tego pliku z ID właściciela pliku (na przykład root). Podobnie, ustawienie ID grupy dla pliku wykonywalnego, pozwala użytkownikowi na wykonanie pliku z ID grupy pliku (na przykład root). Pnieważ może to powodować ryzyko naruszenia bezpieczeństwa, włączanie tych opcji wymaga szczególnej ostrożności.
Ustawienie ID grupy dla katalogu uaktywnia schemat tworzenia plików w stylu BSD, w którym wszystkie pliki tworzone w tym katalogu należą do grupy, mającej do niego uprawnienia.
Ustawienie bitu lepkości dla katalogu zapobiega usuwaniu z
niego plików przez użytkowników, którzy nie są właścicielami tych pliku. W
celu zabezpieczenia zawartości pliku w katalogach zapisywalnych, takich jak
/tmp
czy w katalogach, w których prawo zapisu ma grupa, potrzeba
nie tylko, by było wyłączone prawo zapisu dla pliku, ale także
należy ustawić sticky bit dla katalogu. W innym przypadku
plik może zostać usunięty, a następnie w jego miejsce może zostać utworzony
nowy plik, o takiej samej nazwie przez dowolnego użytkownika, który ma prawo
zapisu do tego katalogu.
Poniżej kilka interesujących przykładów praw do pliku.
$ ls -l /etc/passwd /etc/shadow /dev/ppp /usr/sbin/pppd crw-rw---- 1 root dip 108, 0 Jan 18 13:32 /dev/ppp -rw-r--r-- 1 root root 1051 Jan 26 08:29 /etc/passwd -rw-r----- 1 root shadow 746 Jan 26 08:29 /etc/shadow -rwsr-xr-- 1 root dip 234504 Nov 24 03:58 /usr/sbin/pppd $ ls -ld /tmp /var/tmp /usr/local /var/mail /usr/src drwxrwxrwt 4 root root 4096 Feb 9 16:35 /tmp drwxrwsr-x 10 root staff 4096 Jan 18 13:31 /usr/local drwxrwsr-x 3 root src 4096 Jan 19 08:36 /usr/src drwxrwsr-x 2 root mail 4096 Feb 2 22:19 /var/mail drwxrwxrwt 3 root root 4096 Jan 25 02:48 /var/tmp
Dla plików GNU/Linux istnieją trzy typy znaczników czasu:
Zauważ, że ctime nie jest czasem utworzenia pliku.
Zauważ, że nawet zwykły odczyt z pliku w systemie GNU/Linux powoduje normalnie
operację zapisu w celu aktualizacji informacji atime w
inode. Montowanie systemu plików z opcją noatime
option pozwoli systemowi na ominięcie tej operacji i zaowocuje szybszym
dostępem do pliku przy odczycie. Zobacz mount(8)
.
Istnieją dwie metody na związanie pliku foo z innym plikiem bar.
Spójrz na poniższe przykłady zmian w dowiązaniach, oraz na subtelne różnice w
rezultacie polecenia rm
.
$ echo "Oryginalna zawartość" > foo $ ls -l foo -rw-r--r-- 1 osamu osamu 4 Feb 9 22:26 foo $ ln foo bar # dowiązanie (hardlink) $ ln -s foo baz # dowiązanie symboliczne $ ls -l foo bar baz -rw-r--r-- 2 osamu osamu 4 Feb 9 22:26 bar lrwxrwxrwx 1 osamu osamu 3 Feb 9 22:28 baz -> foo -rw-r--r-- 2 osamu osamu 4 Feb 9 22:26 foo $ rm foo $ echo "Nowa zawartość" > foo $ cat bar Oryginalna zawartość $ cat baz Nowa zawartość
Dowiązanie symboliczne ma, jak widać w powyższym przykładzie, prawa dostępu „rwxrwxrwx”, a jego faktyczne prawa dostępu są takie jak wskazywanego pliku.
Katalog .
jest dowiązaniem do katalogu, w którym sam się pojawia,
zatem liczba dowiązań do nowego katalogu rozpoczyna się od 2. Katalog
..
jest dowiązaniem do katalogu nadrzędnego, zatem liczba dowiązań
do katalogu rośnie wraz z liczbą nowych podkatalogów.
Jest wiele dobrych źródeł o Uniksie dla początkujących. Zwykle książki
O'Reilly'ego są dobrym wyborem przy szukaniu przewodnika w tematach
komputerowych. Dokument LDP The Linux
Tips-HOWTO
jest kolejnyn źródłem wartym sprawdzenia. W celu
poszerzenia swoich wiadomości zajrzyj do Rozwiązywanie problemów, Część 15.
Debian Reference
1.07-1, niedziela, 7 marzec 2004, 15:48:58 UTCosamu@debian.org
fenio@o2.pl