warning: Creating default object from empty value in /data/web/1/000/027/003/273448/htdocs/ on line 33.

OpenOffice Macros with Basic

Create new Macro
Extras > Makros > Makros verwalten > Makro...
Meine Makros > Standard > Neu
# open a external application (v1)
Sub Main
	item = ThisComponent.getCurrentSelection.String
	If len(item) > 0 then
		rem msgbox "Selection: " & item
		item = UCase(item)
		oService = createUnoService("")
		oService.execute("/media/programme/starter/scripts/", "item_id=" & item, 0)
End Sub
# open a external application (v2)
Sub Main
selectedRow = ThisComponent.CurrentSelection.getRangeAddress.StartRow
itemId = ThisComp

tar zcf - /home/${USER} | ssh root@${TARGET} "cd /home/; tar zpxvf -; chown ${USER}.${USER} -R ${USER}"


# Links


delete files with auto close message
rm /media/CAMCARD/DCIM/100NIKON/*.JPG; sync; sleep 1 | zenity --title CleanCAMCARD --progress --auto-close

view message
zenity --info --text "blah"


# and
if [ "$foo" == "a" ] && [ "$bar" == "b" ]; then
 # or
if [ "$foo" == "x" ] || [ "$bar" == "y" ]; then
# both
if ( [ "$a" == "a" ] || [ "$a" == "b" ] ) && ( [ "$b" == "c" ] ); then
# enable color output systemwide for ls and grep
cat <<EOF>> /etc/profile.d/
alias ls='ls --color=auto'
alias grep='grep --color=auto'
# get exitcode prevoius command
# redirect stdout AND stderr to file
COMMAND &> file.out
# sequence
echo {,my-}host{1,{3..5},9,10}
echo $(seq 1 4)
# for loop
for ((i=START; i<=END; i++)); do

Send HTML mail from command line (Newsletter)

LOG=./nl_de_$(date -I).log
# send 
for i in $(cat $INPUT); do
   mail -a 'Content-type: text/html;' -s "$SUBJECT" "$i" < $CONTENT
   echo "$i - $?" | tee -a $LOG


# remove multiple blanks and tabs
cat in.txt | sed "s/[ \t][ ]*/ /g" > out.txt

# remove blanks from beginning
cat in.txt | sed 's/^[ \t]*//' > out.txt

# Comparing content of two files
comm -12 <(sort FILE1.txt) <(sort FILE2.txt)

# Split file to DVD-R size
split -b 4400m -d file.dd.bz2 file.dd.bz2.

# Fix file permissions
find /media/images/ -type f -exec chmod 666 {} \;

# Extract RPM archiv
rpm2cpio FILENAME | cpio -i --make-directories

# Extract cue / bin image
sudo apt-get install -y bchunk
bchunk file_name.bin file_name.cue file_name.iso

# Get file atime, mtime, ctime
stat FILE

# Change mtime from a file
touch -d "2005-05-05 15:55:55" FILE

# Create selfextract archive under Linux [-bzip2] DIR "DESCRIPTION" COMMAND

# Create Linux software RAID
mdadm --create /dev/md2 --level=raid5 --raid-devices=4 --spare-devices=0 /dev/sdb4
/dev/sdc4 /dev/sdd4

# Wake On Lan (WOL)
wakeonlan 00:11:22:33:44:55

# Change root and start bash
chroot /mnt /bin/bash

# Enable / Disable swap
swapoff -a
swapon -a

# extract initrd.gz
gunzip < initrd.gz | cpio -i --make-directories

# extract initrd.lz
unlzma -c -S .lz ../initrd.lz | cpio -id

# compress initrd
find ./ | cpio -H newc -o > ../initrd
gzip ../initrd

# Extract *.deb
dpkg-deb -x file.deb /tmp

# Find package for a file
dpkg-query -S FILE_NAME

