Podstawy administracji systemu Linux
Tryb tekstowy
Janusz Szwabiński
Instytut Fizyki Teoretycznej UWr
4 stycznia 2006
Plan kursu
1 Instalacja Linuksa
2 Tryb tekstowy
3 Linux od podszewki
4 Pierwsze kroki w administracji
5 Sieci lokalne
6 Bezpieczeństwo
Tryb tekstowy (CLI)
1 Powłoka
2 Nawigacja System plików Nawigacja Pliki tekstowe
3 Pomoc man info
4 Pliki i katalogi Operacje Prawa dostępu
5 Procesy
Powłoka (ang. shell )
sh bash csh tcsh
Powłoka
program pełniący rolę pośrednika między systemem operacyjnym a użytkownikiem. Interpretuje
polecenia wprowadzane z klawiatury i przekazuje je systemowi
operacyjnemu lub programom narzędziowym. Wyprowadza na ekran wyniki działania tych programów.
Wirtualny terminal
A u r o x L i n u x r e l e a s e 1 0 . 2 ( A z u r i t e ) K e r n e l 2 . 6 . 9 − 1 0 . 2 . a u r . 2 on an i 6 8 6 v o y a g e r l o g i n :
GUI → CLI
Ctrl + Alt + F1 , Ctrl + Alt + F2 ,. . . CLI → CLI
Alt + F1 , Alt + F2 ,. . . CLI → GUI
Alt + F7
Emulatory terminala
eterm
gnome-terminal konsole
Linuksowy system plików
bin
boot
dev
etc rc.d X11
sysconfig
home
lib
media cdrom
floppy
mnt
opt
proc
root
sbin
tmp
usr sys
gdm
lib
lock
log
run
spool /
X11R6
bin
games
include
lib
local
src
share doc
sbin
Znak zachęty (w Auroksie)
zwykłego użytkownika
[ n a z w a _ u z y t k o w n i k a @ n a z w a _ k o m p u t e r a b i e z a c y _ k a t a l o g ] $
administratora
[ r o o t @ n a z w a _ k o m p u t e r a b i e z a c y _ k a t a l o g ]#
Nawigacja w trybie tekstowym
pwd cd ls file
pwd i cd
[ s z w a b i n @ v o y a g e r ~ ] $ pwd / home/ s z w a b i n
[ s z w a b i n @ v o y a g e r ~ ] $ cd / u s r / b i n / [ s z w a b i n @ v o y a g e r b i n ] $ pwd / u s r / b i n
[ s z w a b i n @ v o y a g e r ~ ] $ cd . . / . . / u s r / b i n / [ s z w a b i n @ v o y a g e r b i n ] $ pwd
/ u s r / b i n
ls
[ s z w a b i n @ v o y a g e r ~ ] $ l s
D e s k t o p L i n A d m i n ToDo . t x t UniWroclaw [ s z w a b i n @ v o y a g e r ~ ] $ l s −a
. . e s d _ a u t h . g t k r c . n a u t i l u s
. . . f o n t s . g t k r c −1.2−gnome2 . q t
. b a s h _ h i s t o r y . f o n t s . c a c h e −1 . I C E a u t h o r i t y . r e c e n t l y −u s e d . b a s h _ l o g o u t . f o n t s . c o n f . i c o n s . s s h
. b a s h _ p r o f i l e . g c o n f . k d e . t h u m b n a i l s
. b a s h r c . g c o n f d . k d e r c ToDo . t x t
. c o n f i g . gimp −2.2 L i n A d m i n UniWroclaw
D e s k t o p . gnome . mcop . v i m i n f o
. dmrc . gnome2 . mcoprc . X a u t h o r i t y
. e g g c u p s . g n o m e 2 _ p r i v a t e . m e t a c i t y . emacs . g s t r e a m e r −0.8 . m o z i l l a
file
[ s z w a b i n @ v o y a g e r ~ ] $ f i l e m a t h i d m a t h i d : A S C I I t e x t
[ s z w a b i n @ v o y a g e r ~ ] $ f i l e / b i n / b a s h
/ b i n / b a s h : ELF 32− b i t LSB e x e c u t a b l e , I n t e l 80386 , v e r s i o n 1 ( SYSV ) , f o r GNU/ L i n u x 2 . 2 . 5 , d y n a m i c a l l y l i n k e d ( u s e s s h a r e d l i b s ) , s t r i p p e d
Pliki tekstowe
http://palmia.org/
cat less vi
cat
[ s z w a b i n @ v o y a g e r ~ ] $ c a t ToDo . t x t 1 ) CLI
2 ) D o s t r a j a n i e A u r o k s a 3 ) K o n f i g u r a c j a 4 ) P r a c a w s i e c i 5 ) Z a p o r y o g n i o w e [ s z w a b i n @ v o y a g e r ~ ] $
less
[ s z w a b i n @ v o y a g e r ~ ] $ l e s s ToDo . t x t
Klawisz Znaczenie
Q zakończ program
Page ↑ lub B idź stronę do tyłu
Page ↓ lub idź stronę do przodu /slowo szukaj „slowo” w tekście
N powtórz poprzednie przeszukiwanie
vi
Podstawowa obsługa:
I przejście do trybu wstawiania
Esc zakończenie trybu wstawiania (przejście do trybu poleceń) H / L przesunięcie kursor w lewo/prawo
J / K przesunięcie kursor w górę/dół
X usunięcie znaku znajdującego się pod kursorem D D usunięcie wiersza, w którym znajduje się kursor P wstawienie usuniętego wiersza w miejscu, w którym
znajduje się kursor U cofnięcie ostatniej zmiany : przejście w złożony tryb poleceń
Tryb poleceń złożonych:
:q wyjdź z programu
:q! wyjdź z programu bez zapisywania zmian :wq zapisz zmiany i zakończ program
:wq plik zapisz tekst do pliku i zakończ program :help wyświetl pomoc
Pomoc
man info
man
[ s z w a b i n @ v o y a g e r ~ ] $ man l s
[ s z w a b i n @ v o y a g e r ~ ] $ man 5 i n t r o [ s z w a b i n @ v o y a g e r ~ ] $ man −a i n t r o
1 Polecenia użytkownika.
2 Wywołania systemowe (funkcje jądra).
3 Wywołania biblioteczne (funkcje bibliotek systemowych).
4 Urządzenia.
5 Opisy formatów plików konfiguracyjnych.
6 Rozrywka, gry.
7 Inne informacje.
8 Polecenia administracyjne (dla superużytkownika).
[ s z w a b i n @ v o y a g e r ~ ] $ man −f l s
l s ( 1 ) − l i s t d i r e c t o r y c o n t e n t s
[ s z w a b i n @ v o y a g e r ~ ] $ w h a t i s l s
l s ( 1 ) − l i s t d i r e c t o r y c o n t e n t s
[ s z w a b i n @ v o y a g e r ~ ] $ man −k d i s k
c d r e c o r d ( 1 ) − r e c o r d a u d i o o r d a t a Compact D i s k s c d r e c o r d . mmap ( 1 ) − r e c o r d a u d i o o r d a t a Compact D i s k s c d r e c o r d . shm ( 1 ) − r e c o r d a u d i o o r d a t a Compact D i s k s c f d i s k ( 8 ) − C u r s e s b a s e d d i s k p a r t i t i o n t a b l e d f ( 1 ) − r e p o r t f i l e s y s t e m d i s k s p a c e u s a g e
[ s z w a b i n @ v o y a g e r ~ ] $ a p r o p o s d i s k
c d r e c o r d ( 1 ) − r e c o r d a u d i o o r d a t a Compact D i s k s c d r e c o r d . mmap ( 1 ) − r e c o r d a u d i o o r d a t a Compact D i s k s c d r e c o r d . shm ( 1 ) − r e c o r d a u d i o o r d a t a Compact D i s k s c f d i s k ( 8 ) − C u r s e s b a s e d d i s k p a r t i t i o n t a b l e d f ( 1 ) − r e p o r t f i l e s y s t e m d i s k s p a c e u s a g e
info
[ s z w a b i n @ v o y a g e r ~ ] $ i n f o g r e p
Operacje na katalogach i plikach
http://perso.wanadoo.fr/club.mandriva/
kopiowanie (cp) usuwanie (rm) przenoszenie (mv) tworzenie (mkdir) dowiązania (ln)
Kopiowanie
plików
[ s z w a b i n @ v o y a g e r ~ ] $ cp p l i k 1 p l i k 2
pliku do katalogu
[ s z w a b i n @ v o y a g e r ~ ] $ cp m o j p l i k M o j K a t a l o g
katalogów
[ s z w a b i n @ v o y a g e r ~ ] $ cp −R k a t a l o g 1 k a t a l o g 2
Przenoszenie
plików do katalogu
[ s z w a b i n @ v o y a g e r ~ ] $ mv p l i k 1 p l i k 2 p l i k 3 M o j e P l i k i /
zmiana nazwy
[ s z w a b i n @ v o y a g e r ~ ] $ mv p l i k 1 p l i k 2
Usuwanie
plików
[ s z w a b i n @ v o y a g e r ~ ] $ rm p l i k
plików (z potwierdzeniem)
[ s z w a b i n @ v o y a g e r ~ ] $ rm −i p l i k rm : u s u n a c z w y k l y p l i k ‘ p l i k ’ ?
katalogów
[ s z w a b i n @ v o y a g e r ~ ] $ rm −r M o j e P l i k i
katalogów (z potwierdzeniem)
[ s z w a b i n @ v o y a g e r ~ ] $ rm − r i M o j e P l i k i rm : u s u n a c k a t a l o g ‘ M o j e P l i k i / ’ ?
Dzikie karty
[ s z w a b i n @ v o y a g e r ~ ] $ cp −u ∗ . t x t Tekstowe /
* dowolna nazwa
? dowolny jeden znak
[znaki] dowolny ze znaków podanych w nawiasie
[!znaki] dowolny ze znaków
niewystępujących w nawiasie
Tworzenie katalogów
pojedynczych
[ s z w a b i n @ v o y a g e r ~ ] $ m k d i r Moje
wielu poziomów na raz
[ s z w a b i n @ v o y a g e r ~ ] $ m k d i r −p Moje / Tekstowe / TIP/
Dowiązania
dla wygody
[ s z w a b i n @ v o y a g e r ~ ] $ l n −s UniWroc / Kursy / TIP/ LinAdmin/ K s i a z k a K s i a z k a [ s z w a b i n @ v o y a g e r ~ ] $ cd K s i a z k a
[ s z w a b i n @ v o y a g e r ~/ K s i a z k a ] $ l s
i m a g e s l i c e n c j a . t e x l i n a d m i n _ b o o k . t e x t u x . e p s c l i . t e x i n s t a l a c j a . t e x l i n a d m i n . b i b s c r e e n s h o t s
w celu zastąpienia jednego programu innym
[ r o o t @ v o y a g e r ~]# l n −s / u s r / b i n / nano / u s r / b i n / p i c o
Prawa dostępu do plików
[ s z w a b i n @ v o y a g e r ~ ] $ l s −l ToDo . t x t
−rw−rw−r−− 1 s z w a b i n s z w a b i n 100 s i e 16 1 5 : 3 8 ToDo . t x t
Prawo
r do odczytu w do zapisu
x do uruchamiania
Zmiana praw
chmod [ugoa][+-=][rwx] nazwa_pliku
[ s z w a b i n @ v o y a g e r ~ ] $ l s −l ToDo . t x t
−rw−rw−r−− 1 s z w a b i n s z w a b i n 100 s i e 16 1 5 : 3 8 ToDo . t x t [ s z w a b i n @ v o y a g e r ~ ] $ chmod o−r ToDo . t x t
[ s z w a b i n @ v o y a g e r ~ ] $ l s −l ToDo . t x t
−rw−rw−−−− 1 s z w a b i n s z w a b i n 100 s i e 16 1 5 : 3 8 ToDo . t x t [ s z w a b i n @ v o y a g e r ~ ] $ chmod ug−w ToDo . t x t
[ s z w a b i n @ v o y a g e r ~ ] $ l s −l ToDo . t x t
−r−−r−−−−− 1 s z w a b i n s z w a b i n 100 s i e 16 1 5 : 3 8 ToDo . t x t [ s z w a b i n @ v o y a g e r ~ ] $ chmod ug=rw ToDo . t x t
[ s z w a b i n @ v o y a g e r ~ ] $ l s −l ToDo . t x t
−rw−rw−−−− 1 s z w a b i n s z w a b i n 100 s i e 16 1 5 : 3 8 ToDo . t x t
Procesy
[ s z w a b i n @ v o y a g e r ~ ] $ p s a u x
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND .
. .
s z w a b i n 3587 0 . 0 0 . 2 5564 1432 p t s /3 S 1 5 : 5 0 0 : 0 0 / b i n / b a s h s z w a b i n 24396 0 . 0 0 . 1 4488 800 p t s /3 R 1 6 : 2 5 0 : 0 0 p s a u x
[ s z w a b i n @ v o y a g e r ~ ] $ p s −u s z w a b i n
PID TTY TIME CMD
. . .
3587 p t s /3 0 0 : 0 0 : 0 0 b a s h 24354 ? 0 0 : 0 0 : 1 5 k p d f 27299 p t s /3 0 0 : 0 0 : 0 0 p s [ s z w a b i n @ v o y a g e r ~ ] $
zakończenie programu
[ s z w a b i n @ v o y a g e r ~ ] $ k i l l 29621
zabicie programu
[ s z w a b i n @ v o y a g e r ~ ] $ k i l l −9 29621
wybrane sygnały
[ s z w a b i n @ v o y a g e r ~ ] $ k i l l −l
1 ) SIGHUP 2 ) SIGINT 3 ) SIGQUIT 4 ) S I G I L L
5 ) SIGTRAP 6 ) SIGABRT 7 ) SIGBUS 8 ) SIGFPE
9 ) SIGKILL 1 0 ) SIGUSR1 1 1 ) SIGSEGV 1 2 ) SIGUSR2
1 3 ) SIGPIPE 1 4 ) SIGALRM 1 5 ) SIGTERM 1 7 ) SIGCHLD
1 8 ) SIGCONT 1 9 ) SIGSTOP 2 0 ) SIGTSTP 2 1 ) SIGTTIN
Przekierowywanie wejścia/wyjścia
[ s z w a b i n @ v o y a g e r ~ ] $ l s > p l i k i . t x t [ s z w a b i n @ v o y a g e r ~ ] $ c a t p l i k i . t x t D e s k t o p
L i n u x A d m i n i s t r a c j a M o j e P l i k i
p l i k p l i k i . t x t ToDo . t x t UniWroclaw
[ s z w a b i n @ v o y a g e r ~ ] $
[ s z w a b i n @ v o y a g e r ~ ] $ c a t l i s t a . t x t t r z y
dwa j e d e n
[ s z w a b i n @ v o y a g e r ~ ] $ s o r t < l i s t a . t x t dwa
j e d e n t r z y
Potoki
[ s z w a b i n @ v o y a g e r ~ ] $ l s / u s r / b i n | l e s s