Sammlung praktischer Linux-Befehle: Unterschied zwischen den Versionen
Felix (Diskussion | Beiträge) (→grep mit mehreren Strings: Link verschönert) |
Felix (Diskussion | Beiträge) |
||
| Zeile 1: | Zeile 1: | ||
| + | ==ssh ohne Passwort aber mit Passphrase== |
||
| + | ssh-keygen #Passphrase NICHT leer lassen |
||
| + | ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-system |
||
| + | in die ~/.profile |
||
| + | <source lang=bash> |
||
| + | SSH_ENV="$HOME/.ssh/environment" |
||
| + | |||
| + | function start_agent { |
||
| + | echo "Initialising new SSH agent..." |
||
| + | /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" |
||
| + | echo succeeded |
||
| + | chmod 600 "${SSH_ENV}" |
||
| + | . "${SSH_ENV}" > /dev/null |
||
| + | /usr/bin/ssh-add; |
||
| + | } |
||
| + | |||
| + | # Source SSH settings, if applicable |
||
| + | if [ -f "${SSH_ENV}" ]; then |
||
| + | . "${SSH_ENV}" > /dev/null |
||
| + | ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { |
||
| + | start_agent; |
||
| + | } |
||
| + | else |
||
| + | start_agent; |
||
| + | fi |
||
| + | </source> |
||
| + | |||
==PulseAudio simultan mit zwei Quellen== |
==PulseAudio simultan mit zwei Quellen== |
||
===Einrichten mit zwei Soundkarten=== |
===Einrichten mit zwei Soundkarten=== |
||
Version vom 30. Mai 2014, 13:40 Uhr
Inhaltsverzeichnis
- 1 ssh ohne Passwort aber mit Passphrase
- 2 PulseAudio simultan mit zwei Quellen
- 3 Prozess starten und überwachen welche Dateien er nutzt
- 4 Verzeichnisinhalt zeilenweise und maschinenlesbar auflisten
- 5 Suchen und Ersetzen ohne einen Editor zu öffnen
- 6 Rückgängigmachen von versehentlichen Deinstallationen
- 7 gefilterte Prozessausgabe ohne grep-Prozess
- 8 grep mit mehreren Strings
- 9 Fehler direkt entsorgen
- 10 Pfad zu den USB-Geräten einer bestimmten VendorID finden
- 11 Dateien in umgekehrter Nummerierung umbenennen
- 12 Tooltip-Farben ändern
- 13 Netzwerk nach Hosts scannen (Fing)
- 14 siehe auch
ssh ohne Passwort aber mit Passphrase
ssh-keygen #Passphrase NICHT leer lassen ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-system
in die ~/.profile
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
echo "Initialising new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
echo succeeded
chmod 600 "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add;
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
PulseAudio simultan mit zwei Quellen
Einrichten mit zwei Soundkarten
- Senke und virtuelle Quellen erzeugen:
pactl load-module module-null-sink sink_name=mix pactl load-module module-loopback sink=mix pactl load-module module-loopback sink=mix
- In pavucontrol unter Aufnahme (All Streams anzeigen) für die beiden Loopbacks die gewünschten Quellen einstellen (z.B. Mic und Monitor einer Soundkarte).
- Monitor of Null-Ausgabe als Quelle für den Ziel-Stream auswählen.
Module entfernen
einzelne Module entfernen:
pactl unload-module <ID>
Default-Einstellungen laden:
pulseaudio -k
Siehe auch: Linux und Ich
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 stat, lstat bzw. access probieren.
- Falls man das Ergebnis "grepen" will, muss dem "| grep xy" ein "2>&1" vorangestellt werden, da die Ausgabe seltsamerweise auf stderr gegeben wird.
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: Reguläre Ausdrücke
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
Tooltip-Farben ändern
zu ändernde Dateien:
/usr/share/themes/<Theme>/gtk-3.0/settings.ini /usr/share/themes/<Theme>/gtk-3.0/gtk.css /usr/share/themes/<Theme>/gtk-2.0/gtkrc
Nach tooltip foreground und background (fg/bg) suchen und ändern. Z.B. in "tooltip_bg_color:#000000\ntooltip_fg_color:#F5F5B5".
Netzwerk nach Hosts scannen (Fing)
sudo nmap -sP 192.168.178.20-40