# Add script to a runlevel
update-rc.d apache2 defaults
sudo update-rc.d providername start 90 2 3 5 . stop 10 0 1 4 6 .

# disable sysv service / remove script from runlevel
update-rc.d -f avahi-daemon remove

# Most used commands
history | awk '{print $2}' | sort | uniq -c | sort -rn | head

# VNC on slow connection
xtightvncviewer -compresslevel 9 -quality 0
xvnc4viewer -ZlibLevel 9 -LowColourLevel 0

# Format partition as FAT16
mkdosfs -F 16 -n SDCARD /dev/sdd1

# Forcing kernel to use new partition table after fdisk

# list blocking prozesses
lsof /mnt

# add a existing user to existing group

# allow user to administrate system (add to adm group)
usermod -a -G adm ${USER}

# Delete user from group
edit /etc/group and remove user name
usermod -G group1, group2, group3,... USERNAME
# test gpasswd

# Mount SSH
sshfs user@ /mnt

# unmask
global: /etc/profile
echo "umask 0000" >> ~/.profile

# check for listening ports
netstat -anp | grep 1234
lsof -i | grep 1234

# dpkg install force-architecture
dpkg  --force-architecture -i *.deb

# display bandwidth usage

# log loadavg
echo "$(date) $(cat /proc/loadavg)" >> loadavg.log

# convert qcow2 to raw image
qemu-img convert -f qcow2 root.qcow2 -O raw root.raw

# losetup
losetup -a - list all used devices
losetup -d loop_device - delete loop
losetup -f -  print name of first unused loop device

# reconfigure keyboard / console
dpkg-reconfigure console-setup

# kill all prozess from a user
ps -u USERNAME |  awk '{print $1}' | xargs kill -9

# view nfs shares
showmount --exports

# connect with gnome nautilus to ssh

# disable monitor power save (disable DPMS)
xset -dpms

# disable console, x11 screensaver
xset s 0 0
xset s noblank
xset s off
xset -dpms
setterm -blank 0
setterm -powersave off
setterm -powerdown 0

# force umount
sudo umount -l -f /mnt/mountpoint

# convert nero cd image to iso
nrg2iso infile.nrg outfile.iso

# enable harddisk udma mode
hdparm -d1 /dev/hda

# remove multiple spaces from a string
cat x.txt | tr -s " "

# create uniqe file from two files
dos2unix adr_*.txt;  cat adr_hp.txt adr_sel.txt | sort | uniq > adr_uniq.txt

# copy files between hosts with SSH and tar
tar -cf - /some/file | ssh tar -xf - -C /destination

# read cd volume label
dd if=/dev/hdd bs=1 skip=32808 count=32 2> /dev/null | tr -d " "

# rebuild initrd
gzip -d miniroot.gz; mount miniroot /mnt/ -o loop; vi /mnt/linuxrc; gzip --best miniroot

# Fix slow SSH login
echo "UseDNS no" >>  /etc/ssh/sshd_config

# set hostname
echo myhost.local > /etc/hostname; /etc/init.d/ start

# start xterm in Xorg session
cat <<EOF> $HOME/.xsession

# change language temporary on command line
export LANG="en_US.UTF-8"

# fix broken package with apt-get (dpkg)
rm /var/lib/dpkg/info/PACKAGE_NAME*
dpkg –remove –force-depends –force-remove-reinstreq PACKAGE_NAME

# configure timezone
dpkg-reconfigure tzdata

# change password non interactive
echo "root:terceS" | chpasswd

# set user random password (to enable login)
echo "username:$(openssl rand -base64 32)" | chpasswd

# generate password
tr -dc "[:alnum:][:punct:]" < /dev/urandom | head -c 12; echo \n

# generate strong password
apg -a 1 -m 32

# MD5-Hash password
echo terceS | mkpasswd -s -H MD5

# delete user password
passwd -d <USERNAME>

