remove blank lines from text file

sed '/^$/d' /path/to/input/file.txt > output.txt
grep -v '^$' /path/to/input/file.txt > output.txt
#!/bin/bash
files="/path/to/input/files/*.txt"
for i in $files
do
  sed '/^$/d' $i > $i.out
  mv  $i.out $i
done
#!/bin/bash
files="/path/to/input/files/*.txt"
for i in $files
do
  sed '/^ *$/d' $i > $i.out
  mv $i.out $i
done

SSH over SOCKS Proxy

ssh server.tld -o ProxyCommand='nc -x proxy.tld:1234 %h %p'

makes use of ‘netcat-openbsd’

ssh server.tld -lBenutzer -p2210 -o ProxyCommand='nc -x proxy.tld:1234 %h %p'
sftp -P2210 -o "ProxyCommand nc -x proxy.tld:1234 %h %p" Benutzer@server.tld:/path/to/file.ext .
rsync -e "ssh -lBenutzer -p2210 -o ProxyCommand='nc -x proxy.tld:1234 %h %p'" server.tld:/path/to/file .

virsh cheat sheet

list guests:

virsh list --all

Show guests info:

virsh dominfo $vmname

Start guest:

virsh start $vmname

Shutdown guest:

virsh shutdown $vmname

Poweroff guest:

virsh destroy $vmname

Suspend guest:

virsh suspend $vmname

Resume guest:

virsh resume $vmname

Create guest from XML:

virsh create xml_file.xml

Dump guest XML:

virsh dumpxml $vmname

Modify guest:

virsh edit $vmname

Remove guest definition:

virsh undefine $vmname

Save guest state:

virsh save $vmname $state_file

Restore guest state:

virsh restore $state_file

Create guest:

virt-install --name=$vmname --arch=x86_64 --vcpus=1 --ram=1024 --os-type=linux --os-variant=generic26 --hvm --connect=qemu:///system --network bridge:virbr0 --cdrom=/where/ever/u/store/isos/arch.iso --disk path=/where/ever/u/wish/guest.img,size=20 --accelerate --vnc --noautoconsole --keymap=de

Migrate guest:

virsh migrate --live --copy-storage-inc --verbose $vmname qemu+ssh://destination/system

Linux SSHFS usage in fstab

on e.g. Debian you have to install

aptitude install sshfs

edit /etc/fstab and add the line

sshfs#user@123.123.123.123:/what/ever/remote/	/where/you/wish/local/	fuse	uid=1003,gid=100,umask=0,allow_other,_netdev,ro		0	0

or directly in shell:

sshfs user@123.123.123.123:/what/ever/remote/ /where/you/wish/local/ -o idmap=user -o uid=1000 -o gid=100 -o umask=0 -o allow_other -o ro

Build RetroShare 0.5.4f on Debian 7 Wheezy

install required packages

aptitude install libgpg-error-dev libupnp-dev libssl-dev libgnome-keyring-dev libxss-dev subversion gnupg-agent libupnp3 libqt4-dev g++ libgpgme11-dev
aptitude install g++ libgnome-keyring-dev libqt4-dev libxss-dev libssl-dev libupnp-dev subversion libbz2-dev libprotobuf-dev protobuf-compiler cmake

get latest SVN

svn co svn://svn.code.sf.net/p/retroshare/code/trunk retroshare

Compile/Make RetroShare

cd libbitdht/src && qmake && make clean && make -j2 && cd ../../
cd openpgpsdk/src && qmake && make clean && make -j2 && cd ../../
cd libretroshare/src && qmake && make clean && make -j2 && cd ../../
cd retroshare-gui/src && qmake && make clean && make -j2

Source
http://retroshare.sourceforge.net/wiki/index.php/UnixCompile

PHPInfo in Bootstrap Style

Einfach in den Body der Bootstrap Seite reinkopieren.
<?php
ob_start();
phpinfo();
$phpinfo = ob_get_clean();

# Body-Content rausholen
$phpinfo = preg_replace('#^.*<body>(.*)</body>.*$#s', '$1', $phpinfo);
# XHTML-Fehler korrigieren
$phpinfo = str_replace('module_Zend Optimizer', 'module_Zend_Optimizer', $phpinfo);
# <font> durch <span> ersetzen
$phpinfo = str_replace('<font', '<span', $phpinfo);
$phpinfo = str_replace('</font>', '</span>', $phpinfo);
#Table
$phpinfo = str_replace( 'border="0" cellpadding="3"', 'class="table table-bordered table-striped" style="table-layout: fixed;word-wrap: break-word;"', $phpinfo );
$phpinfo = str_replace('<tr class="h"><th>', '<thead><tr><th>', $phpinfo);
$phpinfo = str_replace('</th></tr>', '</th></tr></thead><tbody>', $phpinfo);
$phpinfo = str_replace('</table>', '</tbody></table>', $phpinfo);
# Schlüsselwörter grün oder rot einfärben
$phpinfo = preg_replace('#>(on|enabled|active)#i', '><span class="text-success">$1</span>', $phpinfo);
$phpinfo = preg_replace('#>(off|disabled)#i', '><span class="text-error">$1</span>', $phpinfo);

echo '<div id="phpinfo">';
echo $phpinfo;
echo '</div>';
?>

Copy Image via netcat

This is for a High-Bandwidth Network. If you have a Low-Bandwidth Network you can try to switch lzo with bzip2.

Target:
nc -v -l -p 19000 | lzop -c -d | pv -s 70G | dd bs=16M of=/root/foo.img

  1. listen on port 19000 for connections.
  2. decompress the datapackages.
  3. pv displays a status bar.
  4. and wirte them into a file.

Source:
dd bs=16M if=/root/bar.img | lzop -3 -c | nc -v 10.0.01 19000

  1. dd reads the file in 16MB Blocks.
  2. each block will be compressed with lzo.
  3. nc connects 10.0.01 on port 19000 and pushes data.