{{backlinks>.}} **Lesebefehl:** http://www.heise.de/ct/ausgabe/2016-18-25-Jahre-Linux-vom-Nerd-Spielzeug-zum-Allround-Betriebssystem-das-wirklich-jeder-benutzt-3296177.html ==== Ruby Kurs ==== {{ :efinf:blc2016:rubycourse.pdf |Ruby Kurs}} Hinweis: Dieser Kurs benötigt etwas Überarbeitung und ist noch ziemlich provisorisch. [[efinf:blc2016:ruby|Ruby Kurs auf dem Wiki]] ==== Linux ==== http://jvns.ca/blog/2016/11/10/a-few-drawings-about-linux/ === Fundamentale Konzepte === == Alles ist eine Datei == * Alle Dateien sind in Verzeichnissen, das Wurzelverzeichnis (root) heisst / * Aus Dateien können Daten gelesen und/oder darin geschrieben werden. * Es gibt Dateien, aus denen kann nur gelesen werden, z.B. /dev/random * Es gibt Datein, in die kann nur geschrieben werden, z.B. /dev/null * Speichermedien werden ebenfalls als Datei abgebildet, z.B. /dev/sda2 (Zweite Partition auf erster "Harddisk"). Praktisch, um vollständige Images zu ziehen und wiederherzustellen. Achtung: Nur darauf schreiben, wenn man weiss, was man tut! * Die Benutzerdateien vom Benutzer 'hansli' sind in /home/hansli * Die meisten (Benutzer-) Programme sind /usr/bin/ * Die Systemkonfigurationsdateien sind in /etc/ * Praktisch alle Konfig- und Nutzerdatein sind einfach verständliche Text-Dateien. == Standard-Input und -Output == * Vielen Programme produzieren ihre Ausgabe auf "Standard Output" (z.B. Ausgabe auf das Terminal) * Viele Programme lesen Eingabedaten (auch) vom "Standard Input" (z.B. Eingabe von der Tastatur). * Clou: Pipelining. Ausgabe eines Programmes als Eingabe des nächsten verwenden. === Bash (Kommandozeile) === * **pwd** Print Working Directory: In welchem Verzeichnis befinde ich mich gerade. * **ls** List: Zeige die Dateien im aktuellen Verzeichnis an. Variationen: ls -l, ls -a, ls -ltr, ls -lhrS * **cd** //Verzeichnis//: Wechselt in das angegebene Verzeichnis. Das Eltnerverzeichnis ist '..'. Das aktuelle Verzeichnis ist '.'. Die Angabe ist absolut, wenn mit einen '/' begonnen wird, sonst relativ zum `pwd`. * **mkdir** //Verzeichnis//: Legt ein neues Verzeichnis an. Variation: mkdir -p //verschachtelte Verzeichnisse//. * **man** //Programm//: Zeigt die Hilfe für das Programm an. Z.B. man man, oder man ls, etc. 'q' zum Beenden. * **rm** //Datei//: Datei löschen. Varianten: rm -rf //Verzeichnis// (Löscht das Verzeichnis und alle Unterverzeichnisse). * **rmdir** //Verzeichnis//. Löscht das leere Verzeichnis. * **cat** //Datei//: Gibt den Inhalt der Datei aus. * **less** //Datei//: Zeigt den Inhalt konfortabel an. 'q' zum Beenden, 'g','G' Anfang/Ende der Datei, '/' suchen, 'h' Hilfe. === Texteditoren === * gedit * kate (benötigt KDE) * emacs (Eierlegende Wollmilchsau) * atom * vim (Steile Lernkurve, für Serveradministration unabdingbar). ==== Linux Installation auf einem Stick mit UEFI Boot ==== Damit UEFI booten kann, braucht es offenbar eine FAT32 partition, worin die entsprechenden Boot-Dateien zu liegen kommen. Die Partionierung muss daher eine kleine FAT Partition enthalten. Mehr dazu: * https://help.ubuntu.com/community/Installation/FromUSBStick#Creating_an_EFI-only_image * https://help.ubuntu.com/community/Installation/UEFI-and-BIOS/stable-alternative Partitionsempfehlungen: https://help.ubuntu.com/community/DiskSpace Partition verkleinert und verschoben (eventuell nutzlos, weil EFI ist nicht sdx1) mkdir /mnt/{root,efi} mount /dev/sdc2 /mnt/efi #Waeare wohl besser wenn es sdc1 wäre) mount /dev/sdc1 /mnt/root apt-get install --reinstall grub-efi grub-install -d /usr/lib/grub/x86_64-efi/ --force --removable --no-floppy --boot-directory=/mnt/root/boot --efi-directory=/mnt/efi /dev/sdc apt-get install --reinstall grub-pc