# clean mbr
dd if=/dev/zero of=/dev/sdb bs=446 count=1

# create checksum
echo "foo" | md5sum

# create tmpfs
cat <<EOF>> $TARGET/etc/fstab
tmpfs   /tmp   tmpfs   defaults   0   0

# display volume label
e2label /dev/sda1 

# change volume label
e2label /dev/sda1 newlabel
# or
tune2fs -L newlabel /dev/sda1

# clean ubuntu trash
sudo rm -rf ~/.local/share/Trash/files/*

# convert ISO-8859-1 to UTF-8
iconv --from-code=ISO-8859-1 --to-code=UTF-8 > file.out > file.out

# Extract Windows cab file
cabextract CAB_FILE_NAME.exe

# set recursive directory rights
find . -type f -exec chmod 644 {} \;

# extract pages from PDF file
pdftk IN.pdf cat 1-5 output OUT.pdf
pdftk IN1.pdf IN2.pdf output OUT.pdf
pdftk in.pdf multistamp stamp.pdf output out.pdf

# merge pdf sites to a single dokument
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile=out.pdf *.pdf
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dPDFSETTINGS=/ebook -dPDFFitPage -sOutputFile=OUT.pdf IN.pdf

# Convert PDF to JPGs
gs -dNOPAUSE -sDEVICE=jpeg -sOutputFile=image%d.jpg -dJPEGQ=94 -r72x72 -q INPUT_FILE.pdf -c quit

# convert JPGs to PDF
apt-get install imagemagick
convert *.jpg pictures.pdf

# Ubuntu german locale
locale-gen de_DE.UTF-8
echo 'LANG="de_DE"' > /etc/default/locale
cat <<EOF>> ~/.bashrc
export LANG=de_DE.UTF-8
export LC_ALL=de_DE.UTF-8

# convert charcode
iconv --from-code=UTF-8 --to-code=ISO-8859-1 IN.txt > OUT.txt

# find duplicate files / images
fdupes -r -f -1 PHOTO_DIR > /tmp/duplicates.txt
mkdir duplicates1
cat /tmp/duplicates.txt | xargs  mv -i --target-directory ./duplicates1/

# disable Nvidia logo on Xorg start (/etc/X11/xorg.conf)
Section "Device"
	Option		"NoLogo"	"True"

# Reload gnome panels
killall gnome-panel
#? killall gnome-panel nautilus

# SSH X11 forward
ssh -Y YOUR_SERVER -l YOUR_USER xclock

# Mirror a homepage with wget (
wget  -m --reject=pdf,jpg,gif,png,flv,m4v

# Join / combine flv files
mencoder -forceidx -of lavf -oac copy -ovc copy -o Output.flv File_1.flv File_2.flv File_3.flv File_4.flv File_5.flv

# format DVD-RW
dvd+rw-format -force /dev/cdrom

# update kernel partition table
apt-get install -y parted && partprobe

# sync files from webserver
wget -m -np -nH --cut-dirs=1 --reject="index*"#

# view disk UUID
blkid /dev/sda1

# mount ftp
sudo apt-get install -y curlftpfs
sudo curlftpfs /mnt/

# Extract or convert CUE/BIN files to ISO image
sudo apt-get install bchunk
bchunk FILE_IN.bin FILE_IN.cue FILE_OUT

# Split a file</string>
split -d -b 10M archiv.tar split-archiv.tar.

# remove apache logs older then 1 year
find /var/log/apache2/ -type f -mtime +365 -exec rm {} \;

# configure limits

# change MAC address
ifconfig eth0 hw ether 00:11:22:33:44:55

# set systemwide default printer
lpadmin -d printer-name

# set user default printer
lpoptions -d printer-name

# Find the speed of your Ethernet card in Linux
sudo mii-tool eth0
cat /sys/class/net/eth0/speed
cat /sys/class/net/eth0/speed
sudo ethtool eth0

# Backup package list and install on another system (not tested yet)
dpkg --get-selections | grep -v deinstall > DPKG_LIST.txt
dpkg --clear-selections
dpkg --set-selections < DPKG_LIST.txt
apt-get install

# show file with netcat
while true; do { echo -e 'HTTP/1.1 200 OK\r\n'; cat FILE; } | nc -w 1 -l -p 80; sleep 1; done

# Fix german keyboard
setxkbmap -model pc105 -layout de -variant basic

# fix "Some index files failed to download. They have been ignored, or old ones used instead."
sudo rm -rf /var/lib/apt/lists/*
sudo rm -vf /var/lib/apt/lists/partial/*

# scan and convert to jpg
scanimage --format tiff --mode color -l 0 -t 0 -x 105 -y 74 --resolution 150  | convert - ${FILE}

# Extract strings from a binary
sudo apt-get install -y binutils
strings /usr/bin/passwd

# tar multicore / parallel compression (bzip)
sudo apt-get install -y pbzip2
tar -I pbzip2 -cf OUT.tar.bz2 /mnt/

# parallel compression (gzip)
sudo apt-get install -y pigz
tar -I pigz -cf OUT.tar.gz /mnt/

# user specific crontab
# list
crontab -l
# edit
crontab -e
# path

# Exit code from previous commands
ls /foo | wc; echo ${PIPESTATUS[@]}

# add current directory to libraries path

# ionice
ionice -c 3 -p 1184	# set priority for process
ionice -p 1170		# view priority of a process

# find file bigger then 50 MB
find /home -type f -size +50M -exec ls -lh {} \;

# view my public ip

# file write protect
chattr +i /etc/shadow

# find softlinks
find . -type l -exec ls -ld {} \;

# find broken softlinks
find /home/ -type -type l -xtype l

# list deb package dependency
dpkg -I <PACKAGE.deb>

# send POST data from command line
curl --data "user=boo&action=insert" <URL>

# list open ports
netstat -lpnt

# backup crontab
crontab -l > crontab.bkp

# clear crontab
crontab -r

# restore crontab
cat crontab.bkp | crontab -

# backup files only smaller than 10 MB
for DIR in .mozilla .ssh .thunderbird bin foo bar; do
    tar cjf ~/backup/$(date -I).${DIR#.}.tar.bz2 ~/${DIR} --exclude "*~" --exclude-from <(find ~/${DIR} -size +10M)

# get file last modification date
stat file

# extract specific file from tar archive
tar -xvf archive.tar <path/to/file>

# get installed package list from remote host
ssh root@REMOTE dpkg -l | grep ii | cut -d " "  -f3 | sort > /tmp/remote.out

# diff installed packages between hosts
diff <(ssh dpkg -l | grep ii | cut -d" " -f3) <(ssh dpkg -l | grep ii | cut -d" " -f3)

# kill all screen processes older then 1 day
killall --older-than 1d screen

# get DNS informations for a domain
dig ANY

# escape string
s="a string escaped by \ from ${USER}"
echo $(printf '%q' "$s")

# show ssh key length
ssh-keygen -l -f ~/.ssh/

# download recursively http directory
wget --recursive --no-parent --reject "index.html*"

# get CPU / system utilization
cat /proc/loadavg

# backup running system
EXCLUDES="--exclude=dev/* --exclude=proc/* --exclude=sys/* --exclude=tmp/* --exclude=var/log/*"
tar ${EXCLUDES} -cjf /tmp/$(hostname -A).$(date -I).tar.bz2 /

# remove file from tar archive
tar --delete -f archive.tar path/to/file.txt

# restore windows MBR
sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda

# myip
wget -q -O-

# convert Dos to Unix line break

# configure default user login shell to bash
chsh -s /bin/bash ${USER}

# forward network traffic
sysctl -w net.ipv4.ip_forward=1

# list CPU performance by core
mpstat -P ALL

# show how long a process has been running
ps -o etime= -p 123

# suspend from CLI
echo -n mem | sudo tee /sys/power/state
dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend boolean:true
method return sender=:1.0 -> dest=:1.90 reply_serial=2

# list files / folder by size
du -sh * | sort -h

# create bakup file
cp path/to/file{,.$(date -I)}

# clear cache
sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches'
sudo sh -c 'echo 2 >/proc/sys/vm/drop_caches'
sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'

# wget with authentification
wget -q --user=foo --password=bar -O -

# listing swap usage by process
for file in /proc/*/status ; do
awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file;
done | grep -E 'kB|mB' | sort -k2 -V

