Sammlung praktischer Linux-Befehle: Unterschied zwischen den Versionen
Moses (Diskussion | Beiträge) (→Suchen und Ersetzen ohne einen Editor zu öffnen) |
Moses (Diskussion | Beiträge) |
||
| Zeile 1: | Zeile 1: | ||
| + | ==Prozess starten und überwachen welche Dateien er nutzt== |
||
| + | $prozess $parameter & strace -p $(pgrep $prozess |grep -P "[0-9]*$") -e open |
||
| + | statt open kann man auch lstat bzw. access probieren |
||
==Verzeichnisinhalt zeilenweise und maschinenlesbar auflisten== |
==Verzeichnisinhalt zeilenweise und maschinenlesbar auflisten== |
||
ls -1Ab #das erste zeichen hinter - ist eine eins, kein kleines L! |
ls -1Ab #das erste zeichen hinter - ist eine eins, kein kleines L! |
||
Version vom 28. April 2012, 20:49 Uhr
Inhaltsverzeichnis
- 1 Prozess starten und überwachen welche Dateien er nutzt
- 2 Verzeichnisinhalt zeilenweise und maschinenlesbar auflisten
- 3 Suchen und Ersetzen ohne einen Editor zu öffnen
- 4 Rückgängigmachen von versehentlichen Deinstallationen
- 5 gefilterte Prozessausgabe ohne grep-Prozess
- 6 grep mit mehreren Strings
- 7 Fehler direkt entsorgen
- 8 Pfad zu den USB-Geräten einer bestimmten VendorID finden
- 9 Dateien in umgekehrter Nummerierung umbenennen
- 10 siehe auch
Prozess starten und überwachen welche Dateien er nutzt
$prozess $parameter & strace -p $(pgrep $prozess |grep -P "[0-9]*$") -e open
statt open kann man auch lstat bzw. access probieren
Verzeichnisinhalt zeilenweise und maschinenlesbar auflisten
ls -1Ab #das erste zeichen hinter - ist eine eins, kein kleines L!
(praktisch zum Weiterverarbeiten der Liste mit einer for Schleife; ggf vorher grepen usw.)
Suchen und Ersetzen ohne einen Editor zu öffnen
v.a. um Werte in configdateien zu ändern etc.
sudo sed -i 's/firefox.desktop/chromium-browser.desktop/g' /usr/share/applications/defaults.list
im Beispiel wird Chromium für alles als Standardprogramm gesetzt, wofür bisher Firefox zuständig war.
Rückgängigmachen von versehentlichen Deinstallationen
sudo apt-get install $(for i in $(cat /var/log/dpkg.log |grep -oP "(?<=`date +%Y-%m-%d`\s\d\d\:\d\d:\d\d\sremove)\s\S*\s"); do echo -n "$i "; done;)
Der Befehl stellt alles "heute" deinstallierte wieder her.
relatiert:
[00:40:53 CEST] Moses: und als warnung: verwedendet besser nicht tasksel, macht nur probleme :-D
gefilterte Prozessausgabe ohne grep-Prozess
ps ax | grep <myprocess> | grep -v grep
besser ist jedoch, pgrep zu nutzen:
pgrep -fl <myprocess>
bzw. um nur die PID zu ermitteln (hat allerdings den Nachteil, dass der Prozessname exakt angegeben werden muss (-> bashcompletion nutzen: pidof sky<TAB> -> pidof skype):
pidof <myprocess>
grep mit mehreren Strings
grep string1\|string2
Siehe auch: http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck
Fehler direkt entsorgen
fehlerproduzierenderprozess 2> /dev/null
Ein Anwendungsfall folgt:
Pfad zu den USB-Geräten einer bestimmten VendorID finden
147e ist hier die VendorID
for i in /sys/bus/usb/devices/*-*; do if [[ $(cat $i/idVendor 2> /dev/null) == *147e* ]]; then echo $i ; fi ; done;
Dateien in umgekehrter Nummerierung umbenennen
Im aktuellen Verzeichnis wird der Ordner <neuer Ordner> erstellt, in dem sich die Dateien nach dem Umbennen befinden. Sonst kommt es ohne Benutzung eines prefixes zu Komplikationen.
mkdir <neuer Ordner>; j=<Anzahl Dateien>; for i in *.foo; do mv "$i" "./<neuer Ordner>/<prefix>$j.foo"; let j--; done