Powrót do spisu treści
Część 5: Linuksowe skróty klawiaturowe i komendy
Legenda:
<> = pojedynczy klawisz specjalny lub funkcyjny. Na
przykład <Crtl> oznacza klawisz "control".
kursywa = nazwa pliku lub zmiennej, którą powinieneś
zamienić na swoją własną.
fixed width = komendy lub nazwy plików.
Uwagi dla nieobeznanych z UNIXem.
1. LINUX ROZRÓŻNIA WIELKOŚĆ LITER. Na przykład
Netscape, NETSCAPE i nEtscape były by trzema różnymi komendami (ale z tej
trójki tylko netscape jest dostępny w moim systemie). Ponadto moj_pLIK,
moj_plik i moj_PLIK to trzy różne pliki. Twoja nazwa użytkownika i hasło
są "case sensitive". (Wynika to z tradycji UNIX'a i języka programowania
"c", które rozróżniają wielkość liter).
2. Nazwy plików mogą mieć do 256 znaków i zawierać litery,
liczby, "." (kropki), "_" (podkreślenia), "-" (myślnik), oraz kilka innych
nirekomendowanych znaków.
3. Pliki z nazwą, rozpoczynającą się od "." normalnie
nie są pokazywane przez komendę ls ani dir. Traktuj je jako pliki "ukryte".
Użyj ls z opcją -a (listowanie "all" czyli wszystkiego) by je zobaczyć.
4. "/" jest ekwiwalentem dosowego "\" (katalog
główny, czyli będący nadrzędny wobec wszystkich innych katalogów, lub rozdzielnik
pomiędzy nazwą katalogu a nazwą podkatalogu albo nazwą pliku). Na przykład,
spróbuj, cd /usr/doc
5. W Linuksie wszystkie katalogi są umieszczone w jednym
drzewie (nie ma liter napędów jak w DOS). Oznacza to, że katalogi i pliki
ze wszystkich urządzeń są łączone w jeden system plików.
6. W pliku konfiguracyjnym, linia zaczynająca się od
# jest komentarzem. Jeśli zmieniasz coś w plikach konfiguracyjnych, nie
kasuj starych ustawień -- zakomentuj je. Zawsze wstawiaj ktrótki komentarz,
opisując co zrobiłeś.
7. Twoje osobiste ustawienia znajdują się w twoim katalogu
domowym, czyli
/home/twoja_nazwa_uzytkownika. Wiele
ustawień jest zapisywanych w plikach, o nazwach zaczynających się od kropki
".", więc uważaj na nie. (zobacz na punkt trzeci powyżej).
8. Ustawienia odnośnie całego systemu znajdują się w
katalogu /etc .
9. Pod Linuksem, jak w każdym innych systemie wieloużytkownikowym,
katalogi i pliki mają właściciela i zestaw praw dostępu. Normalnie zapisywać
będziesz mógł tylko w twoim katalogu domowym, czyli /home/twoja_nazwa_uzytkownika.
Naucz
się więcej o prawach dostępu do plików, w przeciwnym bowiem razie Linux
będzie Cię bardzo irytował.
10. Opcje komend są poprzedzone przez myślnik "-",
po którym następuje pojedyncza litera (albo -- kiedy opcja ma więcej niż
jedną literę). Tak więc "-" jest ekwiwalentem DOS'owego przełącznika "/".
Na przykład spróbuj try rm --help.
<Ctrl><Alt><Fn> (n=1..6)
Przełącza na następne terminale. (Ten sam efekt może być uzyskany przez
żadko używaną komendę chvt n.)
tty
Drukuje nazwę terminalu, na którym wpisałeś tą komendę.
<Ctrl><Alt><F7>
Przełącza na pierwszy terminal graficzny (jest na tym terminalu uruchomiony
jest X-window).
<Ctrl><Alt><Fn> (n=7..12)
Przełącza na następny terminal graficzny (jeśli terminal GUI
jest uruchomiony na ekranie n-1). Domyślnie nic nie jest uruchamiane na
terminalach #8-12, ale możesz uruchomić tu inne serwery.
<Tab>
(Na terminalu tekstowym) Auto-dokańczanie komendy, jeśli jest tylko
jedna możliwa, albo wyświetlenie wszystkich dostępnych opcji. TEN KLAWISZ
JEST SUPER! Działa nawet przy znaku zachęli LILO!
<ArrowUp>
Przewija i modyfikuje historię komend. Naciśnij <Enter> by
wykonać
<Shift><PgUp>
Scroll terminal output up. Work also at the login prompt, so you can
scroll through your bootup messages.
<Shift><PgDown>
Przewiń dane wyjściowe z terminala w dół.
<Ctrl><Alt><+>
(W X-window) Zmień rozdzielczość X-serwera (jeśli skonfigurowałeś X-serwer
do pracy z wieloma rozdzielczościami). Aby uzyskać wiele możliwych
rozdzielczości na moim standardowym monitorze i karcie SVGA, mam następującą
linię w moim /etc/X11/XF86Config (pierwsza rozdzielczość
jest domyślna przy starcie, najwięsza wyznacza rozmiar "virtualnego ekranu"):
Modes "1024x768" "800x600" "640x480" "512x384" "480x300" "400x300"
"1152x864"
Oczywiście najpierw musiałem skonfigurować Xserwer, używając Xconfigurator'a
albo ręcznie modyfikując plik /etc/X11/XF86Config,
aby obsługuiwał on powyższe rozdzielczości (głównie w drodze odkomentowania
linii okreslających chipset mojej karty graficznej i podania częstotliwości
synchronizacji mojego monitowa).
<Ctrl><Alt><->
(w X-window) Powróć do poprzedniej rozdzielczości X-serwera.
<Ctrl><Alt><Esc>
(W X-window) Zabija okno, w które klikniesz myszą (wskaźnik myszy
zamienia się w coś na kształt trupiej czaszki). Podobny efekt można uzyskać
wywołując w xterminalu komendę xkill. Użyteczne, gdy jakiś program X-window
nie chce się zamknąć (zawiesi się?).
<Ctrl><Alt><BkSpc>
(in X-windows) Kill the current X-windows server. Use if the X-windows
server cannot be exited normally.
<Ctrl><Alt><Del>
Zamknięcie systemu i ponowne jego uruchomienie. Jest to zwyczajny
sposób zamknięcia systemu dla użytkownika na konsoli. Nie naciskaj samego
przycisku reset aby wyjść z systemu!
<Ctrl>c
Zabij bieżący proces (działa przede wszystkim z małymi, tekstowymi
aplikacami).
<Ctrl>d
Wylogu się z bieżącego terminala. Zobacz także następną komedę.
Log out from the current terminal. See also the next command.
<Ctrl>d
Wyślij znak [Koniec-pliku] do bieżącego procesu. Nie wciśnij tego dwukrtonie,
bo wylogujesz się z konsoli (zobacz poprzednią komendę).
<Ctrl>s
Zatrzymuje transfer do terminala.
<Ctrl>q
Wznawia transfer do terminala. Spróbuj, jeśli twój terminal z
tajemniczych powodów przestaje odpowiadać.
<Ctrl>z
Wyślij bieżący proces w tło.
exit
Wyloguj. Można również użyć w tym samym celu logout. Jeśli
uruchomiłeś drugą powłokę, np. używając bash'a, wyjdziesz z drugiej
powłoki i znajdziesz się ponownie w pierwszej.
reset
Przywróć do domyślnych ustawień schrzaniony terminal (terminal pokazujący
zabawne znaczki). Użyteczne, gdy próbowałeś wyświetlić [cat] plik binarny.
Możesz nie być w stanie przeczytać tej komendy, podczas jej wpisywania.
<MiddleMouseButton>
Wklej tekst, który jest aktualnie zaznaczony gdzieś indziej. Jest to
normalna operacja kopiowania-wklejania w Linuksie. (Nie zadziała z Netscape
i WordPerfect'em, które używają mechanizmów kopiuj-wklej w stylu MS Windows.
Działa to na terminalu tekstowym, jeśli uaktywniłeś proces "gpm", przy
użyciu "setup".). Najlepiej używać pod Linuksem myszy trzyprzyciskowej
(Logitech albo podobnej) albo ustawić "3-mouse button emulation"
[emulację środkowego klawisza myszy].
~
(tylda) Mój katalog domowy (normalnie /home/moja_nazwa_uzytkownika).
Na przykład komenda cd ~/my_dir zmieni mój bieżący katalog
na "my_dir" w moim katalogu domowym. Wpisanie samego "cd" jest równoznaczne
z wpisanie "cd~"
.
(kropka) Katalog bierzący. Na przykład, ./moj-program to próba
uruchomienia pliku "moj-program", znajdującego się w bieżącym katalogu.
..
(dwie kropki) Katalog nadrzędny w stosunku do bieżącego. Na przykład
komedna cd .. zmieni mój bieżący katalog na katalog jeden poziom wyżej.
man
temat
Wyświetla zawartość systemowych stron podręcznika (nanual) na dany
temat. Naciśnij "q" gdy skończysz czytać. Zobacz man man jeśli
potrzebujesz zaawansowanych opcji. Komenda info
temat
działa podobnie do man
temat, ponadto może zawierać
aktualniejsze informacje. Strony podręcznika mogą być bardzo trudne do
czytania -- zostały napisane dla programistów UNIX'a. Spróbuj dowolna_komenda
--help
by
zobaczyć krótki, łatwy do zrozumienia opis komendy. Niektóre programy
zawierają plik README lub inne -- zobacz do katalogu /usr/doc.
By
zobaczyć stronę podręcznika z określonej sekcji, możesz użyć czegoś takiego:
man
3 exit (by wyświetlić informacje o komendzie z sekcji 3 stron podręcznika)
albo man -a exit (by wyświetlić strony podręcznika dla exit ze
wszystkich sekcji). Sekcje podręczika to: Sekcja 1 - komendy użytkownika,
Sekcja 2 - wywołania systemowe, Sekcja 3 - wywołania biblioteczne, Sekcja
4 - urządzenia [Pliki specjalne - dop. tłum.], Sekcja 5 - formaty plików,
Sekcja 6 - gry, Sekcja 7 - różne, Sekcja 8 - Komendy zarządzania systemem,
Sekcja 9 - wywołania jądra, Sekcja n - nowe. By wydrukować stronę
podręcznika, użyj topic | col -b | lpr (opcja col -b usuwa
wszelki znaki "backspace" [cofnięcia karetki] albo inne znaki, które mogły
by utrudniać czytanie wydrukowanej strony podręcznika).
info temat
Wyświetla zawartość pliku info odnośnie szczególnej komendy. info
jest zamiennikiem stron podręcznika, więc zawiera najnowsze poprawki
w dokumentacji systemowej. Użyj <Spacji> i <BackSpace> by poruszać
się po tekście. Naciśnij "q", aby zakończyć.
apropos
temat
Daje listę komend, które mają coś wspólnego z podanym tematem.
help komenda
Wyświetl krótką informację o rezydentnej komendzie bash'a. Używając
help bez komendy pokaże listę rezydentnych komend bash'a.
Najkrótsza lista rezydentnych komend bash'a najpewniej zawiera: alias, bg, cd, echo, exit, export, fg, help, history, jobs, kill, logout, pwd, set, source, ulimit, umask, unalias, unset.kdehelp
hostname
Drukuje nazwę hosta (maszyny, na której aktualnie pracujesz). Użyj
netconf (jako root) aby zmienić tą nazwę.
whoami
Drukuje moją nazwę użytkownika.
id
username
Drukuje identyfikator użytkownika (uid) i jej/jego grupy (gid), efektywny
id (jeśli jest różny od realnego) i dodatkowe grupy.
date
Drukuj albo zmień datę w systemie operacyjnym. Na przykład mógłbym
zmienić datę i czas na 200-12-31 23:57, używając tej komendy
date 123123572000
By ustawić zegar sprzętowy (BIOS) z poziomu Linuksa, użyj komendy (jako
root) setclock
time
Określa ilość czasu, który zużywa proces na wykonanie zdania + inne
info. Nie myl jej z komendą date . Na przykład możesz nią
sprawdzić jak długo zajmuje wyświetlenie zawartości katalogu:
time ls
who
Określa użytkowników zalogowanych w systemie.
w
Określa kto jest zalogowany w systemie, co kto robi, użycie procesora
przez poszczególnych użytkowników, etc. Poręczna komenda, wykorzystywana
w celach bezpieczeństwa.
rwho -a
(=zdalne who) Określa użytkowników zalogowanych na innych komputerach
w sieci. Usługa rwho musi być włączona, żeby ta komenda działała.
Jeśli nie jest, uruchom setup (sposób specyficzny dla RedHat'a)
i jako root włącz "rwho".
finger
nazwa_użytkownika
Informacje systemowe o użytkowniku. Zobacz finger root
last
Pokazuje listing uytkowników ostatnio logujących się na twój system.
Bardzo dobry pomysł na jeden z elementów sprawdzania od czasu do czasu
bezpieczeństwa systemu.
lastb
("=last bad" czyli "ostatnie złe") Pokazuje ostatnie złe (nieudane)
logowanie do systemu.
history | more
Pokazuje ostatnie (z 1000 lub więcej) komend wykonanych z linii komend
na bieżącym koncie. "| mode" powoduje, że ekran zatrzymuje się co jeden
pełny ekran. By zobaczyć co inny użytkownik robić w systemie, zaloguj
się jako root obejżyj jej/jego "historię". Histora jest przechowywana
w pliku .bash_history w katalogu domowym użytkownika
(owszem, w takim razie może być modyfikowana/kasowana).
uptime
Pokazuje ilość czasu od ostatniego restartu maszyny.
ps
(="drukuj status" lub "status procesów" [oryg. "print status", "proces
status" - dop. tłum.]) Pokazuje listę procesów aktualnie działających i
będących własnością akutalnego użytkownika.
ps axu | more
Pokazuje listę procesów aktualnie działających, nawet tych pozbawionych
terminala sterującego, razem nazwą ich właściceli.
top
Stały wykaz aktualnie uruchomionych procesów, posortowanych według
użycia procesora (najwięcej obciążające najpierw). Naciśnij <Ctrl>c
by zakończyć.
gtop
ktop
(w X terminal'u) Dwa graficzne zamienniki top'a. Moim ulubionym
jest gtop (dostarczany z gnome). W KDE ktom jest dostępny
z "K-menu" pod "Użytki" - "Zarządca procesów".
uname -a
(= "Unix name" z opcją "all") Informacja o twoim (lokalnym) sewerze.
Możesz także użyć guname (w terminalu X-window) by obejżeć ją w ładniejszej
formie.
cat /etc/issue
Sprawdzisz w ten sposób jakiej dystrybucji używasz. Możesz umieścić
swój własny tekst w tym pliku -- jest on wyświetlany w czasie logowania.
Bardziej popularne jest jednak umieszczanie swoich własnych wiadomości
wyświetlanych przy logowaniu w pliku /etc/motd ("motd"="message
of the day" [czyli "wiadomość dnia" - dop. tłum.].
free
Informacja o pamici (w kilobajtach). Pamięć "shared" [wspódzielona
- dop. tum.] to pamięć, która może być dzielona pomiędzy procesami (na
przykład kod wykonywalny jest "shared). "Buffered' i "cached" to część,
w której trzymane są części ostatnio otwieranych plików -- może ona być
zwolniona, gdy proces wymaga więcej pamięci.
df -h
(=disk free) Drukuje informacje o wszystkich dyskach w systemie plików
(w formie wygodnej dla człowieka).
du / -bh | more
(=użycie dysku) Drukuje dokłade informacje o tym , ile miejsca na dysku
zajmuje każdy katalog, zaczynając od "/" (w fromie wygodnej dla człowieka).
cat /proc/cpuinfo
Cpu info-- pokazuje to zawartość pliku cpuinfo. Zwróć
uwagę, że pliki w /proc nie są realnymi plikami --
są to "zaczepki" [oryg. hooks -dop. tłumacza], które pozwalają oglądać
informacje dostępne dla jądra.
cat /proc/interrupts
Pokaż używane przerwania. Możesz potrzebować tej wiedzy przed włożeniem
nowego sprzętu.
cat /proc/version
Wersja Linuksa i inne info.
cat /proc/filesystems
Pokazuje rodzaje systemów plików aktualnie używanych.
cat /etc/printcap |more
Pokazuje konfigurację drukarek.
lsmod
(= "list modules". Jako root, użyj /sbin/lsmod
by wykonać tą komendę jeśli jesteś zalogowany jako inny użytkownik). Pokazuje
aktualnie załadowane moduły jądra.
set|more
Pokazuje aktualne środowisko użytkownika.
echo $PATH
Pokazuje zawartość zmiennej środowiskowej "PATH". Ta komenda może być
użyta do sprawdzania wartości innych zmiennych środowiskowych. Użyj "set"
by zobaczyć całe środowisko.
dmesg | less
Drukuje wiadomości jądra (zawartość tak samo zwanego bufora kernela).
Naciśnij "q" by wyjść z "less". Użyj less /var/log/dmesg
by zobaczyć jakie "dmesg" zostało zrzucone do tego pliku zaraz po starcie
systemu.
chage -l my_login_name
Pokazuje informacje o wygasaniu ważności mojego hasła.
ls -al |more
Listuje zawartość bieżącego katalogu, wszystkie pliki (także te zaczynające
się od kropki), w formi długiej. Przekierowanie potoku wyjściowego do "more"
powoduje, że ekran zatrzymuje się po każdym wypełnieniu.
cd
katalog
Zmień katalog. Użycie "cd" bez nazwy katalogu przeniesie cię
do twojego katalogu domowego. "cd -" przeniesie cię do poprzedniego
twojego katalogu, jest to wygodny sposób na poruszanie się między dwoma
katalogami. "cd.." przeniesie cię o jeden katalog wyżej (bardzo
użyteczne).
./nazwa_programu
Uruchom plik wykonywalny z bieżącego katalogu, jeśli tenże katalog
nie znajduję się w PATH. Pliki wykonywalne, które znajdują się w PATH moża
uruchomić wpisując po prostu nazwa_programu.
shutdown -h now
(jako root) Zamyka działanie systemu i wstrzymuje go. Używane głównie
do zdalnego wyłączania. Użyj <Ctrl><Alt><Del> by
zamknąć system z konsoli (może to zrobić każdy użytkownik).
halt
reboot
init 6
(jako root, trzy komendy) Zamknij lub zrestartuj system. Użyteczne
przy zdalnym wyłączaniu, prostsze niż poprzednia komenda. Ponadto doskonałe,
gdy komputer "zawiesza sie" (tracisz kontrolę nad klawiaturą) -- telnetuję
się wtedy na niego z innej maszyny z sieci i zdalnie restartuję go. Używam
<Ctrl><Alt><Del>
dla normalnego restartu z lokalnej konsoli.
vlock
(Tego programu nie ma na RedHat CD, ale jest na Mandrake). Blokuje
virtualny terminal tekstowy. Można także użyć vlock -a by zablokować
wszystkie terminale (chyba niezbyt dobry pomysł). Użyteczne prawdopodobnie
przy wylogowywaniu.
cp
źródło cel
Kopiuje pliki. Na przykład, cp /home/stan/istniejący_plik
. zkopiuje plik do mojego bieżącego katalogu. Użyj
opcji "-r" (rekulsywnie) by skopiować zawartość całego katalogu, na przykład
cp
-r my_existing/dir/ ~ skopiuje podkatalog w moim katalogu roboczym
do mojego katalogu domowego.
mcopy
źródło cel
Kopiuje z/na DOS'owy system plików (nie trzeba montować tego systemu
plików). Na przykład mcopy a:\autoexec.bat ~/junk. Zobacz man
mtools gdzie znajdziesz opis innych komend, przy pomocy których uzyskasz
dostęp do DOS'owego systemu plików, bez montowania go: mdir, mcd,
mren,
mmove,
mdel,
mmd,
mrd,
mformat
.... My nie używamy często narzędzi z mtools --operacje na plikach
DOS/MS Windows mogą być wykonane przy użyciu normalnych komend Linuksa
po zamontowaniu systemu plików DOS'a/Windows'a.
mv żródło cel
Przenieś lub zmień nazwę pliku. Ta sama komenda jest używana
w stosunku do plików jak i katalogów.
rename string replacement_string filename
Wygodne narzędzie do zmiany części nazw plików. Na przykład:
rename .htm .html *.htm
ln
źródło cel
Tworzy twardy link o nazwie cel do pliku o nazwie
źródło . Link wydaje się być kopią oryginalnego pliku, ale w rzeczywistości
tylko jedna kopia pliku jest przechowywana, a dwa lub więcej wpisy w katalogu
na niego wskazują. Dowolna zmiana w tym pliku jest automatycznie widoczna
wszędzie. Kiedy jeden wpis do katalogu jest kasowany, inny (inne) pozostają
nienaruszone. Ograniczeniami twardych dowiązań (linków) są:
pliki muszą znajdować się na tym samym systemie plików, dwarde linki do
katalogów albo do plików specjalnych są niemożliwe.
ln -s źródło cel
Tworzy dowiązanie symboliczne (soft link) o nazwie "cel" do pliku "źródło".
Dowiązanie symboliczne zwyczajnie określa ścieżkę, gdzie znajduje się "realny"
plik. W przeciwieństwie do twardych linków, źródło i cel nie muszą
być na jednym systmie plików. W porównaniu do trwadych dowiązań,
wadami dowiązań symbolicznych są: jeśli oryginalny plik zostaje skasowany,
link jest "zepsuty" -- wskazuje do nikąd; dowiązania syboliczne mogą także
tworzyć zapentlone referencje (jak zapentlone referencje w arkuszu
kalkulacyjnym lub bazie danych, na przykład "a" oznacza "b" a "b" oznacza
"a"). W skrócie, dowiązania symboliczne są wspaniałym narzędziem i bardzo
często się je stosuje, mogą one jednak stwarzać dodatkowe problemy.
rm pliki
Usuwa (kasuje) pliki. Musisz być właścicielem pliku, aby móc go skasować
(albo być "root'em"). W wielu systemach zostaniesz zapytany o potwierdzenie,
jeśli nie chcesz użyć opcji "-f" (=wymuś), na przykład rm -f * skasuje
wszystkie pliki w moim bieżącym katalogu, bez zadawania pytań.
mkdir
katalog
Tworzy nowy katalog.
rmdir
katalog
Usuwa pusty katalog.
rm -r files
(rekursywne usuwanie) Usuwa pliki, katalog i ich podkatalogi. Z konta
root'a używaj tej komendy ostrożnie -- możesz łatwo usunąć wszystkie pliki
w systemie, gdy wykonasz tą komendę na szczycie drzewa katalogów, a niema
żadnej możliwości przywrócenia pliku po skasowaniu w Linuksie (na razie).
Ale jesli na prawdę chcesz to zrobić (pomyśl jeszcze raz), oto przepis
(jako root):
rm -rf /*
rm -rf files
(rekursywne wymuszone usuwanie). Jak powyżej, ale pomiń pytania o potwierdzenie,
jeśli takie są ustawione w twoim systemie. Ostrożnie z tą komendą, szczególnie
z konta root'a -- zobacz komenda wyżej.
mc
Uruchom menadżera plików "Midnight Commander" (wygląda jak "Norton
Commander" dla Linuksa).
cat nazwa_pliku | less
less
nazwa_pliku
(dwie komendy, używane zamiennie) Umożliwia poruszanie się po pliku
tekstowym. Naciśnij "q" aby zakończyć. "less" jest ekwiwalentem "more",
komendy, którą znasz z DOS'a, ale często "less" jest bardziej wygodny niż
"more".
head nazwa_pliku
Drukuje pierwsze 10 linii (długiego) pliku tekstowego.
tail nazwa_pliku
Drukuje ostatnie 10 linii (długiego) pliku tekstowego. Użyj tail
-f filename by śledzić nowe linie, pojawiające się na końcu pliku
-- na prawdę wygodne, by monitorować pliki z logami.
pico
nazwa_pliku
Modyfikuj plik tekstowy, przy użyciu prostego i standartowego edytora
tekstowego o nazwie pico. Użyj <Ctrl>x aby zakończyć.
Istnieje wiele edytorów tekstowych pod Linuksa, w tym również pracujących
w środowisku graficznym.
pico -w nazwa_pliku
Modyfikuj plik tekstowy, nie pozwalając na łamanie długich linii.
Wygodne przy modyfikowaniu plików konfiguracyjnych, na przykład /etc/fstab.
kwrite
(w X terminalu) Bardzo przyjemny, "zaawansowany edytor". Potrafi zaznaczać
pionowe bloki tekstu!
kedit
gedit
(w X terminalu). Małe ale przyjemne edytory tekstowe (pracujące
w środowisku graficznym).
gxedit
(w X terminalu) Następny bogato wyposażony edytor tekstowy ogólnego
stosowania. Ten nawet posiada automatyczne nagrywanie kopii bezpieczeństwa
co jakiś czas.
ispell nazwa_pliku
Sprawdza poprawność pisowni pliku tekstowego ASCII. AbiWord, WordPerfect,
StarOffice i inne procesory tekstu posiadają mechanizmy sprawdzania pisowni
w czasie wstukiwania tekstu, więc nie musisz się zajmować używaniem prostego
ispell'a, zanim na prawdę nie będziesz go potrzebował. Nowsze dystrybucje
Linuksa zawierają ulepszony program do sprawdzania pisowni o nazwie aspell,
jednak ta powyższa komenda ciągle działa.
touch
nazwa_pliku
Zmienia datę/czas pliku nazwa_pliku na akutalną w systemie.
Tworzy pusty plik, jeśli plik o podanej nazwie nie istnieje.
locate
nazwa_pliku
Znajdź plik o nazwie, która zawiera w swojej nazwie łańcuch znaków
nazwa_pliku.
Łatwiejsze
i prostsze niż poprzednia komenda, ale opiera ona swoje działanie na bazie
danych o plikach, która normalnie uaktualniana jest w nocy.
which executable_name
Pokaż pełną ścieżkę pliku wykonywalnego, który uruchomił by się, jeśli
wpisał bym go normalnie w linii komend. Na przykład, ta komenda:
which netscape
na moim systemie zwraca:
/usr/bin/netscape
rgrep -r 'ciele' . |more
Skanuje wszystkie pliki w bieżącym katalogu i jego podkatalogach, pod
kątem występowania w nich łańcucha znaków "ciele". Drukuje nazwę pliku
i linię, zawierającą poszukiwany łańcuch.
startx
Uruchamia X-window serwer i domyślny menadżer okien. Działa jak wpisanie
"win" w DOS'ie z Win3.1
startx -- :1
Uruchamia kolejną sesję X-window na ekranie 1 (domyślny ekran
ma numer 0). Możesz mieć wiele terminali graficznych uruchomionych równocześnie.
Przełączaj pomiędzy nimi, używając <Ctrl><Alt><F7>, <Ctrl><Alt><F8>,
etc.
xterm
(w X terminalu) Uruchamia prosty termial X-window. Wpisując exit
zamkniesz
go. Istnieją inne, bardziej zaawansowane "wirtualne" terminale dla
X-window. Ja lubię bardziej popularne: konsole oraz
kvt
(obydwa zawarte są w KDE) i gnome-terminal (zawarty w gnome).
Jeśli potrzebujesz czegoś na z prawdę bajeranckim wyglądem, spróbuj
Eterm.
netscape -display host:0.0
(w X-terminalu0 Uruchom netscape na bieżącej maszynie i przekieruj
wyświetlanie na maszynie o nazwie "host" i jej ekran 0. Twoja bieżąca
maszyna musi mieć prawa do wyświetlania na maszynie "host" (typowo nadaje
sie je przez uruchomienie komendy xhost
current_machine_name
w xterminalu na maszynie hosta). Inne programy X-window mogą być
uruchamiane w ten sam sposób.
lynx
plik.html
Oglądaj plik html lub przeglądaj internet w trybie tekstowym. Aczkolwiek
wygląd i sposób używania nie jest tak dobry, jak przglądarek graficznych,
jest on niewielki, działa prawie zawsze i nie potrzebuje żadnego konfigurowania,
jeśli tylko sieć działa prawidłowo.
pine
Dobry klient poczty w trybie tekstowym. Następnym dobrym i popularnym
jest elm. Twój Netscape będzie czytał pocztę z twojego konta internetowego,
pine
możesz czytać "lokalną" pocztę, na przykład pocztę swojego syna albo pocztę
wysyłaną do ciebie przez proces cron, z komputera w lokalnej, domowej sieci.
Komenda mail może być także używana do czytania/pisania listów,
ale było by to niewygodne -- komenda ta jest przeznaczona do użycia w skryptach.
elm
Dobry czytnik poczty w trybie tekstowym. Zobacz poprzednią komendę.
mutt
Na prawdę prosty, ale ekstremalnie użyteczny i szybki czytnik poczty.
mail
Podstawowe narzędzie systemu operacyjnego do poczty elektronicznej.
Zobacz na poprzednie komendy, jeśli szukasz lepszych narzędzi dla siebie.
mail
jest dobry, jeśli zamierzasz wysyłać pocztę elektroniczną z skryptów powłoki.
kmail
(w X-terminalu) Przyjemny program pocztowy, działający w środowisku
graficznym.
licq
(w X terminal'u) Klient icq. Innym dobrym jest kxicq. Starsze
dystrubucje nie mają zainstalowanego klienta icq, musisz ściągnąć i zainstalować
jakiegoś.
talk
nazwa_użytkownika1
Rozmawiaj z innym użytkownikiem, aktualnie zalogowanym na twojej maszynie
(albo użyj ""talk
username1@machinename" by rozmawiać
z użytkownikiem na innym komputerze). By zaakceprować zaproszenie do rozmowy,
wpisz komendę "talk
username2". Jesli ktoś usilnie
próbuje z tobą rozmawiać i przeszkadza ci w pracy, możesz użyć komendy
"mesg n" by zablokować te komunikaty. Możesz również użyć "who"
albo "rwho", by dowiedzieć się, jacy użytkownicy są aktualnie zalogowani.
telnet
server
Połącz się z inną maszyną, używając protokołu TELNET. Użyj nazwy
zdalnej maszyny albo jej adresu IP. Będziesz zapytany o nazwę użytkownika
i hasło -- musisz mieć założone konto na zdalnej maszynie, aby się na nią
zalogować. Telnet połączy cię z zdalną maszyną i pozwoli ci pracować na
niej tak, jakbyć siedział przed jej klawiaturą (prawie). Telnet jest niezbyt
bezpieczny -- wszystko co wpisujesz przekazywane jest otwartym tekstem,
nawet twoje hasło!
rlogin
server
(=zdalne logowanie) Łączy z inną maszyną. Do zalogowania jest używana
nazwa użytkownika i hasło, które masz na bieżącej maszynie, jeśli to zawiedzie,
zostaniesz zapytany o hasło.
rsh
server
(=zdalna powłoka) Jeszcze jeden sposób na połączenie ze zdalną maszyną.
Do zalogowania jest używana nazwa użytkownika i hasło, które masz na bieżącej
maszynie, jeśli to zawiedzie, zostaniesz zapytany o hasło.
ftp
server
"Eftepowanie" na inną maszynę. (Istnieje ponadto program ncftp
, który dodaje dodatkowe możliwości oraz gftp dla środowiska graficznego.
Ftp jest dobre do kopiowania plików z i na zdalną maszynę. Spróbuj użytkownika
"anonymous", jeśli nie masz konta na zdalnym serwerze. Po połączeniu użyj
"?" by zobaczyć listę dostępnych komend ftp. Elementarne komendy ftp to:
ls
(listuj pliki na zdalnym systemie) , ASCII,
binary (ustawia
rodzaj transferu albo na tekstowy albo na binarny, ważne, abyś wybrał właściwy),
, get (kopiuje plik ze zdalnego systemu na lokalny), ,
mget
(kopiuje wiele plików na raz), put (kopiuje plik z lokalnego systemu
na zdalny system), mput (kopiuje wiele plików na raz) bye
(rozłączenie). Dla zautomatyzowania czynności skryptem, możesz użyć
ncftpput
i ncftpget, na przykład:
ncftpput -u my_user_name -p my_password -a remote.host.domain remote_dir
*local.html
minicom
Program minicom [nazwa prawdopodobnie od "mini - komunikacji" - dop.
tłum.] (wygląda jak "Procomm dla Linuksa").
rx
Odbiera pliki, używajć protokołów Zmodem, Ymodem lub Xmodem. Xmodem
wymaga nazwy pliku.
Użyj rx --help by dowiedzieć się więcej.
tar -zxvf nazwa_pliku.tar.gz
(=archiwizator taśmowy) Rozpakuj ztarowaną i skompresowaną paczkę (*.tar.gz
lub *.tgz), którą ściągnąłeś z internetu.
tar -xvf filename.tar
Zozpakują ztarowaną ale nie kompresowaną paczkę (*.tar).
gunzip
filename.gz
Rozpakowuje zzipowany plik (*.gz" or *.z). Użyj gzip (ponadto zip
lub compress), jeśli chcesz skompresować pliki do tego formatu.
zcat nazwapliku.gz | more
(=zip cat)Wyświetla zawartość skompresowanego pliku.
bunzip2
nazwapliku.bz2
(=duży unzip) Rozkompresuj plik zzipowany przy użyciu bzip2 (*.bz2).
Używany przy dużych plikach.
unzip
filename.zip
Rozkompresuj plik (*.zip) zzipowany przy użyciu narzędzi kompatybilnych
z PKZIP dla DOS.
unarj e filename.arj
Ekstraktuj zawartość archium *.arj.
uudecode -o outputfile filename
Rozkoduj plik zakodowany przy użyciu uuencode. Pliki
zakodowane algorytmem uu-encoded są najczęściej używane przy transferze
nie-tekstowych plików przez e-mail. (uuencode zamienia dowolny plik
w plik ASCII)
dowolna_komenda &
Uruchamia komendę w tle (symbol "7" oznacza "uruchom poprzedzającą
komendę w tle"). Numer_pro
Run any command in the background (the symbol "&" means "run the
proceeding command in the background"). The job_number
is printed on the screen so you can bring the command in the foreground
(see below) if you want.
jobs
Pokazuje listę moich działających w tle lub zatrzymanych procesów,
oraz ich numery.
fg
job_number
Przywróć działający w tle albo zatrzymany proces "na wierzch" [to foreground
czyli na konsolę - dop' tłum].
bg
job_number
Umięść proces w tle, co jest dokładnie równoznaczne z uruchomieniem
go z &. Komenda ta również zrestartuje zatrzymany proces. Aktualny
proces może być często zatrzymany przy uzyciu <Ctrl>z. Jeśli
zatrzymałeś lub posłałeś proces w tło, musisz napisać exit
dwukrotnie, aby się wylogować.
batch dowolna_komenda
Uruchom dowolną komendę (zwykle taką, która potrzebuje wiele czasu),
gdy obiciążenie systemu jest niskie. Mogę się wylogować a proces będzie
wciąż działał.
at 17:00
Wykonaj komendę o określonym czasie. Będziesz zapytywany o kolejne
komendy, zanim nie naciśniesz <Ctrl>d.
Pokrewną komendą jest atq (wyświetla kolejkę procesów do wykonania
przez at) oraz atrm (wyświetla proces z kolejki "at").
kill
PID
Wymuś zakończenie działania procesu. Najpierw musisz dowiedzieć się,
jaki PID ma proces, który chcesz zabić. Możesz to zrobić przy użyciu ps.
killall
program_name
Zabij program(y) na podstawie ich nazw.
Kill program(s) by name.
xkill
(w X-terminal'u) Zabij program, pracujacy w środowisku graficznym.
(Najedź wskaźnikiem myszy na okno procesu, który chcesz zabić i kliknij.)
kpm
(w X-terminal'u) Zarządca procesów KDE.
lpc
(jako root) Sprawdź i kontroluj drukarkę(ki). Wpisz "?" a zobaczysz
listę dostępnych komend.
lpq
Pokaż zawartość kolejki drukarki. Pod KDE (X-window) możesz użyć graficznego
"Kolejka drukarki", dostępnego z "K-Menu" - Narzędzia.
lprm
numer_zadania
Usuwa z kolejki drukarki zadanie do drukowania o podanym numerze.
nice
nazwa_programu
Uruchom nazwa_programu zmieniając jego priorytet.
Jako, że priorytet nie jest określony w tym przykładzie, bedzie on zwiększony
o 10 (czyli proces będzie działał wolniej). Niższy numer (większy stopień
bycia "niemiłym" dla innych użytkowników systemu) ["nice" - ang. "miły",
przyjemny" -dop tłum.] oznacza wyższy priorytet. Priorytet
może mieć wartość od -20 do 19. Tylk oroot może nakazywać negatywne wartości.
Użyj top by zobaczyć priorytety działających procesów.
renice -18 PID
(jako root) Zmień priorytet uruchomionego procesu do minus 18. Normalny
użytkownik może modyfikować tylko swoje własne procesy, i tylko w
górę od bieżącego priorytetu (może sprawiać, by działały wolniej). Można
także wykonać polecenie renice +10 -u peter by sprawić, że użytkownik
peter będzie mniej obciążał procesor, a inni nie będą cierpieć, gdy włącza
swoje, mocno obciążające maszynę programy.
<Ctrl>c, <Ctrl>z, <Ctrl>s, i <Ctrl>q także mięszczą się w tematyce tego rozdziału, ale były opisane poprzednio. W skrócie oznaczają one: zatrzymaj bieżące zadanie, przenieś aktualne zadanie w tło, zatrzymaj transfer danych i wznów transfer danych.
setup
(jako root) Konfiguruje myszę, kartę dźwiękową, klawiaturę, X-window
usługi systemowe. Istnieje wiele narzędzi konfiguracyjnych, właściwych
dla danych dystrybucji, setup jest domyślnyw RedHat'cie. Mandrake
7.9 oferuje bardzo przyjemny DrakConf .
linuxconfig
(jako roo, albo w trybie tekstowym albo w X-terminal'u). Masz dostęp
i możesz modyfikować setki ustawień tym programem. Bardzo użyteczny --
nie zmieniaj zbyt wielu rzeczy w tym samym czasie, i bądź ostrożny ze zmienianiem
rzeczy, których nie rozumiesz. Redhat'owskie narzędzie konfiguracji
sieci netconf jest wycinkiem z linuxconfig, dzięki
czemu jest prostsze i czasami łatwiejsze w użyciu.
xvidtune
(w X-terminal'u) Zmienia ustawienia Xserwera dla wszystkich rozdzielczości,
w celu zlikwidowania czarnych boków, przesunięcia ekranu w lewo/prawo/górę/dół
etc. (Najpierw użyj regulatorów na twoim monitorze, by dopasować ekran
w trybie tekstowym). Następnie użyj xvidtune by dopasować częstotliwości
monitora dla każdej rozdzielczości, tak, aby ekran dobrze mięścił się w
twoim monitorze. By zmiany zostały na stałe, wyświetl częstotliwości
na ekranie a następnie przenieś je do /etc/X11/XF86Config.
alias ls="ls --color=tty"
Utwórz alias dla komendy "ls", by zmienić jej format na kolorowy. W
tym przykładzie, alias jest nazwany także "ls" i opcja "kolor" jest przywoływana
tylko wtedy, gdy wynik jest kierowany na terminal (nie do pliku). Umieść
alias w pliku /etc/bashrc jeśli chcesz, aby był on zawsze dostępny
dla wszystkich uzytkowników w systemie. Aliasy to bardzo wygodny sposób
na dostosowania systemu do swoich potrzeb. Wpisz samo "alias",
aby zobaczyć listę wszystkich aliasów w systemie. Użyj unalias nazwa_aliasu
by
usunąć jeden z nich.
adduser nazwa_użytkownika
useradd
nazwa_użytkownika
(Dwie komendy robiące to samo. Używaj zamiennie). Tworzy nowe konto
(musisz być na koncie root'a). Na przykład adduser barbara
Nie zapomnij o ustawieniu hasła dla nowego użytkownika. Katalogiem domowym
nowego użytkownika będzie /home/user_name.
userdel nazwa_użytkownika
Usuwa konto (musisz być root'em). Katalog domowy użytkownika i niedosłana
poczta wymagają osobnego potraktowania (ręcznie, ponieważ musisz zdecydować,
co zrobić z tymi plikami).
groupadd
group_name
(jako root) Tworzy nową grupę w twoim systemie. Nie jest to niezbedne
na domowym komputerze, ale może być bardzo przydatne, nawet na domowej
maszynie z kilkoma użytkownikami.
Na przykład, mogę utworzyć grupę "przyjaciele", następnie zmodyfikować plik /etc/group i dodać nazwę mojego konta i nazwy kont moich przyjaciół do linii, opisującej właśnie tą grupę. Linia ta może wtedy wyglądać tak:
przyjaciele:x:502:stan,pete,marie
Następnie mogę zmienić prawa dostępu do wybranych plików, tak żeby pliki należały do mnie i do grupy "przyjaciele"
chgrp przyjaciele mój_plik
Dzięki temu, wymienieni członkowie tej grupy mogą posiadać specjalne prawa dostępu do tych plików, których reszta świata nie posiada:
chmod g=rw,o= mój_plik
Alternatywą mogło by być nadanie praw do zapisu dla każdego, co było by definitywnie niebezpieczne, nawet na domowym komputarze.
groups
Wymienia grupy, do których bieżący użytkownik należy.
passwd
Zmienia hasło na aktualnym koncie. Jeśli jesteś root'em, możesz zmienić
hasło dowolnego użytkownika, używając:
passwd
nazwa_użytkownika
chfn
(="change full name" czyli zmień pełną nazwę). Zmienia informacje
o tobie (pełne imię i nazwisko, numer pokoju, numer telefonu, etc.).
Informacja ta jest wyświetlana, gdy wykona się komendę finger
z twoją nazwą_konta.
chage -M 100 nazwa_użytkownika
(= "change age" czyli zmień wiek). Ustawia wygaśnięcie hasła
na 100 dni dla nazwa_użytkownika.
chmod perm filename
(=change mode czyli zmień prawa dostępu) Zmienia prawa dostępu
do pliku, który jest twoją własnością (chyba, że jesteś root'em, bo wtedy
możesz zmienić dowolny plik). Możesz ustawić prawa dostępu w trzech aspektach:
czytanie (r), zapis (w), wykonanie (x) dla trzech klas użytkowników: właściciel
(u), członkowie grupy, do której należy plik (g), inni w systemie (o).
Sprawdź aktualne prawa dostępu, używając:
ls -l filename
Jeśli do pliku dostęp mają wszyscy we wszystkich aspektach, komenda
ta pokaże:
rwxrwxrwx
Pierwsze trzy znaki pokazują prawa dla właściciela pliku, drugie trzy
dla grupy, do której należy plik, i kolejne trzy to prawa dla pozostałych
("reszty świata"). Brak zezwolenia jest pokazywany jako "-".
Gdy nadajesz prawa, używane są następujące symbole: "u" = właściciel
pliku, "g" = grupa, do której należy plik, "o" = inni, "a"=all, czyli wszyscy,
mianowicie właściciel, grupa i reszta, "=" =ustaw prawo na ..., "+" (dodaj
prawo), "-" = zabierz prawo, "r" = prawo do czytania pliku, "w" = prawo
do zapisu do pliku, czyli jego modyfikowania, "z" = prawo do wykonania
pliku.
Na przykład ta komenda doda prawa do czytania pliku junk dla wszystkich (=użytkownik+grupa+reszta):Zobacz także tutaj jeśli potrzebujesz więcej informacji.
chmod a+r junk
Ta komenda usunie prawa do wykonania pliku przez resztę świata:
chmod o-x junk
chown
nazwa_nowego_właściciela nazwa_pliku
chgrp nazwa_nowej_grupy nazwa_pliku
Zmień właściciela i grupę pliku. Powinieneś użyć tych dwóch komend
po skopiowaniu pliku, w celu używania przez kogoś innego. Tylko właściciel
pliku może go skasować.
lsattr files
Pokazuje atrybuty pliku (plików). Niezbyt często używanym gdyż większośc
atrybutów wciąż nie jest zaintempletowana. Atrybuty mogą być zmieniane,
przy użyciu komendy chattr . Atrybuty to:
A=nie uaktualniaj czasu ostatniego dostępu do pliku, gdy jest on modyfikowany,
S=synchroniczne uaktualnianie, a=do tego pliku możliwe jest tylko dopisywanie,
c=kompresja pliku na poziomie jądra - jeszcze nie zaimplentowany, i=plik
niezmienny, d=no dump [ktoś wie o co chodzi? - dop. tłum.], s=bezpieczne
kasowanie, u=plik, który można odkasować (undelete) - jeszcze nie
zaimplentowany.
su
(=podmiana identyfikatora użytkownika) Przejście na konto superużytkownika
(=root) (będziesz zapytany o hasło). Wpisz "exit" by wrócić na swoje poprzednie
konto. Nie wyrabiaj sobie nawyku codziennej pracy na koncie root'a.
Konto to służy celom administracji systemem, a komenda su ułatwia ci do
niego dostęp, gdy go potrzebujesz. Możesz także użyć "su" by przejść
na konto dowolnego innego użytkownika w systemie, np. su barbara
sprawi, że będę "barbarą" (potrzebne jest hasło, chyba, że jesteś na koncie
root'a).
cat /var/log/httpd/access_log
Pokazuje, kto łączył się z twoim serwerem http (apache), od czasu gdy
logi ostatnio były "rotowane" (normalnie "rotowane" raz dziennie, gdy uruchamia
się cron) [w RedHat'ach, które widziałem było to raczej raz w tygodniu
- dop. tłum.] Poprzednim plikiem logu jest access_log.1, jeszcze
starszy to access_log.2, etc.
cat /var/log/secure
(jako root) Sprawdź ważny log systemowy. Dobrym pomysłem
jest robienie tego od czasu do czasu, jeśli jesteś podłączony do internetu.
ftpwho
(jako root) Pokazuje, kto jest aktualnie podłączony do twojego serwera
ftp.
SVGATextMode 80x25x9
SVGATextMode 80x29x9
(jako root) Zmienia rozdzielczość tekstu na terminalu tekstowym. W
powyższym przykładzie (druga linia) zmieniłem ekran tekstowy na 80 kolumn
i 29 linii, ze znakiem o wielkości 9 piksli. Pierwsza linia określa rozdzielczość,
która zawsze działa, więc jeśli druga rozdzielczośc nie zadziałała
na moim systemie, mogę nacisnąć dwukrotnie <Strzałkę_w_górę> i <Enter>
by odzyskać kontrolę nad ekranem. Możliwe tryby graficzne zależą
od twojej karty graficznej i częstotliwości synchronizacji twojego monitora
-- musiałem zmodyfikować (jako root) plik /etc/TextConfig
i odkomentować właściwe linie, by SVGATextMode wiedział, co mój system
potrafi.
kernelcfg
(jako root w X-terminal'u) Graficzna aplikacja do dodawania/usuwania
modułów z jądra. Moduł to jak sterownika urządzenia -- kawałek jądra Linuksa,
który zapewnia wsparcie dla poszczególnego kawałka sprzętu. Możesz uzyskać
to samo na linii komend, używając komendy insmod.
lsmod
(= list modules czyli listuj moduły). Pokazuje listę aktualnie załadowanych
modułów jądra.
List currently loaded kernel modules. A module is like a device driver--it
provides operating system kernel support for a particular piece of hardware
or feature. Moduł to jak sterownika urządzenia -- kawałek jądra Linuksa,
który zapewnia wsparcie dla poszczególnego kawałka sprzętu lub jakiejś
jego funkcji.
modprobe -l |more
Pokazuje listę wszystkich modułów dostępnych dla twojego jądra. Aktualnie
dostępne moduły są określane poprzez kompilację jądra. Każdy dostępny
moduł/funkcja może być skompilowana albo "na stałe" (szybkie, nieusuwalne),
"moduł" (może wolniej, ale ładowane/usuwalne na żądanie), albo można jej
w ogólne nie dodawać. Wszystkie moduły, które są dostępne dla twojego jądra
(z którymi jądro było skompilowane) są umieszczone jako pliki w katalogu
/lib/modules
więc przeglądanie go może być czasami pomocne.
modprobe sb
Ładuje moduł soundblaster'a (sb).
insmod parport
insmod ppa
(jako root) Ładuje do jądra moduły (moduł to w dużym przybliżeniu
odpowiednik DOS'oweg sterownika użądzenia). W tym przykładzie pokazuje
jak załadować do jądra moduły odpowiedzialne za wsparcie dla zewnętrznego
napędu ZIP na porcie równoległym (wydaje się, że istnieją problemy ze zmuszeniem
zewnętrznego napędu ZIP do działania w żaden inny sposób w RH 6.0 i RH
6.1).
rmmod
nazwa_modułu
(jako root, nie musisz tego koniecznie wiedzieć). Usuwa moduł nazwa_modułu
z
jądra.
depmod -a
(jako root) Zbuduj tablelę zależności modułów dla nowego
jądra. Nie jest to niezbędne, chyba że zmodyfikowałeś /etc/modules i zamierzasz
zrestartować system.
setserial /dev/cua0 port 0x03f8 irq 4
(jako root) Ustaw niestandartowe parametry portu szeregowego. Ten przykład
pokazuje standartowe ustawienia dl pierwszego portu szeregowego (cua0 lub
ttyS0). Standartowe ustawienia PC dla drugiego portu szeregowego (cua1
lub ttyS1) to: adres portu wejścia/wyjścia 0x02f8, przerwanie 3.
Trzeci port szeregowy (cua2 lub ttyS2): 0x02e8, przerwanie 3. Dodaj swoje
ustawienia do /etc/rc.d/rc.local jeśli chcesz, aby były one uaktywniane
przy starcie systemu. Zobacz man setserial, jest tam dobry opis.
tunelp
(jako root, żadko potrzebne) Ustawia parametry portu równoległego.
fdisk /dev/hda
(= "fixed disk" czyli "gotowy dysk". Jako root.) Linuksowe narzędzie
do partycjowania dysku (DOS ma narzędzie o tej samej nazwie). W powyższym
przykładzie, określiłem że chciałbym partycjonować pierwszy twardy dysk
na pierwszym kanale IDE, czyli hda. Na twoim miejscu zrobił bym kopie
bezpieczeństwa swoich danych przed użyciem fdisk'a na dowolnej partycji.
Nie znam nikogo, kto lubi używać fdisk (zarówno wersji DOS'owej
jak i linuksowej) -- wolę łatwiejszego w użyciu cfdisk, zobacz
następną komendę.
cfdisk /dev/hda
(jako root) Narzędzie do dzielenia na partycje twardego dysku przy
pomocy menu. Łatwiejsze w użyciu, niż fdisk.
cd /usr/src/linux-2.2.14
make xconfig
(jako root w X-terminal'u). Miła graficzna nakładka na konfigurację
opcji jądra, potrzebną przed jego kompilacją.
(Nazwa katalogu zawiera wersję twojego jądra Linuksa, więc możesz potrzebować
użyć innej nazwy katalogu, jeśli wersja twojego jądra to nie 2.2.14, użyta
w tym przykładzie. Ponadto, potrzebujesz mieć zainstalowanego "Tk"
oraz kod źródłowy jądra.) Alternatywą do "make xconfig" jest "make config"
(uruchamia skrypt, zadający ci pytania w trybie tekstowym) oraz "make menuconfig"
(uruchamia menu w trybie tekstowym). Zobacz less /usr/doc/HOWTO/Kernel-HOWTO
jeśli potrzebujesz więcej informacji.
Po konfiguracji opcji nowego jądra, możesz przystąpić do jego kompilacji,
wydając następujące komendy:
make dep
make bzImage
Ostatnia z tych komend będzie potrzebowała nieco czasu (może 0,5 godz.
albo 2 godz. w zależności od twojego sprzętu. Tworzy ona plik "bzImage",
który jest twoim nowym jądrem. Następnie:
make modules
make modules_install
Masz teraz nowe jądro i moduły, więc możesz je zainstalować -- instalacja
obejmuje skopiowanie nowych plików do katalogu /boot i zmodyfikowaniu
pliku /etc/lilo.conf byś mógł wybrać w czasie uruchamiania
systemu, które jądro (stare czy nowe) uruchomić. Przeczytaj ten
rozdział, gdzie są szczegóły odnośnie konfiguracji jądra. Pomocnym
może być także przeczytanie /usr/doc/HOWTO/Kernel-HOWTO
i zapewne man depmod. Konfiguracja, kompilacja i instalacja
nowego jądra nie jest wcale trudna ale MOŻE doprowadzić do problemów, jeśli
nie wiesz, co robisz. (w najgorszym wypadku, jeśli nie będziesz w stanie
uruchomić komputera ani nie będziesz potrafił naprawić systemu po uruchomieniu
z dyskietki, możesz potrzebować reinstalacji). Kompilacja nowego
jądra jest też dobrym sposobem na przetestowanie sprzętu, ponieważ
wymaga ona ogromnych ilości przeliczeń. Jeśli twój sprzęt jest "walnięty",
najprawdopodobniej w czasie kompilacji otrzymasz błąd "signal 11"
(przeczytaj bardzo dobry /usr/doc/FAQ/txt/GCC-SIG11-FAQ).
ldconfig
(jako root)
Odtwarzą dowiązania i cache "ładowacza" dynamicznych bibliotek
("ld"). Możesz potrzebować uruchomić ldconfig po instalacji nowej
dynamicznej biblioteki w systemie. (Jest on także uruchamiany przy każdym
starcie komputera, więc jeśli zrestartowałeś maszynę, nie musisz go uruchamiać
ręcznie).
mknod /dev/fd0 b 2 0
(=utwórz node, jako root). Ręcznie tworzy plik urządzenia. Ten przykład
pokazuje, jak utworzyć plik urządzenia, oznaczającego pierwszy napęd dyskietek
i może być być użyteczny, jeśli kiedyś przypadkiem go sobie skasujesz.
Opcje to: b=urządzenie blokowe, c= urządzenie znakowe (character), p= urządzenia
FIFO, u=niebuforowane urządzenie znakowe (character). Dwie liczby oznaczają
główny i podrzędny numer urządzenia. Normalnie nie znał bym
parametrów wymaganych przez mknod. Żeby więc utworzyć urządzenia,
przywykłem czytać man MAKEDEV gdzie można znaleźć nazwę urządzenia
a następnie uruchamiam skrypt /dev/MAKEDEV który rozpoznaje urządzenia
po ich nazwach --zobacz następną komendę.
cd /dev
./MAKEDEV audio
(jako root). Odtwarza urządzenia "audio", które w jakiś sposób zniszczyłem.
Zobacz ponadto poprzednią komendę.
fdformat /dev/fd0H1440
mkfs -c -t ext2
(=formatowanie dyskietki, dwie komendy, jako root) Przeprowadź
niskopoziomowe formatowanie dyskietki w pierwszym napędzie (/dev/fd0),
w wysokiej gęstości (1440 kB). Następnie utwórz na niej system plików Linuksa
(-t ext2), ze sprawdzaniem/zaznaczaniem złych bloków (-c). Tworzenie
systemu plików jest równoważne z wysokopoziomowym formatowaniem.
badblocks /dev/fd01440 1440
(jako root) Sprawdź dyskietkę o wysokiej gęstości pod kątem występowania
złych bloków i wyświetl rezultat na ekranie. Parametr "1440" określa, że
1440 bloków jest sprawdzanych. Tak komenda nie modyfikuje zawartości dyskietki.
fsck -t ext2 /dev/hda2
(=sprawdzanie systemu plików, jako root) Sprawdź i napraw system plików,
na przykład po "nieczystym" zmaknięciu systemu, z powodu awarii zasilania.
Powyższa komenda sprawdza partycję hda2 i system plików ext2. Zdecydowanie
powinieneś uruchomić Linuksa w trybie jednoużytkownikowym, by to wykonać
(wpisz "linux single" po znaku zachęty LILO albo uzyj init 1 jako
root, by przejść do tego trybu). Jeśli w czasie naprawiania program napotka
błędy, zaakceptuj jego propozycje naprawy.
dd if=/dev/fd0H1440 of=floppy_image
dd if=floppy_image of=/dev/fd0H1440
(dwie komendy, dd="data duplicator") Utwórz obraz dyskietki o
nazwie "floppy_image" w bieżącym katalogu. Następnie skopiuj floppy_image
(plik) na inną dyskietkę. Działa jak dosowy "DISKCOPY".
/sbin/chkconfig
Narzędzie do sprawdzania/włączania/wyłączania usług systemowych na
różnych poziomach pracy. Typowo, zwyczajnie używam RedHat'toskiego narzędzia
setup
jeśli
potrzebuję włączyć/wyłączyć usługę, ale chkconfig daje dodatkowe
możliwości, jakich tylko możesz potrzebować.
SuperProbe
(jako root). Narzędzie do określania typu karty grafiki i ilości jej
pamięci.
rpm -Uvh nazwa_pakietu-wersja.platforma.rpm
(jako root) Uaktualnia (opcja "U" musi byc pierwszą literą po myślniku),
pakiet, mówiąc przy tym dużo (opcja "v"=gadatliwie) i drukując "##.." by
pokazać, jak postępuje instalacja (opcja "h")
rpm -ivh --force --nodep nazwa_pakietu-wersja.platforma.rpm
(jako root) instaluje pakiet, ignorując możliwe konflikty i problemy
zależności.
rpm -e nazwa_pakietu
(jako root) Odinstalowuje (opcja "e"=erase) pakiet nazwa_pakietu. Zwróć
uwagę na brak "-wersja.platforma.rpm" na końcu nazwy pakietu
(nazwa pakietu jest tą samą nazwą, która była w nazwie pliku *.rpm, z którego
pakiet został zainstalowany, ale nie ma kreski, wersji, platformy i ".rpm").
rpm -qpi nazwa_pakietu-wersja.platforma.rpm
Odpytuje (opcja "q" musi być pierwszą literą po myślniku) jeszcze
nie zainstalowany pakiet (opcja "p") wyświetlając informacje (opcja "i"),
zawarte w pakiecie.
rpm -qpl nazwa_pakietu-wersja.platforma.rpm
Odpytuje (opcja "q" musi być pierwszą literą po myślniku) jeszcze
nie zainstalowany pakiet (opcja "p") wyświetlając listę plików (opcja "l")
zawartych w pakiecie.
rpm -qf plik
Znajdź nazwę zainstalowanego pakietu, do którego "plik" należy lub
należał. Użyteczne, jeśli przypadkowo skasowałeś plik i poszukujesz właściwego
pakietu, który należy przeinstalować.
rpm -qi nazwa_pakietu
Odpytuje zainstalowany pakiet o informacje o nim. Zwróć uwagę na brak
"wersji.platformy.rpm" na końcu nazwy pakietu.
rpm -qai | more
Odpytuje wszystkie pakiety zainstalowane w systemie o ich podstawowe
informacje. W moim prostym systemie mam ~600 zainstalowanych pakietów,
tak więc potrzeba wiele czasu, aby przeczytać wszystkie informacje o nich.
By policzyć swoje pakiety, spróbuj: rpm -qa | grep -c ''
rpm -Va
Weryfikuje (opcja "V") wszystkie pakiety (opcja "a") zainstalowane
w systemie. Komenda ta pokaże wszystkie pliki, które były modyfikowane
od czasu instalacji. Oto opis wyniku jej działania.
. Test zakończony
c To jest plik konfiguracyjny
5 Suma kontrola MD5
nie zgadza się
S Rozmiar pliku się
zmienił
L Dowiązanie symboliczne
się zmieniło
T Zmienił się czas
ostatniej modyfikacji pliku.
D Plik urządzenia jest
zmodyfikowany
U Zmienił się właściciel
pliku
G Zmieniła się grupa
pliku
M Tryb pliku (prawa
i/lub typ pliku) został zmodyfikowany d
kpackage
gnorpm
glint
(w X-terminalu, jako root, jeśli chcesz móc instalować pakiety). Graficzne
nakładki na Red Hat Package Manager (rpm). "glint" jest dostarczany z RH5.2
i wydaje się już niepotrzebny. gnorpm jest "oficjalnym" instalerem
pakietów RedHat'a, starsze wersje były bardzo wolne i nieintuicyjne, ale
nowsze wersje (ta, która jest dostarczana z RH 7.0) jest zdecydowanie ulepszona.
kpackage jest "oficjalnym" programem KDE i jest dobry w całej
rozciągłości. Używaj dowolnego z tych programów do przeglądania pakietów
zainstalowanych w twoim systemie oraz nie-zainstalowanych, które masz na
swoim CDrom'ie z RedHat'em, możesz oglądać informacje o nich i instalować
je (instalacja wymaga praw root'a).
mount -t auto /dev/fd0 /mnt/floppy
(jako root) Montuje napęd dyskietek. Katalog /mnt/floppy musi
istnieć, być pusty i NIE być bieżącym katalogiem.
mount -t auto /dev/cdrom /mnt/cdrom
(jako root) Montuje CD. Możesz potrzebować wcześniejszego stworzenia/zmodyfikowania
pliku /dev/cdrom , w zależności od tego, gdzie podpięty
jest twój CD. Katalog /mnt/cdrom musi istnieć, być pusty i NIE
być katalogiem bieżącym.
mount /mnt/floppy
(jako zwykły użytkownik lub root) Montuje dyskietkę jako
użytkownik. Aby zwykły użytkownik mógł zamontować dyskietkę, muszą być
dokonane odpowiednie wpisy w pliku /etc/fstab. Katalog /mnt/floppy
nie
może być katalogiem bieżącym.
mount /mnt/cdrom
(jako zwykły użytkownik lub root) Montuje CD jako użytkownik.
Aby zwykły użytkownik mógł zamontować CD, muszą być dokonane odpowiednie
wpisy w pliku /etc/fstab. Katalog /mnt/cdrom
nie może
być katalogiem bieżącym.
umount /mnt/floppy
Odmontowuje dyskietkę. Katalog /mnt/floppy nie może być twoim
(ani kogokolwiek innego) bieżącym katalogiem. W zależności od twojej konfiguracji,
możesz nie być w stanie odmontować napędu, którego nie zamontowałeś samodzielnie.
ping nazwa_maszyny
Sprawdź czy można się połączyć z inną maszyną (podaj nazwę maszyny
lub jej adres IP), naciśnij <Ctrl>C, gdy skończysz (bez tego komenda
będzie działała w nieskończoność) Jak wszystkie komendy linuksowe, ping
również ma opcje, w tym atak "ping śmierci", wydaje się więc, że możesz
doprowadzić niektóre serwery do śmierci, próbując opcji -f i -s.
route -n
Pokazuje tablicę routingu jądra.
nslookup
host_do_znalezienia
Zapytuje Twój domyślny serwer nazw domenowych (DNS) o nazwę internetową
(albo numer IP) host_do_znalezienia W ten sposób możesz sprawdzić
swój DNS. Możesz także dowiedzieć się, jaką nazwę ma komputer o podanym
adresie IP.
traceroute host_do_znalezienia
Zobacz jak twoje pakiety biegną do hosta_do_znalezienia (który
może być określony zarówno przez nazwę, jak i przez IP.
ipfwadm -F -p m
(Dla RH5.2, zobacz następną komendę dla RH 6.0) Ustaw masquerading
jako zasadę przekazywania pakietów przez firewall. (Niezbyt bezpieczne,
ale proste). Cel: wszystkie komputery w twojej domowej sieci będą widoczne
w sieci, jako jedna bardzo obciążona maszyna, i będziesz mógł przeglądać
Internet ze wszystkich komputerów równocześnie.
echo 1 > /proc/sys/net/ipv4/ip_forward
ipfwadm-wrapper -F -p deny
ipfwadm-wrapper -F -a m -S xxx.xxx.xxx.0/24 -D 0.0.0.0/0
(trzy komendy, RH6.0). Robią to samo, co poprzednia komenda. Podmień
x-y na cyfry klasy "C" adresu IP, które przypisałeś do swojej lokalnej
sieci. Zobacz
tutaj po więcej szczegułów.
ipchains -P forward DENY
ipchains -A forward -s xxx.xxx.xxx.0/24 -d 0.0.0.0/0 -j MASQ
(dwie komendy, RH7.0). To samo, co poprzednio, ale działa pod
RH 7.0.
ipchains -L
Listuj wszystkie zasady firewall'a. Użyj tego, jeśli chcesz sprawdzić,
czy firewall działa.
ifconfig
(jako root) Wyświetl informacje o interfejsach sieciowych aktualnie
aktywnych (ethernet, ppp, etc). Twoja pierwsza karta sieciowa powinna
być widoczna jako eth0, druga jako eth1, etc, pierwszy interfejs ppp przez
modem jako ppp0, drugi jako ppp1, etc. "lo" to "loopback only" czyli pentla
zwrotna i powinna być zawsze aktywna. Użyj opcji (zobacz ifconfig --help)
by skonfigurować interfejsy.
ifup nazwa_interfejsu
(/sbin/ifup by uruchomić to jako zwykły użytkownik) Podnieś
interfejs sieciowy. Np:
ifup eth0
ifup ppp0
ifup ppp1
Użytkownicy mogą podnosić i zamykać interfejs ppp, tylko gdy zostały
im do tego nadane prawa w konfiguracji ppp (przy użyciu netconf
). By uruchomić interfejs ppp (połączenie dial-up), normalnie używam kppp,
dostępne w menu KDE => "Internet" (albo poprzez wpisanie kppp
w X-termial'u)
ifdown
nazwa_interfejsu
(/sbin/ifdown by uruchomić to, jako zwykły użytkownik). Zdezaktywizuj
interfejs sieciowy. Np. ifdown ppp0 . Zobacz ponadto poprzednią
komendę.
netstat | more
Wyświetl dużo (za dużo?) informacji o twojej sieci.
nmap numer_ip
Mapuje porty na maszynie o podanym numerze_ip NA
PRAWDĘ użyteczne, by zorientować się w bezpieczeństwie twojej sieci. nmap
nie jest dostarczany na RH CD, musisz więc załadować go samodzielnie.
Wygodna nakładka graficzna "nmapfe" jest również dostępna.
ethereal
(jako root, w Xterminal'u) Analizator sieci -- zobacz ruch sieciowy,
przechodzący przez twój komputer.
eject
Wysuń podstawkę pod filiżankę z kawą :))) (wysuń tackę CD ROM'u). Ta
komenda dymyślnie działa w stosunku do CD ROM'u, ale możesz przy
jej pomocy wysunąć dowolne wymienne nośniki, określając punkt zamontowania
urządzenia. Na przykład, mogę wysunąć dysk zip z napędu (jako root), używając:
eject
/dev/sda4
play moj_plik.wav
Odtwarza plik wave.
rec my_file.wav
Nagrywa plik wave z mojego mikrofonu.
mpg123 my_file.mp3
Zagraj plik mp3.
mpg123 -w my_file.wav my_file.mp3
Utwórz plik wave z pliku mp3. Użyteczne, jeśli chciałbyś nagrać zwykłą
płytę CD z plików mp3 -- musisz wtedy przekonwertować pliki mp3 do formatu
*.wav. Nie dziw się, że proces konwersji jest powolny -- rozkompresowywanie
plików mp3 wymaga dużych mocy procesora.
xmms
(w X terminal'u) Przyjemny odtwarzacz plików mp3, działający w środowisku
graficznym.
freeamp
(w X terminal'u) Kolejny odtwarzacz plików mp3, działający w środowisku
graficznym.
lame input_file output_file
MP3 enkoder.
knapster
(w X terminal'u) uruchamia program do ściągania plików
mp3 od innych użytkowników napstera. Możesz współdzielić swoje pliki mp3
także. Na prawdę dobre, jeśli działa. Gnutella i FreeNet niedługo
go zastąpią -> są nawet lepsze.
cdparanoia -B "1-"
(CD ripper) Czyta zawartość płyty audio CD i zapisuje ją w pliki
wave w bieżącym katalogu, każda ścieżka w osobnym pliku. Opcja "1-" oznacza
"od ścieżki 1 do końca". -B wymusza nagrywanie każdej ścieżki w osobnym
pliku.
playmidi moj_plik.mid
Odtwórz plik midi.. playmidi -r moj_plik.mid
wyświetli tekstowe efekty na ekranie.
sox audio_file another_format_audio_file
(="SOund eXchange") Konwertuje pomiędzy niemal wszystkimi formatami
dźwięku (ale bez mp3). Zobacz man sox na pełną listę obsługiwanych
formatów. sox umożliwia także dodawanie specjalnych efektów do
twojego pliku dźwiękowego.
kscd
(w X terminal'u) odtwarzacz CD.
kmidi
(w X terminal'u) odtwarzacz MIDI.
kmid
(w X terminal'u) odtwarzacz MIDI/caraoke.
kmix
(w X terminal'u) Mikser dźwięku.
enscript my_file.txt -U 2
Konwertuje plik tekstowy do poscriptu i drukuje go na domyślną drukarkę.
Można także przesłać wynik do pliku poscriptowego. enscript my_file.txt
-U 2 -o my_file.ps
Opcja -U2 powoduje, że enscript drukuje dwie logiczne strony
na jednej fizycznej stronie, co oszczędza papier i stwarza bardziej wygodne,
mniejsze wydruki. Możesz także drukować cztery strony na jednej,
powoduje to jednak, że wydruk jest trudny do odczytania. enscript
ma niewątpliwie duże możliwości, przeczytaj więc o nich w man enscript,
znajdziesz tam wiele opcji formatowania.
ps2pdf my_file.ps my_file.pdf
Utwórz plik pdf (Adobe portable document format) z pliku
postscriptowego.
mpage -2 moj_plik.ps > new_file.ps
Drukuj plik postriptowy moj_plik.ps wypuszczając dwie logiczne
strony na jednej fizycznej. Zapisz rezultat do pliku new_file.ps.
ps2ps file.ps new_file.ps
psnup -nup 2 -pletter new_file.ps new_file2.ps
Następny sposób na stworzenie pliku postcriptowego, zawierającego 2
logiczne strony na jednej fizycznej. Najpierw użyłem "destylera poscriptu"
ps2ps by stworzyć prostszy plik poscriptowy (kosztem tego, że
staje się on znacznie większy). Następnie użyłem narzędzia psnup
by stworzyć new_file2.ps który zawiera 2 strony logiczne
na jednej fizycznej. Mógłym umieścić 4 lub 8 stron logicznych na jednej
fizycznej.
gimp
(w X terminal'u) Skromnie wyglądający, ale potężny procesor
grafiki płaskiej. Wymaga nieco czasu do opanowania, jest jednak wspaniałym
narzędziem dla artystów, niemal nie ma takiej rzeczy, której nie można
zrobić w gimp'ie. Uzyj prawego klawisza myszy by mieć dostęp do lokalnych
menu i naucz się jak używać wartw (layers). Nagrywaj pliki w natywnym dla
gimp'a formacie *.xcf (zachowuje warstwy dla przyszłej edycji) a następnie
tylko spłaszczaj obrazek by nagrać go jako png (albo cokolwiek).
gphoto
(w X terminal'u) Potężny edytor fotografii i program do ściągania obrazków
z kamer.
kpaint
(w X terminal'u) Prosty program do malowania bitmap (w rodzaju "paintbrush'a").
xfig
(w X terminal'u) Prosty program do rysowania. Użyteczny do tworzenia
prostych szkiców lub diagramów.
dia
(w X terminal'u) Narzędzie do tworzenia diagramów z przedefiniowanych
komponentów.
display moj_obrazek
(w X terminal'u) Wyświetl obrazek wyłącznie w celu jego oglądania.
Część pakietu ImageMagic (podobnie jak wiele innych narzędzi, opisywanych
tutaj).
giftopnm my_file.giff > my_file.pnm
pnmtopng my_file.pnm > my_file.png
Konwertuj zastrzeżony format grafiki giff do postaci surowego, przenośnego
pliku pnm. Następnie konwertuj pnm w plik png, który jest nowszy
i lepiej się nadaje do zastosowań internetowych (lepszy pod względem technicznym
i nie stwarza zagrożenia pozwu do sądu ze strony właścicieli patentu giff).
xwd -out my_cupture_screen_file.xwd
(w X terminal'u) Łapie zawartość ekranu X-window do "surowego"
pliku (*.xwd). Możesz następnie przekonwertować plik xwd do swojego ulubionego
formatu, używajć narzędzia do konwersji.
convert my_capture_screen_file.xwd my_capture_screen.jpg
Konwertuje zawartość "surowego" pliku ze złapanym ekranem X-window
(*.xwd) do pliku w formacie jpeg. Narzędzie convert może także konwertować
grafikę z/na wiele innych formatów.
import -display 192.5.100.10:0 -window root my_file.jpeg
Przechwytuje zawartość głównego ekranu z X-window uruchomionego na
komputerze 192.5.100.10 display 0. Wynik jest zapisywany w my_file.jpeg
(zmień format, modyfikując odpowiednio rozszerzenie pliku). Potrzebujesz
uprawnień do zapisu na tym ekranie by móc przechwycić jego zawartość
(prawa dla każdego mogą być nadane poprzez uruchomienie xhost +
w X-terminal'u). Opcje znajdziesz w man import.
ksnapshot
(w X terminal'u) Graficzny program do przechwytywania zawartości
ekranu.
identify -verbose moj_obrazek
Daj mi opis pliku graficznego moj_obrazek: format,
typ, rozmiar w pikslach, liczba kolorów, rozmiar w bajtach, etc.
animate -delay 6x5 pic1 pic2 pic3
Pokazuj dwa lub więcej obrazków sekwencyjnie. Przerwa pomiędzy ich
wyświetlaniem to 6/100 sekundy. Cała sekwencja jest pokazywana przez 5
sekund.
kpat
(w X-terminal'u) Pasjans.
xboing
(w X-terminal'u) Bardzo przyjemna gra typu pin-ball.
xboard
(w X-terminal'u). Szachy.
konquest
(w X-terminal'u). Przeprowadź ze swoim synem podbój galaktyki. Przyjemna
gra planszowa.
kmines
(w X-terminal'u). Saper.
Przejdź do części 6: Podstawowe aplikacje Linuksa (komercyjne i nie tylko)