# parse jeson keys
cat /tmp/in.json | jshon -k
cat /tmp/in.json | jq -r 'keys

# set date
date +%Y%m%d -s "20150430"
# date with year-mounth-day_hour:minute:second
date +%F_%H:%M:%S
# filter
echo $file | sed 's/[^0-9]*//g' 
echo "${file//[!0-9]/}"
# use HTTP/HTTPS proxy from command line
export http_proxy= wget -O -
curl -H -x ''
# get lines beginning with second line
cat /path/to/file | tail -n +2
# get total disk usage
df -h --total
# diff between remote files (over SSH)
diff <(ssh cat /etc/fstab) <(ssh cat /etc/fstab)
# /etc/fstab entry non failing / blocking
/media/usb_backup_1   /home/user1/backup   none   nofail,defaults,bind   0   0
# check platform
if [[ $(getconf LONG_BIT) = "64" ]]; then
    echo "64bit"
    echo "32bit"
# tar
tar -T input_names.txt -cjf /path/to/archive.tar.bz2
tar -cvjf ansible.$(date -I).tar.bz2 --exclude='*.zip' --exclude=.git ansible
# reduce pdf
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -sOutputFile=out.pdf in1.pdf in2.pdf
# preserve links
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dPDFSETTINGS=/ebook -dPDFFitPage -dPrinted=false -sOutputFile=OUT.pdf IN.pdf
# show current runlevel
who -r
# remove dmraid
sudo dmraid -x 
sudo dmraid -rE
# show user member groups
groups <USER>
# TextMe:
openssl s_client -showcerts -connect > /tmp/cacert.pem
curl --cacert /tmp/cacert.pem
# convert Ogg to MP3
IFS=$(echo -en "\n\b")
for i in $(find -name "*.ogg"); do
    avconv -i ${i} -c:a libmp3lame -q:a 2 "${i/ogg/mp3}"
