most possible basic apache2 web log file analyze script # what is the usage of the webserver? # what is the usage of a certain domain? vim ./analyze.sh #!/usr/bin/env bash shopt -s nullglob # Output header printf “%-30s %10s\n” “file” […]
yes it is advices to every 10 years print out the phone book… but without the duplicates and in font 8pt just in case cat contacts.vcf|grep -e ‘FN:’ -e ‘CELL:’|less cat contacts.vcf|grep -e ‘FN:’ -e ‘CELL:’ > contacts.print1.vcf paste – […]
it happend once before and it is very annoying: why is this or that command not stored in history? echo $HISTCONTROL ignoreboth # ignoreboth means: ## ignorespace Any command whose first character is a space is not saved to the […]
apt search pdfunite poppler-utils/stable,stable,now 25.03.0-5 amd64 [installed,automatic] PDF utilities (based on Poppler) # tested on hostnamectl Operating System: Debian GNU/Linux 13 (trixie) Kernel: Linux 6.12.48+deb13-amd64 Architecture: x86-64 # worked nicely pdfunite file1.pdf file2.pdf file3.pdf output.pdf # untested gs -dBATCH -dNOPAUSE […]
a lot of hand held videos are shaky, youtube used to have great stabilization filter… but Alphabet Google removed it (too CPU intense or what?) most smart phones and camera apps actually should apply some anti shake stabilization during recording […]
want to share pictures in full resolution easily accessible to other user’s via user’s webspace? generate a index.html that has clickable thumbnails -> view full resolution 😀 su – root apt install convert; # install tool to resize images # […]
mail is a ancient biest in need for massive rust based rewrite, but a lot of users rely on it for a lot of tasks (smtp 25,465,587,2525) (imap 143,993) alias ssh_tunnel_mail_socks5=”ssh -v -N -D 127.0.0.1:1080 username@ip.of.users.ssh.server” then configure thunderbird to […]
in 2025 still a lot of browsers are not x265 compatible (firefox 1.141 is) the best up to know: (it reduces the video size resolution by 50% and reencode audio to mp3, because firefox seems to have problems with ogg […]
first it might be a good idea to have a /script/shutdown.sh that calls /script/stop.sh (and a /scripts/start.sh, but that’s kinda complicated since systemd?) that stops all kinds of essential services (databases, vms…) before system shutdown but here is a neat […]
no the user is not insane, there really was a command named “last” which displays the last logged in users or the last boots and reboots was removed from Debian13 and replaced by entirely different program that needs to be […]
copy pasting lines from vim to other programs is a pain (selecting text with mouse Ctrl+C Ctrl+V process not working properly?) sometimes to debug a bash script it’s usefull to copy line-by-line and paste line-by-line to see what it does […]
su – root apt update apt install tmux; # install tmux tmux; # start tmux # usage Ctrl+b ” = split pane horizontally Ctrl+b % = split pane vertically Ctrl+b o = switch to next pane hold Ctrl+b use arrow […]
yes there is iostat and all the other fancy software but sometimes, it’s not possible to access the internet or install packages so here is the poor man’s iotop in pure bash v4 will give this output, in a bit […]
# the package should exist for Debian 12 and 13 su – root apt update apt install unrar-free # how to unrar a file.rar unrar file.rar # alternatively if it has to be the closed source variant of rar apt […]
although this is HIGHLY DISCOURAGED on productive systems it can help speed up development on development systems echo “user ALL=(ALL) NOPASSWD: ALL” >> /etc/sudoers then log off (close terminal) and re-open, re-connect now typing sudo bash will immediately grant root […]
sometimes it is usefull to meassure how long what took in the shell vim /scripts/stopwatch.sh #!/bin/bash # function to get current time in seconds and milliseconds get_time() { date +%s%N | cut -b1-13 } # initial time start_time=$(get_time) echo “press […]
neofetch; # tested on (fancy version of uname -a or hostnamectl su – root apt update apt install stress-ng # Ctrl+D log off root # what cpu cat /proc/cpuinfo |head processor : 0 vendor_id : AuthenticAMD cpu family : 25 […]
with the bash history it’s a very useful but also a bit confusing thing X-D whenever a bash terminal is exited, it saves the histoy to cat ~/.bash_history did the user know that with the super cool hotkey-shortcut: Ctrl+R then […]
htop has a column called “S” (State) if the state of a process is “Z” (Zombie) that ain’t good htop states: S for sleeping process is waiting for an event to complete, could be I/O completion, a signal, or some […]
sometimes the most simple things are the trickiest X-D the question was, why if shutdown -r now is specified in a script or crontab directly: why won’t the server reboot (to activate newly via updates installed kernel?) the answer: crontab […]
how to get started: have a hetzner account login to https://console.hetzner.cloud/ create a new project click on project in the left menu there is a new entry: Object Storage tested and works: upload download delete untested: https://docs.hetzner.com/de/storage/object-storage/howto-protect-objects/protect-versioning/ pricing: https://docs.hetzner.com/de/storage/object-storage/overview/#preise max. […]
hostnamectl; # tested on Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.1.0-25-amd64 Architecture: x86-64 Hardware Vendor: Gigabyte Technology Co., Ltd. Hardware Model: B550 AORUS ELITE AX V2 Firmware Version: F16d ls -lah; # show content of this dir lsblk; […]
hostnamectl; # tested on Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.1.0-20-amd64 Architecture: x86-64 # become root su – root apt update # if it’s graphical application echo $DISPLAY # and the user “user” is the user that started […]
GNU Linux bash – how old are the projects files? find the last 10 most recently changed files in all subdris the current dir and display their change time like: (YYYY-MM-DD HH:MM) find . -type f -exec stat –format=”%Y %n” […]
whenever the inet goes down, do something, wait until inet recovers, then restart program x. hostnamectl; # tested on Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.1.0-20-amd64 Architecture: x86-64 ping -V ping from iputils 20221126 libcap: yes, IDN: yes, […]
try but without gurantees screen -xr # -x Attach to a not detached screen session (Multi display mode) # Screen refuses to attach from within itself # But when cascading multiple screens, loops are not detected # take care -r […]
once upon a time, compressing massive amounts of binary was required. hostnamectl; # tested on Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.1.0-12-amd64 Architecture: x86-64 lscpu | grep -E ‘Architecture|Model name|Thread|Core’; # tested on CPU Architecture: x86_64 Model name: […]
This is actually VERY usefull to find files that waste disk space. lsb_release -a; # tested on Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) the solution: czkawka_cli install rust like this (no need to install rust as root) install […]
Debian runs well even on systems with as little as 512 MBytes of RAM. so imho even on a QNAP NAS there should be no more “argument list too long” for whatever reason. lsb_release -d; # official way: tested on […]
hint! this script works! BUT: it can not deal with complex filenames, it needs “easy filenames” (yes no kidding). so something like: 2.mp4 and 3.mp4 in the same directory will work. or it will output: concat Unsafe file name: Operation […]


















