ebook img

Einführung in Unix/Linux für Naturwissenschaftler: Effizientes wissenschaftliches Arbeiten mit der Unix-Kommandozeile PDF

222 Pages·2017·2.31 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Einführung in Unix/Linux für Naturwissenschaftler: Effizientes wissenschaftliches Arbeiten mit der Unix-Kommandozeile

Thomas Erben Einführung in Unix/Linux für Natur- wissenschaftler Effizientes wissenschaftliches Arbeiten mit der Unix-Kommandozeile Einführung in Unix/Linux für Naturwissenschaftler Thomas Erben Einführung in Unix/Linux für Naturwissenschaftler Effizientes wissenschaftliches Arbeiten mit der Unix-Kommandozeile ThomasErben Argelander-InstitutfürAstronomie RheinischeFriedrich-Wilhelms-Universität Bonn,Deutschland ISBN:978-3-662-50300-3 ISBN:978-3-662-50301-0(eBook) DOI10.1007/978-3-662-50301-0 DieDeutscheNationalbibliothekverzeichnetdiesePublikationinderDeutschenNationalbibliografie; detailliertebibliografischeDatensindimInternetüberhttp://dnb.d-nb.deabrufbar. SpringerSpektrum ©Springer-VerlagGmbHDeutschland2017 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklichvomUrheberrechtsgesetzzugelassenist,bedarfdervorherigenZustimmungdesVerlags. DasgiltinsbesonderefürVervielfältigungen,Bearbeitungen,Übersetzungen,Mikroverfilmungenunddie EinspeicherungundVerarbeitunginelektronischenSystemen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigtauchohnebesondereKennzeichnungnichtzuderAnnahme,dasssolcheNamenimSinneder Warenzeichen-undMarkenschutz-Gesetzgebungalsfreizubetrachtenwärenunddahervonjedermann benutztwerdendürften. DerVerlag,dieAutorenunddieHerausgebergehendavonaus,dassdieAngabenundInformationenin diesemWerkzumZeitpunktderVeröffentlichungvollständigundkorrektsind.WederderVerlag,noch dieAutorenoderdieHerausgeberübernehmen,ausdrücklichoderimplizit,GewährfürdenInhaltdes Werkes,etwaigeFehleroderÄußerungen. Planung:MargitMaly GedrucktaufsäurefreiemundchlorfreigebleichtemPapier SpringerSpektrumistTeilvonSpringerNature DieeingetrageneGesellschaftistSpringer-VerlagGmbHDeutschland DieAnschriftderGesellschaftist:HeidelbergerPlatz3,14197Berlin,Germany Vorwort Dieses Buch entstand aus einem Skriptum der Vorlesung „Einführung in die EDV fürPhysikerinnenundPhysiker“,dieichalsAstronom,zusammenmitKollegenaus derPhysik,seitdemJahre2006anderUniversitätBonnbetreue.DieVeranstaltung richtet sich an die jährlich ca. 150 Studienanfänger und soll nötige praktische EDV-Kenntnisse für ein Bachelorstudium der Physik vermitteln. Dies beinhaltet eine Einführung in Unix, welches in den Naturwissenschaften, vor allem im universitärenBereich,dasvorherrschendeBetriebssystemist.DesWeiterenlehren wir das Textsatzsystem LATEX zum Verfassen wissenschaftlicher Texte und führen die Studenten in die Computerprogrammierung mit Python ein. Die erworbenen KenntnissewerdenbeiderDurchführungvonPraktika,beiderspäterenVorlesung „Numerische Methoden der Physik“ und vor allem in der Bachelorarbeit benötigt. Die EDV wurde in Bonn zum Wintersemester 2006/2007 mit Einführung der Bachelor- und Masterstudiengänge in den Lehrplan des Physikstudiums integriert. Dies trägt der Tatsache Rechnung, dass Computer aus der täglichen Arbeit von Physikern (und Naturwissenschaftlern im Allgemeinen) nicht mehr wegzudenken und ein integraler Bestandteil eines jeden Forschungsprojekts sind. Die EDV- Kenntnisse, die ein Student der Naturwissenschaften heute benötigt, gehen über dashinaus,wassichdiemeistenwährenddessehrzeitintensivenBachelorstudiums nebenher allein aneignen können. Die explizite Berücksichtigung der EDV im Lehrplanstelltsicher,dassalleStudentenfürdieDurchführungderBachelorarbeit undfürdieweiterewissenschaftlicheLaufbahnsolideGrundkenntnissebesitzen. DasvorliegendeBuchdecktimWesentlichendenStoffdesUnix-Blocksunserer Veranstaltung ab. Während wir für LATEX und Python auf vorhandene Literatur zurückgreifen, wurde uns bei der stetigen Entwicklung des Unix-Blocks über die Jahre klar, dass wir dies hier nicht konnten (oder wollten). Während es zwar eine große Vielfalt an deutschsprachiger Literatur zu dem Thema gibt, existieren nur wenigeBücher,diespeziellaufdieBedürfnissevonNaturwissenschaftlerneingehen undaufdemtypischenKenntnisstandvonStudienanfängernaufbauen.Vorhandene Literatur mit diesen Vorraussetzungen hatte nicht die Themenauswahl oder die Tiefe,dieunserenVorstellungenentsprach. Unser Unix-Block zielt primär darauf ab, den Studenten innerhalb von drei bis vier Vorlesungswochen ein effizientes wissenschaftliches Arbeiten unter diesem v vi Vorwort Betriebssystem zu ermöglichen. Dies reicht von der grundlegenden Benutzung der Unix-Kommandozeile bis hin zu einer Einführung von Unix als Programmier- undDatenanalyseumgebung.DieerstenJahreunsererVeranstaltunghabengezeigt, dass viele Studenten dieses Ziel effizienter im Selbststudium direkt vor einem ComputererreichenalsmiteinertraditionellenVorlesung.Wirhabendaherunsere MaterialienschrittweiseerweitertundletztendlichfürdasSelbststudiumoptimiert. Die Studenten erarbeiten wöchentlich einen Teil der Materialien in Heimarbeit und vertiefen den Stoff in Übungen zusammen mit einem Tutor. Für diejenigen Studenten, die eine audio-visuelle Präsentation des Stoffs (Vorlesung) der reinen Schriftform vorziehen, haben wir das Material zusätzlich in Form von Videos aufbereitet. Neben der reinen Vermittlung des Stoffes ist die Ausbildung zur Selbsthilfe ein wesentliches Lernziel unseres Kurses. Bei einem so umfassenden Themenkomplex wie Unix müssen wir uns bei der vorhandenen Zeit auf die Vermittlung grundlegender Konzepte und einen Ausschnitt der Möglichkeiten beschränken. Es ist daher unvermeidbar, dass sich die Studenten zur Vertiefung des Stoffes oder bei auftretenden Problemen Informationen effizient beschaffen können, z.B. aus dem Internet. Viele der Aufgaben unseres Kurses und dieses Buches zielen, neben einer Vertiefung des Stoffes, explizit auf dieses Lernziel ab. DievergangenenJahrehabengezeigt,dassauchStudenten,dieunsereVeranstaltung nurmitgeringenVorkenntnissenbesuchthaben,dieLernzieleguterreichenkönnen. MeineHauptmotivationfürdiesesBuchistes,dieErkenntnisseundMethodenzur Vermittlung von Unix-Kenntnissen an Naturwissenschaftler, die ich mit meinen Kollegen in den letzten zehn Jahren gesammelt habe, auch anderen zugänglich zumachen. Danksagungen: Mein herzlicher Dank gilt allen, die auf die eine oder andere WeiseanderEntstehungdiesesBuchesbeteiligtwaren. MeinbesondererDankgehtanmeineKollegenIanBrock,WolfgangEhrenfeld, KlausLehnertz,JörgPretz,OliverCordes,MichaelDöring,PhilipBechtle,Thomas VelzundanalleTutoren,mitdenenichindenletztenzehnJahrendieVeranstaltung „EinführungindieEDV“haltenundentwickelndurfte.Diesehrfreundschaftliche und bereichernde Zusammenarbeit bei dieser Vorlesung hat meine didaktischen Vorstellungennachhaltiggeprägt. AndieserStellemöchteichmeinerMutter,FrauChristaErben,danken,diemich immerbedingungslosbeiallenmeinenProjektenunterstützt! Tatkräftige Unterstützung bei der Fertigstellung des Buches habe ich von Ian Brock, Dominik Klaes, Ole Marggraf und Peter Schneider erhalten. Sie haben das gesamte Manuskript sehr ausführlich gelesen, mich auf viele Fehler und Ungenauigkeiten aufmerksam gemacht und mir zahlreiche und konstruktive Ver- besserungsvorschlägezukommenlassen. Explizit bedanken möchte ich mich auch bei den Studenten, die über die Jahre unsere Veranstaltung besucht haben. Dies gilt nicht nur für all diejenigen, die stets motiviert waren und mir Freude bei der Vermittlung des Lehrstoffes bereitet haben,sondernauchfürdiejenigen,dieSchwierigkeitenmitdemStoffhatten.Die Probleme dieser Gruppe sind eine ständige Motivation zur Verbesserung und zur ErkundungneuerWege. Vorwort vii FürdieUnterstützungdesSpringer-VerlagsbeimeinemerstenBuchprojektund die fachkundige und angenehme Zusammenarbeit mit Frau Sabine Bartels, Frau Margit Maly und Frau Vera Spillner bin ich sehr dankbar. Frau Tatjana Strasser danke ich für ihre sehr akribische Korrektur von Rechtschreibung, Grammatik undStil. BonnimJuni2016 ThomasErben Inhaltsverzeichnis 1 Einführung ................................................... 1 1.1 WarumUnix? ............................................ 2 1.2 Wichtige Gemeinsamkeiten und Unterschiede zwischenUnixundMicrosoftWindows ....................... 2 1.3 GUIversusCLI:EinkonkretesBeispiel....................... 6 1.4 UnixversusLinux ........................................ 9 1.5 ZieledesBuches.......................................... 10 2 DasHOWTOzudiesemBuch ................................... 13 2.1 Themenauswahl .......................................... 13 2.2 HinweisezurBearbeitungdesStoffes ........................ 16 2.3 Textdarstellungen ......................................... 16 3 ErsterKontaktmitUnix ....................................... 19 3.1 Unix/LinuxaufeinemMicrosoftWindows-Rechnernutzen........ 20 3.2 ErsteTerminaleingaben .................................... 22 3.3 DieBash-Shell ........................................... 24 3.4 DerEditornano ......................................... 24 4 Unix-Kommandos ............................................. 27 4.1 DieAnatomieeinesUnix-Befehls............................ 27 4.2 HilfeundInformationenzuUnix-Kommandos ................. 29 5 DasUnix-Dateisystem .......................................... 33 5.1 DerUnix-Verzeichnisbaum ................................. 33 5.2 NavigationimUnix-Verzeichnisbaum ........................ 35 5.3 Datei-undVerzeichnismanipulation.......................... 37 5.4 VersteckteDateienundVerzeichnisse......................... 42 5.5 Wildcards ............................................... 43 6 DasUnix-Rechtesystem......................................... 49 6.1 DiePhilosophiedesUnix-Rechtesystems...................... 49 6.2 RechteundBenutzerklassen ................................ 50 6.3 ModifikationvonRechtenaneigenenDateienund Verzeichnissen ........................................... 52 ix x Inhaltsverzeichnis 7 TechnikenzumeffektivenUmgangmitderShell................... 55 7.1 KopierenundEinfügenmitderMaus......................... 55 7.2 TastenkürzelaufderKommandozeile......................... 56 7.3 Die<Tab>-Completion.................................... 56 7.4 DerHistory-Mechanismus.................................. 58 8 SonderzeichenderShell ........................................ 61 9 ProgrammausführungundProzesskontrolle ...................... 67 9.1 ProgrammausführungunterUnix ............................ 67 9.2 Unix-Prozesskontrolle ..................................... 69 9.2.1 Vorder-undHintergrundprozesseverwalten ............ 69 9.2.2 Prozessefindenundbeenden ........................ 71 9.2.3 LanglaufendeProzesseverwalten .................... 73 10 Shell-Konfiguration............................................ 77 10.1 Shell-Variablen........................................... 77 10.2 Unix-BefehleauseinerDateiausführen ....................... 82 10.2.1 Befehlsabarbeitung ohneEinflussaufdie gegenwärtigeShell-Umgebung....................... 82 10.2.2 Befehlsabarbeitung mit Einfluss auf die gegenwärtigeShell-Umgebung....................... 83 10.3 DieShell-Konfigurationsdateien.bash_profile und.bashrc ........................................... 84 10.4 NützlicheKonfigurationen.................................. 87 10.4.1 WichtigeUmgebungsvariablen....................... 87 10.4.2 Alias-Definitionen ................................. 89 11 Dateienfindenmitdemfind-Kommando ........................ 93 12 TextdateienunterUnix ........................................ 97 12.1 TextdateiistnichtgleichTextdatei ........................... 97 12.1.1 TextdateienaufverschiedenenBetriebssystemen ........ 97 12.1.2 DatentypenunterUnixunddasfile-Kommando....... 99 12.1.3 TextdateienmitinternationalenSonderzeichen .......... 99 12.2 ASCII-Textdateieneffektivanzeigen .........................101 12.3 DatenspeicherunginnerhalbvonASCII-Textdateien.............102 13 DatenströmeundDatenpipelines ................................105 13.1 DieAusgabeströmeSTDOUTundSTDERR ...................105 13.2 DerEingabestromSTDIN .................................108 13.3 PipelinesausUnix-Befehlen ................................110 14 Unix-WerkzeugezurArbeitmitASCII-Textdateien ................115 14.1 FindenvonTextinASCII-Dateienmitgrep ..................115 14.2 BearbeitungspaltenorientierterDateienmitawk ...............118 14.3 Dateiensortierenmitsortunduniq .......................119 Inhaltsverzeichnis xi 15 Shell-Skripte..................................................125 15.1 DasHallo-Welt-Shell-Skript ................................125 15.1.1 Shell-SkriptealsausführbareProgramme ..............126 15.1.2 VariablenunddieKommandosubstitution ..............127 15.2 Diefor-Schleife .........................................132 15.3 Shell-SkriptealsWrapperfürkomplexereAnalysen.............137 15.3.1 ArgumentefürShell-Skripte.........................138 15.3.2 Prozesseparallelisieren .............................142 15.4 ZusammenfassungundBemerkungen ........................148 AnhangA ReguläreAusdrücke ....................................151 A.1 FindenvonTextmusternmitgrep ..........................151 A.1.1 EinfacheZeichenketten .............................154 A.1.2 Zeichenklassen....................................154 A.1.3 WiederholungvonZeichenundZeichenklassen .........156 A.1.4 Verankerungen ....................................158 A.1.5 ZusammenfassungundBemerkungen .................162 AnhangB DateienunterUnixarchivierenundkomprimieren ..........165 AnhangC DeutscheversusenglischeUnix-Umgebungen...............169 C.1 DeutscheversusenglischeTastatur...........................170 C.2 DeutscheversusenglischeSpracheinstellungen.................170 AnhangD Literaturhinweise.......................................173 D.1 Unix/Linux-Anfängerliteratur ...............................174 D.2 Unix/Linux-Referenzmaterialien .............................174 D.3 awk-Literatur ............................................175 D.4 Shell-Skripte.............................................175 AnhangE LösungsvorschlägezudenAufgaben ......................177 Sachverzeichnis ...................................................217

Description:
Das Buch gibt Studienanfängern naturwissenschaftlicher Fächer eine solide Einführung in das Betriebssystem Unix und dessen praktische Anwendung. Der Leser erhält einen systematischen und leicht verständlichen Einstieg in den Umgang mit der Unix-Kommandozeile, mit deren Interaktion ein effizient
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.