# resice images
for i in *.jpg; do
    convert $i -pointsize 72 -quality 90 -resize 512x384 -unsharp 0x.5 ${i/.jpg/_small.jpg}
# restart / reload network configuration
sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a
# cat file starting from 6 line
cat /tmp/file | tail -n +6
# list established connections
sudo netstat -nap | grep EST
# cat with ecsape
cat <<'EOF'> /tmp/testfile
test $foo
# check HTML header
curl --head
# send header
curl -vs -H "Host:" "" >/dev/null
# test memcached
telnet 11211
# TeamViewer QuickSupport on-the-fly (download and start)
wget -q -O - | tar -C /tmp/ -xz && /tmp/teamviewerqs/teamviewer
# get network range
whois $(dig +short | tail -1) | grep NetRange
# list wifi device settings
rfkill list all
echo 0 > /sys/class/rfkill/rfkill0/hard
# configure NIC speed
apt-get install -y ethtool
ethtool -s eth1 speed 1000 duplex full
# get NIC hardware mac address
ethtool -P eth0
# UDP on iperf server
iperf -s [-u]
# UDP on ipfer client
iperf -c -t 600 [-u] [-B]
# set hostname
sudo hostnamectl set-hostname www1
# load kernel settings from all system configuration files
sysctl --system
# load settings from default configuration /etc/sysctl.conf
sysctl -p
# load settings from specified file
sysctl -p /etc/sysctl.d/filename.conf
# dmesg follow and human readable
dmesg -wH
# print current runlevel
who -r
# erase a DVD-RW via command line
umount /dev/sr0
wodim dev=/dev/sr0 blank=fast
# sort directory by size
du -sh * | sort -h
# look screen from command line
gnome-screensaver-command -l
# mount filesystems bevore chroot environment
mount /dev/sda1 /mnt
cd /mnt
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
chroot /mnt
# get count of running processes
pgrep -cf <service_name>
# monitor / restart service when not running
pgrep -f glassfish 1>/dev/null || service glassfish restart
# format output with awk
cat file.csv | awk -v OFS="\t" -F ";" '{printf "%s\t%s\t%s\t%.0f\t%8.0f\t\n", $1, $4, $2, $7/1024, $6}'
# start software raid
mdadm --assemble --scan -v
# install grub2
grub-install --no-floppy --root-directory=/mnt /dev/sda
Bash redirection
# stdout to file
programm > out.log
# stderr to file
programm 2> out.err
# stdout and stderr to file
programm &> out.log
# stdout to stderr
programm 1>&2
# stderr to stdout
programm 2>&1
# resize dos partition / bootdisk
fatresize -s 33M bios.img
dd if=bios.img of=bios_34m.img bs=1M count=34
# set systemwide proxy
echo "export http_proxy=" >> /etc/bashrc
# disable IPv6
echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo "net.ipv6.conf.all.disable_ipv6 = 1" > /etc/sysctl.d/01-disable-ipv6.conf
# crop PDF
gs -o out.pdf -sDEVICE=pdfwrite -c "[/CropBox [20 20 80 1000] /PAGES pdfmark" -f in.pdf
# remove route and blank lines
cat <input_file> | grep -v '#' | grep '\S
# composer install (create vendor directory)
./composer install
# screen scroll UP
CTRL + a
# show processes with high cpu / memory usage
ps -eo pid,ppid,cmd,%mem,%cpu --sort=%cpu --no-headers
top -b -o +%CPU | head
ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }' |    cut -d "" -f2 | cut -d "-" -f1
# sub shell
( (sleep 10; date) > /tmp/q ) &
# create user
sudo useradd user1 -m -s /bin/bash
sudo usermod -a -G sudo user1
sudo adduser user2 --shell /bin/bash --group sudo
# add user to group sudo
sudo usermod -a -G sudo <username>
# check backup
sudo -u git bash -c "find /var/opt/gitlab/backups -name *_$(date +%Y_%m_%d)_gitlab_backup.tar -size +50M"
# ntp
apt-get install -y ntp
cat /etc/ntp.conf
ntpd -q -g
sudo ntpdate -u 
hwclock --systohc
# identify network device
sudo nmap -O -v
# reconnect to process / bash
reptyr <PID>
# KeePassX command
cmd://bash /foo/ {USERNAME} {PASSWORD}
# mount samba share
sudo apt-get install -y cifs-utils
sudo mount -t cifs -o user=foo //backup.example.cmo/bar /mnt
# remove LSI / intel software raid
wipefs -a /dev/sda
# configure camera codec
apt-get install -y v4l-utils 
v4l2-ctl --list-formats
v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=0
# benchmark disc
bwm-ng -i disk
# reduce disk I/O
echo 1 > /proc/sys/vm/dirty_background_ratio
echo 80 > /proc/sys/vm/dirty_ratio
# renice rsync
sudo pgrep rsync | xargs ionice -c3 -p
sudo pgrep rsync | xargs renice -n 19 -p
# date
echo $(date +%Y-%m-%d\ %H:%M:%S)
# reboot with delay
shutdown -r +5 "Maintaince: Server will restart in 5 minutes."
# partitionize whole disk from command line
parted /dev/sdc -s mklabel msdos
parted /dev/sdc -s mkpart primary 2048s 100%
mkfs.vfat -n USB_DISK /dev/sdc1
# get MAC address for a interface
cat /sys/class/net/eth0/address
# Apache: Top file not found
cat /var/log/apache2/error.log | grep "File does not exist" | cut -d " " -f 13 | sort | uniq -c | sort -rn | egrep -v '.*1 '
# list physical disc usage
df -hT | sed -n '1p;/^\//p;'
# show all changes under log directory
find /var/log/ -ctime -1 | xargs tail -f {} \;
# find and del dirs smaller then (not tested)
find . -maxdepth 1 -type d | 
    while read dir; do [ $(du -s "$dir") -le 102400 ] && rm -f "$dir"; done
