01_BS_Einführung_public_42c8570079610652afe95ed6ee5a2771.pdf

Document Details

RevolutionaryFern2779

Uploaded by RevolutionaryFern2779

Hochschule Esslingen

Tags

Linux operating systems computer history technology

Full Transcript

Betriebssysteme (BS) Einführung in Linux & Distributionen Prof. Dr.-Ing. Rainer Keller Email: [email protected] 1 Überblick Historie und Entwicklung zu » Rechnern » Betriebssystemen Definition eines Betriebssystems Installation von Linux b...

Betriebssysteme (BS) Einführung in Linux & Distributionen Prof. Dr.-Ing. Rainer Keller Email: [email protected] 1 Überblick Historie und Entwicklung zu » Rechnern » Betriebssystemen Definition eines Betriebssystems Installation von Linux bei Ihnen auf dem Laptop / in einer VM Übung der Tools!! Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 2 Lernziele Wiederholung Aufbau von Rechnern Definition eines Betriebssystems Historie von Unix und der verschiedenen Derivate Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 3 Historie Erste (erfolgloser) Versuche einer Rechenmaschine: » Tübinger Prof. Wilhelm Schickard (1592 – 1635) » Erfand 1623 eine mechanische Rechenmaschine mit allen vier Grundrechenarten mit automatischem Zehnerübertrag. Quelle: regio Erste programmierbare „Digitalcomputer“: » Charles Babbage (1791 -- 1871) erfindet die „Analytical Machine“. » Augusta Ada Lovelace (1815 -- 1852), korrespondiert mit Babbage, ist die erste „Programmiererin“ für diese „Analytical Machine“! Dieser ähnelte schon den heuten digitalen Rechnern Aber: dieser arbeitete mechanisch und damals eben noch nicht! Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 4 Historie – 1. Generation Rechner (1939-1955) Deutschland: Konrad Zuse Z1 (1939) und Z3 (1941) USA: ENIAC (1945!): » 17468 Vakuumröhren » 1500 Relais » 174 kW Leistung » 170m2 » 30t Gewicht » 0,2ms Additionszeit » 2,8ms Multiplikationszeit Riesige Rechner Quelle: iblio.org Enorme Leistungsaufnahme Fehleranfällige Programmierung Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 5 Historie – 2. Generation Rechner (1955-1965) Mit Erfindung des Transistors 1947 in den Bell Labs Computer: » Zuverlässiger(Keine mechanischen Relais) » Günstiger (erste Massenfertigung) » Schneller (Schaltgeschwindigkeit Transistoren höher) Anwendung durch: » Finanzwirtschaft » Universitäten » Staatliche Behörden Betrieben im „Batch-Modus“ » Programme auf Lochkarten » Eingelegt in Vorrechner durch Operator » Operator überwacht Ablauf aller Programme im Hauptrechner » Falls Fehler: Speicherabbild („core-Dump“) auf Lochkarten Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 6 Historie – 3. Generation (1965-1972) 1/2 Erfindung von „Integrated Circuits“ (ICs): 1965: „Moore‘s Law“: » „Anzahl der Transistoren verdoppelt sich alle 12 Monate“ » Exponentielles Wachstum hält bis heute an mit ~18 Monate! Dadurch kleinere, schnellere Rechner Vorrechner (Lochkartenleser nicht mehr nötig) Erste Multi-User, Time-sharing Systeme Bspw. „Multiplexed Information & Computing Service“ (Multics) » Betriebssystem von General Electric, Bell Labs + MIT, 1968 » Computerressourcen á la Stromnetz beziehen » Aber: System war zu komplex und funktionierte nie richtig. » Das letzte System wurde am 30.10.2001 abgeschaltet! Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 7 Historie – 3. Generation (1965-1972) 2/2 Hardwareentwicklung: » Leistungsfähige und » Konkurrenzfähige Minicomputer PDP-1 von DEC: 4096 18-Bit Speicherwörter Stark erweiterbar Schnäppchen: $120.000 PDP-7; Quelle: informatik-aktuell.de Ken Thompson & Dennis Ritchie programmieren UNICS auf PDP-7: Persiflage auf das MULTICS-Projekt Programmiert in C Multi-User + Multi-Tasking Betriebssystem Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 8 Historie – 4. Generation Rechner (ab 1972) Hochintegrierte Schaltungen: „Large Scale Integration“ Aus LSI wurde „Very Large Scale Integration“ (VLSI), d.h. tausende von Transistoren pro cm2 Intel entwirft 1971 für japanische Firma Busicom einen Allround-Prozessor: 4004 4004 Pentium 4 Broadwell Jahr 1971 2002 2016 Transistoren 2300 42 Mio. 7,2 Mrd Technologie 10 µm 0.13 µm 0.014 µm Intels Takt 108 kHz 3.5 GHz 3.4 GHz Roadmap war/ist nach Addr. Speicher 640 Byte 4 GB 256 TB 2016 sehr Breite d. Busses 4 Bit 64 Bit 64 Bit zergliedert und sehr Leistung (MIPS) 0.06 3792 ca. 360000 undurch- Größe 12 mm2 217 mm2 ??? sichtig... Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 9 Mikroprozessorentwicklung E Wenn wir von Prozessorentwicklung sprechen, meinen wir meist Mikroprozessoren, bspw. Intel x86, AMD oder auch ARM Dies machen aber auch (Mikro)prozessoren anderer Hersteller auch durch. Entwicklung dieser Prozessoren war/ist exorbitant: AXV−512 60 MB L3, 40 cores et al 1×106 6500 Am Beispiel AVX2 AVX 37,5 MB L3 8 cores 6000 von Intel: 5500 5000 Multi−core Mikroprozessor (Base−)Frequency [MHz] Hyper−threading 4500 Performance [MFlops] : 10000 Long pipelines 2xclock arithm. 4000 Intel x86 Level−2 cache Pentium D with full clock SandyHas− Broadwell Core i7 Bridge well Skylake 3500 Pentium Xeon Bloomfield MMX−Instructions Core 2 3000 AMD Speculative out−of−order execution Ice 2500 ARM 100 Lake Multiple− Instructions 2000 per cycle Pentium 4 1500 Integrated Cache 1000 Instruction Pentium 3 500 pipeline Pentium Pentium Pro MMX 80386 80486 1 Pentium 0 Aktualisiert 1986 1991 1996 2001 2006 2011 2016 2021 aus: Keller08 Year Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 10 Prozessorentwicklung Es gibt aber auch andere Prozessoren: IBM Mainframe z-Series IBM Power Prozessoren NEC SX Vektorprozessoren: - & 1 Befehl verarbeitet bis zu 256 Operanden in Vorlesung gezeigt: NEC SX-8 Proz.: Ein NEC SX-9 leistet ca. 102 Gflop/s... soviel wie Sony PS3... Dennoch beeindruckend: 16 Prozessoren auf einem Motherboard, jeweils 256 GB/s Speicherbandbreite!! ARM CPUs kommen in fast jedem Handy vor! Selbst auf Mobilgeräten: 8-core Arm CPUs: Parallele Programmierung essentiell! Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 11 · tasiriösi Prozessoren B : EN 3 T - -misi. in ! Mikro prozossoren : ·5 :5 13.. 191. Erl- 1) Intel X86 software s 2) AmD. prozessors es : CPU ↳ ARM Ös' 5 , B Is !I : 55 : Mikroprosseor Andere prozessoren : E -+ IBM Mainfram - Series IBM power prozessor NEC SX Vektorprozessor. ~s 1 > &56 31 ~Es 88981şiz Wir. 1355 , 128 : Core !/ -. S li Architektur eines Prozessors · Es' ; 8, 8 · E Cache: Daten die aus dem Speicher geholt wurden in in kleinen Blöcken zwischenlagern für späteren Zugriff (Vergleich: Aktenordner aus dem Schrank auf meinem Schreibtisch!) „Aktuelles“ Beispiel Intel Xeon „Sandy Bridge“ (Q4/2011) mit bis zu 2.27 Mrd. Transistoren: Was fällt auf? Dieses Ding „L3 Cache“ ist riesig! (20 MB an Level-3, dann gibt‘s noch L2, und einen L1 innerhalb jedes Cores) Der „Memory Controller“ (was früher auf dem Chipsatz war) ist ebenfalls groß. Da fehlen doch zwei Cores??? Quelle: Intel Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 12 Komponenten eines PC Ein Standard PC ist wie folgt aufgebaut prozessor 1. Motherboard / Hauptplatine Kühlkörper motherboard 2. Prozessor Hauptspreche 3. Kühlkörper mit Radiallüfter 4. Hauptspeicher (4 Slots) Netzteil 5. Erweiterungskarten (3 Slots) 6. Netzteil Festplatte 7. Festplatte (3½ Zoll) 8. CD-ROM/DVD Laufwerk Quelle: Wikipedia Das ist die Hardware! Fehlt die Software! Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 13 Architektur eines PC Das Motherboard hat bei Servern (2 Sockel) folgendes Layout: RAM RAM Prozessor, Englisch Central Processing Unit (CPU) heute muss man genauer von CPU-Sockel & Kernen reden. Grafik- CPU-Sockel CPU-Sockel Der Bus ist die zentrale Komponente karte (24 cores) (24 cores) um Daten zwischen Prozessoren und „Peripherie“ auszutauschen, er geht „Front-Side von PCs von dem Chipsatz aus, Bus“ Fest- manchmal North- und Southbridge platte genannt. Netz- Die Dicke der Verbindungslinie sollen North- South- USB werk- die Geschwindigkeit der Verbindung Bridge Bridge Gerät repräsentieren. karte Wichtig zu merken: Datentransfers vom Prozessor in den Speicher, oder von der Peripherie ist langsam (s. die „dünnen“ Verbindungslinien) Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 14 Betriebsystem s - > Sigh- ,5 Betriebssystem: Definitionen 1/2 DIN 44300: Deutsche Instutit für Normung. "Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechen- systems bilden und die insbesondere die Abwicklung von Programmen steuern und überwachen." DUDEN Informatik: "Zusammenfassende Bezeichnung für alle Programme, die die Ausführung der Benutzerprogramme, die Verteilung der Betriebsmittel auf die einzelnen Benutzer- programme und die Aufrechterhaltung der Betriebsart steuern und überwachen." Rembold, Einführung in die Informatik: "Der Zweck eines Betriebssystems liegt darin, Fähigkeiten zur Verfügung zu stellen, um eine Rechenanlage möglichst durch mehrere Anwender nutzen zu können. Diese Nutzung soll einfach, zuverlässig und wirtschaftlich sein." Coy, Aufbau und Arbeitsweise von Rechenanlagen: "Betriebssysteme ermöglichen einen geordneten Ablauf der gestarteten Programme und nutzen dabei die vorhandenen Systemsoftware- und Gerätebetriebsmittel so, daß ein möglichst sparsamer und effizienter Programmdurchsatz erreicht wird.“ Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 15 Betriebssystem: Definition 2/2 Was ist ein Betriebssystem ? „Ein Betriebssystem ist eine Software, die auf Ge effiziente Weise die · Komplexität eines Computers vor dem Benutzer und dem Programmierer versteckt undI einer Gruppe von Benutzern und Programmen gemeinsamen, sicheren Zugriff auf Rechen-, Speicher-, Kommunikationsmittel zur Verfügung stellt.“ Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 16 Betriebssystem: Eingruppierung 1/3 Was macht ein Betriebssystem ? , 5! Das Betriebssystem abstrahiert von Anwendungsprogramme 63- der HW, es virtualisiert die Grafische Benutzeroberfläche Ressourcen. Di ,1 System-nahe Programme Bibliotheken Es teilt CPU, Speicher, etc. den Betriebssystem Software Treiber Programmen zu; und nimmt sie wieder weg! Hardware RAM - GPU CPU Es verwaltet die Dateien - HDD- Chipsatz Es stellt eine einheitliche USB controller X99 ·. 's Programmierschnittstelle zur -15 Verfügung Gerade UNIX hat hier (Application Programming Interface, API) Maßstäbe gesetzt! Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 17 Betriebssystem: Eingruppierung 2/3 was Zum Betriebssystem gehört nicht: Alte Klausuz ! » Das BIOS! » Ein Übersetzer (Compiler) (oder haben Sie auf Windows einen C-Compiler entdeckt?) » Ein Editor (das mag ja wichtig sein, aber ein Rechner läuft auch ohne!) »...??? - Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 18 Betriebssystem: Eingruppierung 3/3 Betriebssystems si Betriebssystemkategorien: # I ⑰ - si 4 -5 2 S & (manche BS werden für verschiedene Zwecke verwendet) -T D Mainframes (Systeme besonders hoher Stabilität): -55.-D i D, IBM OS/390 (heute IBM zSeries), Siemens Fujitsu BS 2000/0SD 1 · - 19 & Serverbetriebssysteme: - :s 5, - Linux, FreeBSD Unix, Windows Server ③ Betriebssysteme für „Personal Computer“ (PC): -2.5 , 3882 Windows, MacOS, Linux Distributionen wie Arch, Ubuntu, Kubuntu · ~ - -- ( -s ~ O = = , Echtzeitbetriebssysteme: , & VxWorks, QNX, RT-Linux & oss CDU -E , & Bisse s - & Embedded Systems: Eingebettetes system · Es. -5 3 !,. Embedded Linux (mit Yocto gebaut), VxWorks, QNX, MS Windows IoT ⑥ Handhelds: = sind auch echt Zeit betriebssystem Palm OS, Windows Mobile, Symbian, Linux ⑰ Smartcard-BS: Chipkarte mit spezieller JVM! > java -virtualle machine. - e. - Es Sie s We'sidi Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 19 Klausur Frage : Embeddeck Erklären Sie weshalb ein einfaches eingebettetes System (z.B. ein Arduino) & auch ohne ein dediziertes Betriebssystem (z.B. Linux/FreeRTOS) 1 -M > - funktionieren kann/und welche Eigenschaften das System ohne- - - Betriebsy >1 I - Betriebssystem nicht hat. Nennen Sie mindestens zwei Eigenschaften und erklären Sie kurz weshalb diese nicht gegeben sind und nicht benötigt werden. (WS 20/21) Embedded System ode eingebettete system werden nur für betimmten Zweck hergestellt und exestieren nur innehalb einen ander die de System deswegen , ist Komplexität - Betriebsystem nicht benötigt. * Eingebettete system benötigt keine Oberfläsche , in Gegensatz Zu Betriebsystem. Embedded Geräte sind Zeit * abhängig , ihren Zugewesenen innerhalb bestimmten Zeitrahmen Aufgaben mussen von ausgeführt werden. ausführen Aber Betriebsysteme können mögliche weise auch Aufgaben die nicht Zeit Gebundene sind und die auch dan Tage. Klausur Frage ! Nennen Sie vier Komplett unterschiedliche Betriebssystem WS/18/19 :. * Microsoft Windows * Linux. * Free RTOS Andriod * Googl OS. * Apple. macOS Betriebssystem: Historischer Vergleich Der Vergleich ist natürlich alt! Zeigt aber die Prof. der BS! MS/DOS MacOS (1b5jis 41. ~ 61828 § Viele DSL-Router daheim nutzen Linux: § Alle Webdienste die wir täglich nutzen: Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 26 Why Linux? Der Raspberry PI eignet sich super für: IoT-Überwachung/Smart-Home Yocto Linux bietet hierfür beste Voraussetzung (für Pi Zero) Günstiger Desktop, oder als Thinclient Medienserver (Kodi/OpenELEC) Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 27 [-E Linux-Distributionen - Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 28 Was ist eine Distribution? Ein Linux-Betriebssystem ohne weitere Software macht keinen Sinn! Eine Distribution » enthält Software-Pakete, 1-8' Ös * » strukturiert das Software-Angebot Software E b , » besitzt eine eigene Paketverwaltung » evtl. eine eigene grafische Benutzeroberfläche » meist eine bestimmte Philosophie J Und ist viel Arbeit zu erstellen! I Trotzdem (deswegen?) gibt‘s dutzende Distributionen Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 29 Distributionen (kleiner Vorgeschmack) Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 30 Distributionen (wichtige Begriffe) Viele Distributionen bieten Long-Time Support (LTS) » SuSE Linux Enterprise (SLE) bis zu 10+3 Jahre » RedHat Enterprise Linux (RHEL) bis zu 10 Jahre » CentOS (Abkömmling von RHEL) ebenso und kostenlos » Ubuntu LTS (alle 2 Jahre im April) bis zu 5 Jahre kostenlos Einige Distributionen haben eine LIVE-Komponente: » Ein LIVE-System muss nicht auf die Festplatte des Rechners zugreifen » Problem: Daten dauerhaft speichern (USB?) » Erste bekannte LIVE-Distribution: Knoppix Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 31 “Wichtige” Distributionen Die bekanntesten Distributionen sind: Debian, die „älteste“ OpenSUSE, eine Distribution deutsche Distribution Ubuntu, basiert auf Debian RedHat: als Enterprise & Fedora für „Privatgebrauch“ Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 32 “Spezielle” Distributionen Es gibt viele Distributionen mit spezialisiertem Fokus, z.B.: Durch die immense SW-Unterstütz- Tails: für Verschlüsselung, mit GPG, ung und langfristige (konservative) TOR-Browser, VPN und viele Sicherheits- Politik hat Debian eine spezielle Rolle feature mehr Gentoo: Es wird jegliche SW komplett YoctoLinux: Keine Distro; ein Framework immer wieder aus aktuellen Quellen ge- um eine eigene Distro zu bauen; für baut. Hierauf basiert Google ChromeOS. IoT/Embedded Geräte ideal! Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 33 Nächstes Mal: Bourne Again Shell Sie sollten sich mit dem Terminal anfreunden – zumindest vorerst mit Cheat Sheet Bash. Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 34 GUI vs. Bash Eingruppierung: Anwendungsprogramme (1) Grafische Benutzeroberfläche (1) Sun Java Desktop Systemnahe Programme(1/8) System JDS – auf Bibliotheken (3) Betriebssystem API (2) GNOME basierend Software Hardware Anwendungsprogramme (1) Grafische Benutzeroberfläche (1) Systemnahe Programme(1/8) Terminal Bibliotheken (3) Betriebssystem API (2) Software Hardware Grafische Programme erlauben eine intuitive und effiziente Arbeitsweise. Die Details und systemnahen Informationen bekommt man aber meist nur über Programme gestartet von der Shell, die in einem Terminal gestartet wird. Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 35 Anwendungsprogramme (1) Unix Shell Grafische Benutzeroberfläche (1) Systemnahe Programme(1/8) Bibliotheken (3) Eine Shell ist die Kommandozeile mit der Betriebssystem API (2) Software man Programme startet. Hardware Die Shell ist somit die niedrigste, systemnahe Software, mit der ein User interagiert. Shells haben Eigenschaften von Programmiersprachen Historisch bedingt gibt es eine Unmenge Shells, z.B. 1. Bourne Shell (sh) 2. C Shell (csh) 3. Korn Shell (ksh) 4. Z-Shell (zsh) 5. Bourne Again Shell (bash) Wir betrachten hier nur die bash. Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 36 Unix bash Mit der Unix bash können wir Anwendungsprogramme (1) Grafische Benutzeroberfläche (1) Systemnahe Programme(1/8) » Systemnahe Programme starten Bibliotheken (3) Betriebssystem API (2) » Software Grafische Programme starten Hardware » Programme killen » Komplexe Shell-Skripte ausführen! In der Kommandozeile steht die Eingabeaufforderung: tobi@mir:~$ ☐ Hier können Sie Programme starten, Programme pausieren (CTRL+Z) und beenden (CTRL+C) Mehr das nächste Mal J Betriebssysteme - Einführung in Linux Prof. Dr.-Ing. Rainer Keller, Hochschule Esslingen 37 [Weitere] Fragen?! 38 Betriebssysteme; Inf 2 Cheat Sheet Bash 1 Auszug typischer Unix Shell Befehle Jede Shell (egal ob Linux bash, zsh, oder Shells auf Mac OSX) kennt die folgenden Befehle: Befehl Englische Bedeutung Erklärung mit Anwendungsbeispiel cd Change Directory Verzeichnis wechseln, bspw. relativ ein Verzeichnis hoch mit cd.. oder absolut (ausgehend von /) mit cd /home/rkeller ls List Files Dateien in einem Verzeichnis anschauen, bspw. ls -al *.txt cat Concatenate Dateien auf dem Terminal (Konsole) ausgeben, bspw. cat datei1.txt datei2.txt cp Copy Kopiere eine Datei, oder ein Verzeichnis, bspw.: cp –r /etc/dir ~/meindir mv Move Verschiebe Datei oder Verzeichnis, bspw.: mv ~/mydir /tmp/ (das Dir ist nun nicht mehr im HOME) rm Remove Dateien löschen, bspw. (Vorsicht!): rm –fr /home/ mkdir Make Directory Kreiert Unterverzeichnis, bspw.: mkdir –p src/java/de/hft/ chmod Change Mode Ändern der Zugriffsrechte auf eine Datei / ein Verzeichnis chmod 600 meine_datei (nur lesen/schreiben für Besitzer) chown Change Owner Ändern des Besitzers (owner) einer Datei / eines Verzeichnis, bspw.: chown root.root wichtig.txt (als Root: Datei nur für Root) touch Touch file/directory Datei anfassen/anlegen: modified Datum wg. Backup hochzusetzen. ln Link Link von einer Datei auf eine andere, bspw. soft-link mit: ln –s original.txt link_datei.txt less „Less is more than more“ Dateiausgabe auf dem Terminal: less datei1.txt („q“ beendet) man Manual Page Hilfe zum Befehl suchen/anzeigen: man –k bash wc Word Count Zählt die Wörter, Zeichen und Zeilen einer Datei wc /etc/passwd du Disk Usage Summe der Dateigrößen im Verzeichnis, bspw. du –hs ~/src/* (in „human-readable“ Form) df Disk Free Freier Plattenplatz auf allen gemounteten Festplatten/Partitionen lpq Line Printer Queue Anzeige der eigenen Druckerjobs in der Queue bg Background Ein Programm, welches mit CTRL-Z angehalten wurde mit bg im Hintergrund weiter ausführen. fg Foreground Ein Programm aus dem Hintergrund in den Vordergrund zurückholen. kill Well, just that! Ein Signal an eine Prozess mit einer ID schicken, bspw. der Prozess- ID, die man mit „&“ bekommt, per default ein „TERM“-Signal: kill -9 1234 sendet ein KILL-Signal grep Grep line from file Sucht zeilenweise in einer Datei / der Standardeingabe nach Muster find Find file Findet Dateien nach Namen / Datum / Größe nach Muster tar Tape Archive Programm zum Ver- und Entpacken ganzer Unterverzeichnisse: tar –cf backup-2016.tar mein_dir/ packt gesamtes Dir! gzip GNU Zipper Komprimiert eine Datei mit LZW-Verfahren, bspw.: gzip -9 backup-2016.tar echo Auf dem Terminal Ausgabe eines Strings auf dem Terminal, bspw. echo Hello World ausgeben (echo) oder echo "$USER ist in $HOME" Prof. Dr.-Ing. Rainer Keller Seite 1 von 2 HS-Esslingen pard wo bin ich gerade. / cd Ws * Eis ! Se -. cdn -W's : cd/ cd Desktop-Desktops -s 2 Auszug aus Unix Systembefehlen Je nach Betriebssystem variieren die folgenden system-nahen Befehle: Befehl Englische Bedeutung Erklärung mit Anwendungsbeispiel parameter ps Process Status Ausgabe der Prozesse, bspw.: - ps –elf (gibt alle Prozesse im Long Format) top Top processes Zeigt laufende Prozesse („q“ beendet), andere: z.B. htop, powertop netstat Network status Ausgabe der offenen Netzwerkverbindungen, bspw. netstat –nat zeigt alle TCP-Verbindungen ohne Namensauflösung ifconfig Interface Config Konfiguration aller Netzwerkinterfaces anzeigen und ändern. route Network route Routen der Netzwerkkonfiguration anzeigen und ändern. mkfs Make Filesystem Festplatte formatieren, bspw.: mkfs –t ext2 /dev/sda1 formatiert das Device (in „/dev“), genauer die „erste“ („a“) Disc („sd“), und hierbei die 1. Partition. fsck Filesystem check Prüft das auf dem Device befindliche Dateisystem, bspw.: fsck /dev/sda1 mount „To mount a horse“ Bindet ein Dateisystem im Verzeichnisbaum ein, bspw.: mount –t ext2 /dev/sdb2 mein_dir/ mknod Make node Auf Geräte wird mittels spezieller Dateien identifiziert (meistens in /dev); diese kann man selbst anlegen, bspw.: mknod /dev/disk0 –b 14 0 3 Auszug aus Unix Shell-Variablen Alle Shells bieten die folgenden Shell-Variablen: Befehl Englische Bedeutung Erklärung mit Anwendungsbeispiel PS1 Prompt String1 Formatierung des Prompts auf der Kommandozeile, bspw. \u für User, \w für Working Directory, \h für Hostname. USER User name Shell variable mit dem Login-Name dieses Users. HOME Home directory Benutzerverzeichnis dieses Benutzers. TMPDIR Temporary directory Verzeichnis für temporäre (zu löschende) Dateien PWD Present Working Dir Das derzeitige Verzeichnis, in dem sich die Shell gerade befindet. OLDPWD Eben das Hier speichert die Bash das ehemalige Verzeichnis, bash kennt auch $_ für dasselbe. PATH Path to binaries Verzeichnispfade (getrennt durch „:“), in dem nach Binaries (Programmen) gesucht wird! LD_LIBRARY_PATH Path to dynamic libraries Verzeichnispfade (getrennt durch „:“) in denen nach dynamischen Bibliotheken gesucht wird. MANPATH Path to man-pages Verzeichnispfade (getrennt durch „:“) in denen nach Verzeichnissen man1 bis man9 (usw.) gesucht wird mit Hilfeseiten. LANG Language Sprachauswahl im ISO Format: export LANG=de_DE.UTF8 oder LANG=en_US SHELL Shell Derzeit ausgeführte Shell, bspw.: echo $SHELL ergibt /usr/bin/bash Mittels $ wird auf den Wert der Variable lesend zugegriffen, geschrieben wird mit VAR=Wert; sowie mit export VAR=WERT in Untershell-Aufrufen bekannt gemacht. Prof. Dr.-Ing. Rainer Keller Seite 2 von 2 HS-Esslingen

Use Quizgecko on...
Browser
Browser