1 / 88

shell

cancel cp lp od rmdir cat echo ls pg sh cd file mail ps stty chmod find mkdir pwd wc chown kill mv rm write > < 2> & |. shell. Ett shell är ett program som bl a tolkar och vidarebefodrar användarens kommandon. shell. kernel. H/W. user. tolk. OS. shell.

saskia
Télécharger la présentation

shell

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. cancel cp lp od rmdir cat echo ls pg sh cd file mail ps stty chmod find mkdir pwd wc chown kill mv rm write > < 2> & | shell

  2. Ett shell är ett program som bl a tolkar och vidarebefodrar användarens kommandon shell kernel H/W user tolk OS shell

  3. C-shell är liksom Bourneshell och Kornshell ett program och kan startas på samma sätt C-shell • som loginshell • via ett annat shell

  4. C-shell använder sig inte av filen .profile utan vid inloggning .login utloggning .logout vid varje nytt C-shell .cshrc C-shellets promt är % C-shell

  5. För att C-shell skall visa aktuellt kommandonummer ges följande kommando % set promt=”\!%” C-shell

  6. C-shell har en history-funktion I variablen HISTSIZE anger man hur många kommandon c-shell skall lagra Upprepning med ett kommando sker med ! och kommandonummer eller ! och början av kommandonamnet !! föregående kommandorad utförs !$ sista argumentet i föregående kommando C-shell

  7. I C-shell finns det möjlighet att redigera kommandon %6 !4:p find / -name demo -print (kommandot utförs ej) %7 ^demo^motd find / -name motd -print C-shell

  8. C-shell alias funktion ger möjlighet att ”byta”namn på kommandon Permanent lagring kan ske i filen .login 8% alias h history 9% h history . . . C-shell, alias

  9. Kornshellhar det bästa av Bourneshell och C-shell plus en mängd nya funktioner Kornshell är kompatibelt med Bourneshell Kornshell finns i SCO UNIX V.3.2 Xenix 2.3.4 och UNIX V.4 Kornshell

  10. För att Kornshell skall visa aktuellt kommandonummer och $ ges följande kommando: PS1=”!$” Kornshell

  11. Aktuellt directory finns i variabeln PWD och föregående directory finns i variabeln OLDPWD Med kommandot cd- förflyttar man sig till föregående directory man arbetade i Med kommandot cd ~kim förflyttar man sig till kims homedirectory Kornshell

  12. I Kornshell kan man använda en inbyggd editor för att redigera kommandoraden I Variabeln VISUAL anger man vilken editors kommandon man vill använda Detta kan även göras med kommandot set -o vi eller set -o emacs Kornshell

  13. Esc Gåöver till editeringsläge k Senaste kommando cc Tar bort kommandot v vi öppnar en temporär fill med kommandot Enter Utför kommandot Kornshell De flesta kommandon från editorn kan användas men ibland med motsatt betydelse ex. G = äldsta kommandot

  14. Kornshell har liksom C-shell en history- funktion. I variabeln HISTSIZE anger man hur många kommandon (default 128) Kornshell skall lagra i filen $HOME/.sh_history Kornshell Kommandot history visar de lagrade kommandona 6 $ r f

  15. Kornshell alias funktion ger möjlighet att ”byta” namn på kommandon Kornshell, alias Permanent lagring kan ske i filen .profile I Kornshell definieras alias med =

  16. Omdirigering 1> >> 0< Kommando Standard input Standard output Standard error 2>

  17. Omdirigering av standard output till standard error kan göras genom att lägga 1>&2 sist Omdirigering På samma sätt kan omdirigering av standard error ske till standard output med 2>&1

  18. Utan pipe kommando kommando dsort- kund kunreg dkund Med pipe kommando kommando kommando kommando Pipe

  19. Ett program/kommando kan bestå av en eller flera processer loginprocess = Parentprocess -sh who = Childprocess Processer

  20. Varjeprocess har ett unikt processnummer - PID nummer TTY tty05 Port Processer, PID nummer Kommandot ps -f ger utskrift av vilka processer som initierats från din terminal UID kim Användare PID 1254 Process- nummer PPID 1 Parent process- nummer COMMAND -sh Initierat kommando

  21. Telefon ringer och du behöver uppdatera din kalender Du vill söka efter ett telefonnummer process med editorn vi editera kalender Start av editering Starttelnr sökning Sover Sover Sover Väcker telsök klar Väcker editering klar Processen dör Väcker editering klar Processen dör Processen dör Nästlade processer login process prg som letar i telreg logga ut eller fortsätt

  22. Förlopp vid exekvering av processer Processer parent- process child- process (subshell) exec exit() wait

  23. Fördröja exekvering • Kommandot sleep n fördröjer programn antal sek • Kommandot wait fördröjer program tills specifierad process terminerat

  24. Med kommandot jobs kan man i kornshell (ksh) lista alla jobb som användaren startat i bakgrunden Job control

  25. ctrl-z- Lägger till förgrundsjobb i bakgrundenProcessen är stoppad tills man ger kommandot bg [n] Job control bg %n- Återstartar jobb nr [n] i bakgrunden fg %n- Hämtar bakgrundsjobb nr [n] stop %n- Stoppar bakgrundsjobb nr [n] kill %n- Tvångsterminerar jobb nr [n]

  26. Flera kommandon kan sammanskrivas på samma rad cd / ; ls Detta ger exakt samma resultat som om dessa kommandon skrivits på varsin rad Sub-shell

  27. Flera kommandon på samma rad med test ls filx > /dev/null || echo ”filen finns ej” Utförs om exitstatus ej = 0 Flera kommandon på samma rad • ls filx > /dev/null && echo ”Filen finns” • Utförs om exitstatus = 0

  28. Om en parentes ( ) sätts omkring en kommandorad, kommer ett nytt shell att startas (ett sub-shell) och alla kommandon att utföra detta Sätts kommandon inom { } utförs de av aktuellt shell Skillnaden ligger i att ett sub-shell inte kan påverka parent-shellets miljö Parentes

  29. Kommandot eval gör att shellet läser kommandoraden två gånger eval

  30. Det finns flera editorer ed Radeditor som finns i alla UNIX- system ex Radeditor vars kommandon kan användas i editorn vi vi Skärmeditor med många funktioner Editorer

  31. Editering av en fil med hjälp av visker genom att ange vioch filnamn Om filen ej finns skapas den Finns filen .exrci ditt homedir läser vi intruktionerna i denna först Editor vi, .exrc

  32. Text- inmatning Esc Esc Starta editorn vi UNIX shell vi filnamn Kommando- läge aiArRoO ZZ UNIX shell

  33. Förflyttning i texten tecken för tecken Om piltangenterna ej fungerar kan man förflytta sig runt i texten med hjälp av k h l j Editorn vi, förflyttning

  34. w flyttar cursorn ord för ord framåt b flyttar cursorn ord för ord framåt G flyttar cursorn tillsista raden 12G flyttar cursorn till rad 12 Ctrl d flyttar texten en halv sida upp Ctrl u flyttar texten en halv sida ned Ctrl b flyttar texten en hel sida upp Ctrl f flyttar texten en hel sida ned Editorn vi, förflyttning

  35. Kommandon i vi a Lägg till text efter cursorn A Lägg till text i slutet av raden i Insätt text före curson r Byt ut tecknet där cursorn står cw Ändra aktuellt ord o Öppna en ny rad under cursorn O Öppna en ny rad ovanför cursorn Editron vi, kommandon

  36. dd Ta bort en rad dw Ta bort ett ord x Ta bort ett tecken Editorn vi, ta bort

  37. u Upphäv senaste ändringskommando Editorn vi

  38. zz eller :x Lagra texten och lämna vi vi gör en kopia av filen du editerar i /tmp Du kan därför gå ur vi utan att lagra ändringarna du har gjort i filen med kommandot :q! Editorn vi, avsluta

  39. Sökning och upprepningavkommando /sökord Söker efter nästa förekomst av ordet ”sökord” ?sökord Söker efter närmast föregående förekomst av ordet ”sökord” n Upprepar senaste sökning . Upprepar senaste ändrings- kommando Editorn vi, sökning

  40. Textförflyttning När du tar bort en rad med dd lagras denna rad i en särskild buffert Du kan ta tillbaka denna rad genom att ge kommandot p Vill du endast kopiera raden till bufferten ger du kommandot yy Editorn vi, textförflyttning

  41. :! Utför kommandot (t ex who) utan att lagra resultatet i filen du editerar !!Utför kommandot (t ex cat filx) och lagrar resultatet i filen du editerar Editorn vi, :! !!

  42. Global ändring På alla rader Byt ut På alla förekomster på raden :g /Jensen/s/208/356/g Editorn vi, global ändring Byt ut 208 mot 356 på alla rader med ordet Jensen i filen

  43. Ctrl l Skriv om skärmbilden 5,24w nyfil Skapar nyfil med innehållet av rad 5 tom 24 vi +$ filorg Editera i slutet av filen filorg Editorn vi, skriv om skärmbilden

  44. Stream editorn sed utför endast globala kommandon sed sänder alla utskrifter till standard output, därför måste omdirigering ske om man vill lagra resultatet sed är inte en interaktiv editor och kan därför med fördel användas i script Editorn sed

  45. sed -n ’12,23p’ prgfil Skriv ut raderna 12 tom 23 i filen prgfil sed s/mje/Max Jensen/g brev > brev.kop Byt ut mje mot Max Jensen i filen brev och lagra resultatet i filen brev.kop sed -n ’/Name/,/Syntax/p’ prgfil | lp Skriv ut filen prgfil från raden med ordet Name till raden med ordet Syntax Editorn sed

  46. Vissa tecken har en speciell betydelse för en del kommandon som grep, sed mfl. Några av dessa reguljära sökmönster är: .Ett godtyckligt tecken ^ Början av rad $Slutet på rad * Noll eller flera förekomster av föregående reguljära uttryck [abc]Godtycklig bokstav a b eller c [0-9]Godtycklig siffra [^abc]Alla tecken utom a b eller c Regular expressions

  47. Om det på en kommandorad finns tecken inneslutna mellan ` ` tas denna sträng som ett kommando cat brevlista max lisa kim mail `cat brevlista` < brev Kommandoersättning

  48. I UNIX finns en del tecken som har en speciell betydelse. T ex $$ = processid, * = alla filer och | är pipetecknet Alla tecken inom ’ ’ tolkas utan någon speciell betydelse Det samma gäller tecken inom ” ” utom för specialtecknena ’ $ och \ \ framför ett tecken tar bort dess eventuella effekt Specialtecken

  49. Periodisk exekvering Kommandot crontab lägger upp tabeller för demonen cron 0,30 * * * * date > /dev/console min. dag veckodag timme månad crontab crontabb -l visar dina ”cronjobb” crontabb -r tar bort dina ”cronjobb”

  50. Exekvering vid viss tid Kommandot at utför ett jobb vid en viss tidpunkt och endast en gång at 22:10 backupscript ctrl d at

More Related