Linux_LPI-101_04

Linux_LPI-101_014

Linux_LPI-101_014


Roger Aschwanden
Diese Karteikarten bieten eine grundlegende Einführung in die Dateiverwaltung und -bearbeitung in Linux. Sie decken Themen wie das Vergleichen, Komprimieren, Archivieren und Suchen von Dateien sowie das Arbeiten mit Verzeichnissen ab. Die Karteikarten sind ideal für Anfänger, die die grundlegenden Linux-Befehle für die Dateiverwaltung erlernen möchten.
Cartes-fiches
54
Utilisateurs
4
Langue
Allemand
Catégorie
Informatique
Créé / Mis à jour
22.11.2013 / 20.09.2015

Cartes-fiches

command um Anzahl der openFiles des Users oracle anzuzeigen

lsof | grep oracle | wc -l

command um Indexierung zu aktualiesieren, z.B damit locate "file" aktuell ist

updatedb

command um Ausgaben zu sortieren, option für numerisch

sort (-n für numerisch)

command um /etc/passwd nach der 3 Spalte (numerische Spalte) zu sortieren

sort -t : -k 3n -r /etc/passwd (-t=Trennzeichen, -k Spalte, n=es handelt sich um eine numerische spalte, -r=rekursiv)

command um doppelte Einträge (welche aufeinanderfolgen) zu enfernen

uniq (ohne optionen wird die erste vorkommende Zeile ausgegeben, die nachfolgenden solange enfernt bis wieder eine unterschiedliche Zeile kommt)

command um die Anzahl Prozesse jedes users auszugeben

ps -e --no-headers -o user | sort | uniq -c (-e=select all process, --no-headers=Kein headerzeile, -o=userspecific format, -c=count)

command um Zeichen zu löschen oder ändern

tr (from standard input, writing to standard output)

command um alle : (Trennzeichen) in /etc/passwd mit "Tabulatoren" zu ersetzen

tr : "t" < /etc/passwd (nur Ausgaben, mit "> NewFile" erweitern um in eine neue Datei zu speichern.)

command um Tabulatorengetrennte Files auszugeben

expand (Bsp: tr : "t" < /etc/passwd | expand -t 15,17,23,29,60,80)

command und beliebig aufeinanderfolgende Leerzeichen in jeweils 1 Tabulator zu ersetzen.

unexpand ("spaltebreiten" in allen Zeilen müssen im File bereits identisch sein)

comamnd um Tabulatoren in einer Datei anzuzeigen

cat -T

command um Texte zu formatieren, z.B. Zeilenumbruch nach 30 zeichen

fmt (z.B Zeilenumbruch nach 30 Zeichen -> fmt -w 30 )

Information: &, bg, fg, "Ctrl+z", jobs

Mit einem & kann ein command im Hintergrund gestartet werden. Ctrl+z hält die momentane Aufgabe an, mit bg kann "die Aufgabe" wieder gestartet werden. Jobs zeigt eine Liste der "Aufgaben/Prozesse" im Hintergrund an. "fg" holt die Aufgabe wieder in den Fordergrund

command um Ausgabe "Seitenweise" mit Seitennummern/Datum auszugeben

pr (Bsp: wget -q -0 - www.gnu.org/licenses/plt-3.0.txt | pr)

command um 2 Files zusammenzuführen, Anwendungszweck?

Bsp1: join file1 file2 (funktioniert mit sortierten Listen) Bsp2: join -t: -1 4 -2 3 -o 1.1 2.1 /etc/passwd /etc/group (-t=delimiter, "-1 4"=4 Spalte im 1ten-File, "-2 3"=3 Spalte im 2ten File, "-o 1.1 2.1"=erste Spalte im ersten File und erste Spalte im 2ten File ausgeben) Funktioniert so nicht sauber, kein Anwendungsfall bekannt

command um die ersten Zeilen auszugeben (default ist 10)

head (head -n 4= die ersten 4 Zeilen)

command um die letzten Zeilen auszugeben (default ist 10)

tail (tail -n 4= die letzten 4 Zeilen)

command um z.B den Masterboot record in HEX Werten auszugben

dd if=/dev/sda count=1 bs=1M | hexdump (Ausgabe wäre sonst nicht lesbar, count=1File, bs=grösse)

command um Ausgabe in anderen Formaten anzuzeigen,

