Kasper Dupont wrote:
> klaus wrote:
>>
>> Kært barn har åbenbart mange navne: skal, kommandolinien,
>> kommandofortolker, shell, terminal, konsol .... (tror jeg har husket de
>> fleste). Betegnelserne dækker nogenlunde over det samme, nemlig at jeg
>> starter en terminal eller en konsol, skriver en kommando i kommandolinien
>> hvorefter operativsystemets skal/shell eller kommandofortolker afvikler
>> kommandoen.
>>
>> Er det ikke omtrent den korteste og mest præcise forklaring på disse
>> betegnelser? Eller er her nogen, der kan give mig en bedre og mere præcis
>> forklaring?
>
> Det ser ud til, at der er en væsentlig ting, du har misforstået.
> Du har rodet to forskellige begreber sammen. For det første har
> vi en terminal/tty. (En konsol er en slags terminal). For det andet
> har vi en shell (også kendt som en skal eller en kommandofortolker).
>
> Når man bruger en interaktiv shell sker der det, at du har en
> shell der kommunikerer med en terminal. Der er forskellige shells
> at vælge imellem, f.eks. bash, tcsh, ksh, zsh. Og der er
> forskellige terminaler at vælge imellem, f.eks. serielle terminaler,
> Linux virtuelle terminaler (BSD har noget lignende), og en række
> terminaler implementeret i user mode som f.eks. xterm, konsole og
> gnome-terminal.
>
> Dem kan du kombinere som du vil, altså kør din favoritshell i din
> favoritterminal.
>
> Shellen kommunikerer med en terminaldriver i kernen. Denne kan
> enten skabe forbindelse til et stykke hardware (serielport),
> en virtuel konsol som teksterminalerne i BSD og Linux eller en
> pseudo tty, der bare skaber forbindelse til et andet program, som
> nævnt tidligere.
>
> Pseudo tty'er bruges også af programmer der ikke selv direkte
> implementerer terminal funktionaliteten, men derimod kommunikerer
> ad en eller anden vej med en terminal. Det gælder f.eks. ved
> login over netværk, og ved lidt specielle programmer som f.eks.
> script.
>
> Når du starter et program fra din shell, så vil det som
> udgangspunkt kommunikere med samme terminal som shellen gjorde.
> I princippet kan du starte programmet direkte i terminalen uden
> at have en shell. Hvis jeg skriver "xterm -e mutt" har jeg en
> terminal, der kører mutt, men der er ingen shell i den terminal.
>
> En shell kan også bruges uden terminal, f.eks. hvis den skal
> afvikle et script i baggrunden.
>
> Jeg håber det har givet en lidt bedre forståelse af, hvad en
> shell og en terminal er.
>
Tak for svaret, som fik gjort begreberne lidt tydeligere.
--
Mvh.
Klaus Eriksen
www.aigis.dk