Strona 1 z 2

terminal, powłoka, shell

: 29 grudnia 2008, 22:41
autor: Tom:-)
Jaka jest różnica między:

• Terminal
• Konsola
• Powłoka systemowa (shell)

Znalazłem tylko to na ten temat: http://jakilinux.org/konsola/konsola-podstawy/ a może ma ktoś inną teorie na temat tych zagadnień?

: 29 grudnia 2008, 22:44
autor: lis6502
Powłoka= shell. Terminal= te cosie pod ctrl+alt+fN :) Konsola= program do odpalania powłoki= emulator terminala.

: 29 grudnia 2008, 23:23
autor: ruun

: 30 grudnia 2008, 00:23
autor: Tom:-)
Jakoś się połapałem w miarę

: 30 grudnia 2008, 00:29
autor: lis6502
To proste jeśli przyjmiesz, że czasoprzestrzeń jest zakrzywiona xD Jeśli wolno wiedzieć:
1) dlaczego temat jest w głównych a nie w luźnych?
2) do czego Ci te różnice? Utarło się, że jeśli masz coś wpisać w teminalu, to wpisujesz to w konsoli przekazując do powłoki.
Gorzej jakbyś programował, tam różnica jest dużo większa.

: 30 grudnia 2008, 00:39
autor: Tom:-)
Ad 2. Bo poznaję system i chcę wiedzieć jaka jest różnica tak samo jak między Linux a BSD

Nie wiem czy dobrze rozumiem ale czy konsola (terminal) służy do poruszania się po powłoce czy może konsola jest częścią powłoki, czy po prostu konsola nie leży na powłoce w hierarchii

: 30 grudnia 2008, 01:37
autor: lis6502
konsola nie leży na powłoce
chyba ktoś tu ma kudłate myśli ^^
BSD a Linux, choć z wierzchu podobne (tu i tu masz /bin /etc itp) różnią się. Czym, zapytasz? Otóż- kernelem, typem partycji (niezrozumiałe jak dla mnie disklabel), składnią niektórych poleceń (spróbuj coś zamontować po linuksowemu pod BSD xD). Krótko i na temat: to dwa różne systemy, a to że uniksopodobne? nie wszystko co klikane to Windows :) .

Może uda mi się to rozrysować.

10 Rysujesz okrąg (kółko też dobre), duuuży i piszesz w nim 'kernel'
20 Potem mniejszy, ale tak, by był w środku tego pierwszego i piszesz w nim 'init' -to jest powłoka (pierwotna).
30 JE¦LI rozumiesz=nie WTEDY GOTO 10
Teraz (poza okręgami) rysujesz hipka wpatrzonego w kwadrat- to Ty przy terminalu
od kwadratu ciągniesz strzałki w obu kierunkach do dużego okręgu- powłoki.

Konsolę można rozumieć dwojako- jako emulator terminala pod x'ami (czyli xterm, gnome-terminal, konsole; masa tego), lub jako stricte terminal (wirtualny), czyli biały tekst na czarnym tle.

Teraz wracamy do naszego rysunku- takich kwadratów narysuj jeszcze pięć (hipek wciąż jeden). Tyle masz wirtualnych terminali w systemie dostępnych pod ctrl+alt+fN gdzie N to numer terminala. Dzięki nim możesz zalogować się do własnego serwera. Strzałki w obu kierunkach to symbol zalogowania, bo patrzysz w terminal i z niego piszesz.

Pojęcie terminalu łatwiej zrozumieć, gdy dowiesz się, że kiedyś były takie maszyny- terminale (czyli końcówki), dzięki którym pani w śmiesznych okularach siedząc w biurze mogła zalogować się do serwera stojącego w piwnicy. Dzisiejsze ceny komputerów to pestka w porównaniu do tego, co było kiedyś. Taniej wychodził jeden mega-serwer i 20 terminali do niego, niż 20 komputerów łączonych w sieć (pomijam kwestie kosztu przesyłu danych przez łącza telefoniczne)
W Linuksie terminal i serwer to jedno- to przy czym siedzisz. Ba, wielozadaniowość pozwala Ci być i jednym i drugim naraz! W terminal zmieniasz się, gdy wpisujesz , bo zdalnie logujesz się wykorzystując swój komputer za 3kzł jako urządzenie wyposażone w monitor, klawiaturę i tzw minimum komunikacyjne (sieciówka + program to pociągnięcia tego całego pasztetu) <-to jest urządzenie-terminal.
Serwerem stajesz się, gdy haker włamuje się do Ciebie i korzysta z Twoich zasobów- procesora, pamięci, przepustowości łącza przeprowadzając atak DDoS na wp, ewentualnie, gdy koledze utworzysz konto shellowe- wychodzi na jedno.

Powłokę też rozumiem na dwa sposoby- pierwsza to ta o której pisałem wcześniej, pierwotna. Tworzy ją polecenie init + przyjaciele. To init jest pierwszym uruchamianym programem po kernelu (z grubsza biorąc, jeśli nie liczyć initrd'u), ale sam init nie zapewni Ci interpretera poleceń, nie jest interaktywny. Tutaj pojawia się druga powłoka, z którą możesz pogadać przez terminal- shell (sh, zsh, csh, bash, znowu masa; ale jak za pewne wiesz w Debianie rządzi Bash ;p). Teraz najlepsze- pod tą powłoką możesz uruchomić inne programy, skrypty, słowem wszystko co procesor przemiele. Nawiązując do rysunku- taki bash staje się kolejnym dużym okręgiem, w którym Ty, drogi hipku, odpalasz kolejne procesy.

Ta powłoka jest odpalana na każdym terminalu zaraz po zalogowaniu - chyba, że zażyczysz sobie innej- wszystko do ustawienia przy poleceniu adduser i jemu pokrewnych z ósmej strony manuala. W każdym razie- takich powłok (shelli) możesz mieć tyle, na ile wystarczy Ci zasobów.

Oczywiście wszystko można bardzo uprościć- zamiast init'a uruchamiasz bash'a- i tutaj masz tryb single user, ba, nawet z marszu jesteś rootem! Nie masz sześciu terminali, demonów. Po wpisaniu exit system się zresetuje (być może nawet bez odmontowania systemu plików- to też działka inita).

Teraz już chyba wiesz dlaczego init ma identyfikator procesu (PID)=1 ? :) Cóż jeszcze można rzecz? wymazując z rysunku jeden okrąg bądź konsekwentny i wymaż wszystkie jemu potomne- te które są w środku. Dlatego zabicie inita jest równoznaczne z zabiciem systemu.

Mam nadzieję że troszeczkę rozjaśniłem ;)

: 30 grudnia 2008, 10:25
autor: Tom:-)
Jeśli chodzi o Linux i BSD to ktoś mi wytłumaczył że to jest tak
Unix:
• BSD
• Linux

Jeśli chodzi o 2 część to muszę to dłużej przeanalizować

: 30 grudnia 2008, 10:42
autor: lis6502
¯e co? ¯e Unix dzieli się na BSD i Linux? Be-ze-dura. Na początku był Unix, sam czysty, tworzony przez Bell Laboratories na wzór MULTICSA. O, znalazłem http://pl.wikipedia.org/wiki/Unix:) Poczytaj, wciągająca lektura.

: 31 grudnia 2008, 14:33
autor: tadzik
Linux Is Not UniX
Tak dla przypomnienia ; )