LINUX Gesamtmitschrift Martin Rabensteiner, 22.11.2015 Filesystem unter Linux - Keine Laufwerksbuchstaben - ~ Home-Verzeichnis User - Versteckte Dateien.filename Pfade 1. Absoluter Pfad eindeutiger Weg zu einer Datei/Verzeichnis - Ausgangspunkt ist die Wurzel ( / ) - Beginnt immer mit / außer Tilde ( ~ ) immer Homeverzeichnis /home/martin - Werden vor allem bei Systemdateien verwendet 2. Realitiver Pfad Pfad zu einer Datei/Verzeichnis - Ausgangspunkt ist das Arbeitsverzeichnis - Beginnt niemals mit / Suchmuster - Suche übernimmt Shell - wird aus der Suche ausgenommen, z.b. ls.b* Sucht nach Datei.b* - * 0 bis n Zeichen, z.b. rm c* alle Daten die mit klein C beginnen werden gelöscht -? genau 1 Zeichen, z.b. cp?? /tmp Dateien mit 2 Zeichen werden nach tmp verschoben - [ ] genau 1 Zeichen aus dieser Menge entsprechend, z.b. rm c[ioz]* Shell löscht Dateien, die mit ci, co oder cz beginnen - {,, } kartesisches Produkt, z.b. mkdir p {1AF,3BH}IT erstellt 1AFIT und 3BHIT Ordner
Hard-/Softlinks Datenblöcke: auf einer Festplatte 4kB groß Metadaten: stellen Informationen über die Datei zur Verfügung; ohne Metadaten funktioniert das Filesystem nicht Jedes i-node hat eine Eindeutige Nummer Hardlink: Verzeichniseintrag, der auf i-node zeigt Erstellen: ln _ <Ziel> _ <Link-Name> File -rw-rw-r--. 1 martin martin 39 Oct 22 09:02 file File2 soll auf gleichen i-node / File zeigen ln file file2 -rw-rw-r--. 2 martin martin 39 Oct 22 09:02 file -rw-rw-r--. 2 martin martin 39 Oct 22 09:02 file2 Softlink: Zeigt direkt auf ein anderes File Erstellen: Ln _ -s _ <Ziel> _ <Link-Name> lrwxrwxrwx. 1 martin martin 4 Oct 22 09:23 sl_file -> file Prozesse Systemmontior Prozesse ansehen Eigenschaften von Prozessen: - Name (nicht eindeutig) - PID ID (Process ID) - PPID (Parent Process ID) Jeder Prozess hat Eltern, außer init ( Oberprozess ) - User (Besitzer, was der User darf, darf der Prozess auch)
Prozess ist von außen geschützt Man kann nur Signale von Außen senden z.b. Neustart, Beenden Befehle: - pwd print working directory, aktuelles Verzeichnis, Arbeitsverzeichnis (Wo bin ich?) - cd Change Directory, Arbeitsverzeichnis wechseln o cd.. Elternverzeichnis o cd. bleibt im akutellen Verzeichnis - clear Umblättern - history listet alle bisher ausgeführten Befehle - man Manual Handbuch - ls list-structure o -a versteckte Dateien o -l Links anzeigen o -i inodes anzeigen - file file information - mkdir Make Directory o -p Parents (mehrere Verzeichnisse) - rmdir Remove Directory (nur leere Verzeichnisse) - tree Dateibaum - touch Auf Datei zugreifen/erstellen (keine Parameter) - rm Datei löschen (nur Verzeichniseinträge) o -r Rekursives Löschen (alles) o -f Schreibschutz ignorieren (falls vorhanden) o Papierkorb wirkt nicht überall - cp Kopieren o [options] <Quelle> <Ziel> z.b. cp ~/file /tmp/file oder cp file file.backup - mv Verschieben/Umbenennen o [options] <Quelle> <Ziel> z.b. mv ~/file /tmp/file o Umbennen: mv file file.backup - ln Hardlink erstellen o <Ziel> <Link-Name> o -s Softlink erstellen - find Finden von Dateien/Ordner o <Startpunkt> _ [Suchoptionen]
o -name <Suchstring> Dateiname o -size +/-<Größe> Dateigröße z.b. 3k,5M,1G o Zeitparameter 1. -mtime Änderungsdatum 2. -atime Letztes Zugriffsdatum 3. -ctime Erstelldatum o -ls Long Listing (entspricht ls l i ) - -exec kompletten Befehl einbauen (für Dateien/Ordner) o z.b. Backup: find ~ -mtime -7 exec cp {} /mnt/usb1 \; alle Dateien, die in den letzten 7 Tagen verändert wurden, werden auf USB1 kopiert o { } Platzhalter (jede gefundene Datei wird dort eingebaut) o \; Eingebauten Befehl beenden - ps Aktuell laufende Prozesse anzeigen o -e alle Prozesse o -ef alle Prozesse, auch anderer User - kill Killt Prozess o <Prozess-ID> o -9 Prozess wird trotz Fehler gekillt (z.b. kill -9 4462) - sleep Schlafen o z.b. sleep 60 60 Sekunden passiert nichts - & Wird als Hintergrundprozess ausgeführt, z.b. sleep 60& Die Shell kann ganz normal weiterverwendet werden - cat Textfile anzeigen o [Textfile1] [Textfile2], z.b.: cat /etc/passwd - grep In Textfile suchen o grep <Suchmuster> [Textfile], z.b. grep root /etc/passwd o Suchmuster (reguläre Ausdrücke): 1.. Beliebiges Zeichen 2. ^ Wort steht am Beginn der Zeile 3. $ Wort steht am Ende der Zeile 4. [ ] 1 Zeichen der Menge o z.b. grep ^root /etc/passwd o -a Findet auch in WIN-Notepad-Dateien - wc Word count o -l Lines - Zeilen o -w Words - Wörter - > Umleitung o Output wird in Textfile umgeleitet o >> Wird dem Textfile hinzugefügt
o 2> Output 2 (Fehlermeldungen) werden in ein Textfile weitergeleitet o z.b. find /etc -name "a*" > /tmp/usr_lib_files 2> /tmp/usr_lib_files.errors Erfolgsmeldungen in die eine, Errors in die andere Datei o z.b. find /etc -name "a*" > /tmp/usr_lib_files 2>&1 Errors und Erfolg im gleichen File - Pipeline, zwei unabhängige Befehle o z.b. cat frosch.txt wc -w zählt Wörter vom Frosch-Text - sort Sortieren o [Optionen] [Pfad] o A-Z durchsoritiert o Sortiert Text, keine Zahlen (z.b. 1,10,120,2) o -t <Trennzeichen (z.b. ;/,/:)> Tabelle z.b. t; CSV o -k <n> Zu sortierende Spalte z.b. -k3 o -n Nummerische Sortierung (z.b. 1,2,10) o -r Umgekehrt (Z-A) - tail Nur das Ende des Datenstroms anzeigen o Standard: tail n10 Nur die letzten 10 Zeilen werden ausgegeben o head Anfang des Datenstroms - tar Tool zur Dateiarchivierung, Backup/Restore Tape ARchiver o <Optionen> <Ziel> <Quelle> o Optionen: 3 Sektionen, richtige Reihenfolge nötig 1. Sektion c Archiv erzeugen x Daten auspacken t Inhalt auflisten r Dateien hinzufügen 2. Sektion v Verbosity Mode (erweiterte Ausgabe) z Mit GZIP komprimieren 3. Sektion f File