od (z.B dd if=/dev/sda count=1 bs=1M | od -t x2 -> wird es hexadezimal ausgegeben)

command um Informationen über Physikalische Volumes anzuzeigen

pvs

command um alle "a" durch ein "b" und alle "c" durch ein "g" in /etc/hosts zu ersetzen und auszugeben (nicht tr).

sed y/ac/bg/ /etc/hosts (das File selbst bleibt unverändert)

command um "Wörter" in einem File zu ersetzen, 127.0.0 durch 192.168 in /etc/hosts

sed 's/127.0.0/192.168.0/' -i /etc/hosts (-i=inplace edit, das File wird angepasst)

command um Zeile mit gewissen "Inhalt" zu löschen, z.B. Alle Zeilen mit localhost in /etc/hosts

sed -e '/localhost/d' /etc/hosts (Nur Ausgabe, File bleibt unverändert)

command um Zeichen zu ersetzen, a->b, e->f, g->h (nicht sed) von Datei test

tr aeg bfh < test (tr nimmt von Std input nach Std output)

command um Verzeichnis /tmp/test nach /etc zu kopieren

cp -r /tmp/test /etc

command um Dateien und Verzeichnisse zu verschieben

mv "source" "destination"

command um Verzeichnis /tmp/test zu löschen (leeres Verzeichnis, ohne Nachfragen)

rmdir /tmp/test (wenn Ordner nicht leer ist, dann Option -r, falls ohne nachfrage "soll es gelöscht werden" -f)

Suchmuster in der Shell

[abc]=Zeichen a,b,c muss vorkommen, [^abc]=Zeichen a,b,c darf nicht vorkommen, *=beliebige Zeichen, ?= ein beliegiges Zeichen

Die 7 Dateitypen, z.B. für suche nach Dateityp -> find "verzeichniss" -type "Dateityp"

normale Dateien (f), Verzeichnisse (d), Symbolische links (l), Blockdevices/Gerätedateien (b), Character Devices (c), pipes (p), socket (s)

command um datei nach einem Dateityp zu suchen

find "verzeichniss" -type "Dateityp" z.B. f=file

command um nach Dateien grösser als 50MB zu suchen (nur auf lokal gemounteten disks), Fehler nicht ausgeben.

find / -mount -size +50M 2>/dev/null

Nach Dateien suchen die neuer sind als z.B. ein erst gerade angelegetes File (Es kann so nach geänderten Files nach einem command gesucht werden)

find / -mount -newer /tmp/new.file

command um allen Files im Verzeichnis dir/, write Rechte der Gruppe geben (nicht xargs, Unterschied?).

find dir/ -type f -exec chmod g+w {} \; ({}=jedes gefundene File, ;=ende von execute, \=um ; zu schützen-würde sonst von find interpretiert)(langsamer als mit xargs da chmod für jedes einzelne File ausgeführt wird)

command um allen Files im Verzeichnis dir/, write Rechte der Gruppe geben (nicht -exec, Unterschied?).

find dir/ -type f -print0 | xargs chmod g+w (-print0=gibt FullFileName weiter-gibt sonst Probleme bei Leerzeichen für xargs, schneller als mit -exec da druch xargs chmod mehrere "files" in einem command mitgegeben werden, so viel wie möglich)

command Vergleichen von Dateien / Verzeichnissen zeilenweise (Datei1, Datei2)

diff Datei1 Datei2

command zum archivieren (nicht cpio), Option für: erzeugen, anschauen, auspacken, vergleichen

tar (-c=erstellen, -t=anschauen , -x=auspacken, -d=vergleichen)

command um Ordner und Inhalt von doc/ in archiv.tar zu packen, und komprimieren

tar -cf archiv.tar doc/ (zum komprimieren -> tar -czf archiv.tgz doc/ )

command um archiv.tar anzuschauen

tar -tf archiv.tar

command um archiv.tar auszupacken

tar -xf achiv.tar

Anwendung: mit tar Dateien direkt über das Netz senden. Doc/ nach archiv.tar auf 192.168.1.5

tar -c doc/ | ssh 192.1686.1.5 'cat > archiv.tar' (da kein File angegeben wird, geht es an StdOutput und wird via ssh direkt in archiv.tar auf dem remote System gespeichert.

Étudier