Linux_LPI-101_04
Linux_LPI-101_014
Linux_LPI-101_014
-
- 1 / 54
-
Flashcards
lsof | grep oracle | wc -l
updatedb
sort (-n für numerisch)
sort -t : -k 3n -r /etc/passwd (-t=Trennzeichen, -k Spalte, n=es handelt sich um eine numerische spalte, -r=rekursiv)
uniq (ohne optionen wird die erste vorkommende Zeile ausgegeben, die nachfolgenden solange enfernt bis wieder eine unterschiedliche Zeile kommt)
ps -e --no-headers -o user | sort | uniq -c (-e=select all process, --no-headers=Kein headerzeile, -o=userspecific format, -c=count)
tr (from standard input, writing to standard output)
tr : "t" < /etc/passwd (nur Ausgaben, mit "> NewFile" erweitern um in eine neue Datei zu speichern.)
expand (Bsp: tr : "t" < /etc/passwd | expand -t 15,17,23,29,60,80)
unexpand ("spaltebreiten" in allen Zeilen müssen im File bereits identisch sein)
cat -T
fmt (z.B Zeilenumbruch nach 30 Zeichen -> fmt -w 30 )
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
pr (Bsp: wget -q -0 - www.gnu.org/licenses/plt-3.0.txt | pr)
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
head (head -n 4= die ersten 4 Zeilen)
tail (tail -n 4= die letzten 4 Zeilen)
dd if=/dev/sda count=1 bs=1M | hexdump (Ausgabe wäre sonst nicht lesbar, count=1File, bs=grösse)
od (z.B dd if=/dev/sda count=1 bs=1M | od -t x2 -> wird es hexadezimal ausgegeben)
pvs
sed y/ac/bg/ /etc/hosts (das File selbst bleibt unverändert)
sed 's/127.0.0/192.168.0/' -i /etc/hosts (-i=inplace edit, das File wird angepasst)
sed -e '/localhost/d' /etc/hosts (Nur Ausgabe, File bleibt unverändert)
tr aeg bfh < test (tr nimmt von Std input nach Std output)
cp -r /tmp/test /etc
mv "source" "destination"
rmdir /tmp/test (wenn Ordner nicht leer ist, dann Option -r, falls ohne nachfrage "soll es gelöscht werden" -f)
[abc]=Zeichen a,b,c muss vorkommen, [^abc]=Zeichen a,b,c darf nicht vorkommen, *=beliebige Zeichen, ?= ein beliegiges Zeichen
normale Dateien (f), Verzeichnisse (d), Symbolische links (l), Blockdevices/Gerätedateien (b), Character Devices (c), pipes (p), socket (s)
find "verzeichniss" -type "Dateityp" z.B. f=file
find / -mount -size +50M 2>/dev/null
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)
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)
diff Datei1 Datei2
tar (-c=erstellen, -t=anschauen , -x=auspacken, -d=vergleichen)
tar -cf archiv.tar doc/ (zum komprimieren -> tar -czf archiv.tgz doc/ )
tar -tf archiv.tar
tar -xf achiv.tar
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.