# enable cron logging to dedicated file on ubuntu
sed -i 's|#cron|cron|g' /etc/rsyslog.d/50-default.conf
service rsyslog restart
# last
last -x reboot
last -x shutdown
# rename files in directory
rename 's/out/txt/' *.out
# rename file
mv /tmp/test{,.off}
# search in pdfs
find . -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "foo"' \;
# create iso from directory content
genisoimage -R -o ../foo.iso *
# sysctl
# df formated output
df -h --output=size,used,avail,pcent /home
# rescan disk
echo "1" > /sys/class/block/sdX/device/rescan
# add user to group and reload group without logout
sudo usermod -a -G lxd ${USER}
su - ${USER}
# linux hard reset
echo s > /proc/sysrq-trigger
echo b > /proc/sysrq-trigger
# remove root fs reserver on ext4
sudo tune2fs -m 0 /dev/sdb1
# get size for hidden directories
du -sh .{a..z}* 2>/dev/null | grep G
# convert textfile to UTF-8
iconv -f ISO-8859-1 IN.txt -t UTF-8 -o OUT.txt
# process uptime
ls -al /proc | grep 2719
# kill all apache
kill -9 $(pidof apache2)
pkill -9 apache2
# convert string to lower case
tr A-Z a-z [geshifilter- file_in ] file_out&#10;&#10;# list zip content&#10;unzip -l &#10;&#10;# zip: max compress, move file, ignore directory structure&#10;DUMP=$(hostname).${DB}.$(date -I).sql&#10;zip -9qmj ${DUMP%.2*} /tmp/${DUMP}&#10;&#10;# parallel compress (keep the old file)&#10;pbzip2 -k9 ...&#10;&#10;# yesterdays date&#10;date -d yesterday +%Y-%m-%d&#10;&#10;# show openend connections&#10;netstat -tn grep :80&#10;&#10;# disable root password&#10;sudo passwd -l root&#10;&#10;# inotifywait conf watch (single line)&#10;while true; do inotifywait --quiet --monitor --event create,delete --exclude &quot;[^c][^o][^n][^f]$&quot; /tmp | /usr/sbin/nginx -t &amp;&amp; /usr/sbin/service nginx reload; done&#10;&#10;# diff loop&#10;DIR=/etc/libvirt/qemu&#10;for FILE in $(ls -1 ${DIR}/*.xml); do&#10;    CMD=&quot;diff ${FILE} ${FILE}.$(date -I)&quot;&#10;    echo &quot;${CMD}&quot;&#10;    ${CMD}&#10;done&#10;&#10;# display list of system calls&#10;strace &lt;app&gt;&#10;&#10;# disable IPv6&#10;echo &quot;net.ipv6.conf.all.disable_ipv6 = 1&quot; &gt; /etc/sysctl.d/01-disable-ipv6.conf&#10;&#10;# replace duplicates with hardlinks&#10;rdfind -makehardlinks true .&#10;&#10;# show user default shell&#10;getent passwd ${LOGNAME} | cut -d: -f7&#10;&#10;# change disk label&#10;# FAT&#10;sudo fatlabel /dev/sdxN my_disk_1&#10;&#10;# exFAT:&#10;sudo exfatlabel /dev/sdxN my_disk_1&#10;&#10;# NTFS&#10;sudo ntfslabel /dev/sdxN my_disk_1&#10;&#10;# ext2/3/4&#10;sudo e2label /dev/sdxN my_disk_1&#10;&#10;# BTRFS&#10;sudo btrfs filesystem label /dev/sdxN my_disk_1&#10;&#10;# get public ip&#10;curl;&#10;# check file size&#10;[[ $(find /media/backup/ -size +100M -name bkp_$(date -I)_*.dmp.bz2 ) ]] &amp;&amp; echo true || echo false&#10;&#10;# find mime-type for a file&#10;file --mime-type;&#10;# change date&#10;touch -d 20180101 file1&#10;&#10;# restart gvf&#10;killall gvfsd&#10;killall nautilus&#10;&#10;# kill all defunct&#10;ps -ef | grep defunct | grep -v grep | cut -b8-20 | xargs kill -9&#10;&#10;# reload profile without relogin&#10;su - $USER&#10;&#10;# get file look&#10;sudo fuser -v /var/cache/debconf/config.dat&#10;&#10;# get linked libraries&#10;ldd -d -r $(which wget)



wget -O - | bash -


# no JRE package available, use JDK package
wget -q --no-check-certificate -O - | bash -

Using the Java Persistence API in Desktop Applications

Building a Java Desktop Database Application


Database Gui - Creating a Custom Java Desktop Database Application -

Configure Glashfish (old)
copy c:\temp\ojdbc14.jar c:\Programme\glassfish-v2-b53\lib

Code Examples

Stored procedures

Send Email from Java

Librarys - gchartjava is a free Java charts & graphs library - simple, unofficial, Java client API for using Google Translate

PDF create with iText - Download

Java packages in Ubuntu
sun-java6-bin - Java binaries
sun-java6-demo - demos and examples
sun-java6-doc - documentation
sun-java6-fonts - Lucida TrueType fonts from the JRE
sun-java6-jdk - metapackage for the JDK
sun-java6-jre - metapackage for the JRE
sun-java6-plugin - plug-in for Mozilla-based browsers
sun-java6-source - source files for the JDK

install original sun java 6 (/usr/lib/java-6-sun)
apt-get install sun-java6-jdk
sudo update-java-alternatives -s java-6-sun


increase heap size (memory)
java -Xms128m -Xmx256m

# java -X
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
set search path for bootstrap classes and resources
append to end of bootstrap class path
prepend in front of bootstrap class path
-Xdiag show additional diagnostic messages
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc: log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms set initial Java heap size
-Xmx set maximum Java heap size
-Xss set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.
-XshowSettings show all settings and continue
show all settings and continue
-XshowSettings:vm show all vm related settings and continue
show all property settings and continue
show all locale related settings and continue

The -X options are non-standard and subject to change without notice.

# set language
java -Duser.language=de ...

Links - free barcodes generator library for Java - How to Write Doc Comments for the Javadoc Tool - Java ist auch eine Insel (Galileo Computing) - JVM Options - Java Glossary

Cisco 7960 upgrade firmware

Upgrade firmware
#download firmware

# unzip files

# set rights
chmod a+r P0* OS79XX.TXT

# move files to /tftpboot
mv ./P0S3-08-2-00/* /tftpboot/

# add link
??? ln -s /tftpboot/P003-08-2-00.bin /tftpboot/P0S3-08-2-00.bin

# edit Global config
vi /tftpboot/SIPDefault.cnf
image_version: P0S3-08-2-00


Programming - Perl documentation
Java API - Java SE 8 API
PHP manual - PHP manual

IMAP sync
sudo apt-get install -y imapsync
imapsync \
--host1 --user1 --password1 *** \
--host2 --user2 --password2 *** \

create patch

Syndicate content