Inhaltsverzeichnis
Linux Kommandozeile - wer zur Maus greift, hat verloren!
ShortCuts
Terminal öffnen mit Strg + Alt + T
<!-- Launch LXTerminal with Ctrl+Alt+T--> <keybind key="C-A-t"> <action name="Execute"> <command>lxterminal</command> </action> </keybind> zu ~/.config/openbox/lxde-rc.xml hinzuzfügen und openbox --reconfigure
Fenster verkleinern, maximieren mit Alt+F10, minimieren mit Alt+F9 und wiederherstellen mit Alt+F8
<!-- Launch LXTerminal with Alt+F10--> <keybind key="A-F10"> <action name="ToggleMaximize"/> </keybind> <!-- Launch LXTerminal with Alt+F9--> <keybind key="A-F9"> <action name="Iconify"/> </keybind> <!-- Launch LXTerminal with Alt+F8--> <keybind key="A-F8"> <action name="NextWindow"> <iconified>yes</iconified> <finalactions> <action name="Uniconify"/> <action name="Focus"/> <action name="Raise"/> </finalactions> </action> </keybind> zu ~/.config/openbox/lxde-rc.xml hinzufügen und openbox --reconfigure
Alt + Tab Fenster wechseln
Alt + F4 Fenster schließen
Alt + Leertaste Fenster-Menü öffnen
Alt + Esc Fenster minimieren/wiederherstellen
Ctrl + R: Rückwärts-Suche in der history
Ctrl + L: schiebt den aktuellen Text nach oben, clear löscht den Bildschirm
Super + D Desktop öffnen
Super + E Dateimanager öffnen
Super + H Handy am Bildschirm anzeigen (funktioniert nur bei mir!)
~/.config/openbox/lxde-rc.xml
<keybind key="W-h"> <action name="Execute"> <startupnotify> <enabled>true</enabled> <name>scrcpy</name> </startupnotify> <command>/usr/local/bin/scrcpy --stay-awake --disable-screensaver</command> </action> </keybind>
openbox –reconfigure
Strg + P Drucken
Ctrl+Alt+Delete: Taskmanager
Ctrl+Alt+End: Shut down geht nicht!!
Ctrl + A Select all
Ctrl + C Copy
Ctrl + X Cut
Ctrl + V Paste
Ctrl + Z Undo
Ctrl + Y Redo
Ctrl + F Find text
Ctrl + H Find and replace text
7z
** Installation von 7z **
sudo apt install p7zip-full
** Beispiele ** Erstellen/Hinzufügen:
7z a mein_archiv.7z *.txt fügt alle .txt-Dateien hinzu.
** Extrahieren **
7z x Archivname.7z (extrahiert mit Pfaden) oder 7z e <Archivname>.7z (ohne Pfade).
** Auflisten **
7z l Archivname.7z zeigt den Inhalt des Archivs.
** Testen **
7z t Archivname.7z prüft die Integrität des Archivs.
arandr - verwalten von Monitoren, Auflösungen und Bildschirmanordnungen
RandR steht für "Resize and Rotate"
- Bildschirm klonen: alle Monitore zeigen das gleiche Bild
- Erweiterter Desktop: Verteilung auf zwei oder mehr Monitore (diese zeigen ein unterschiedliches Bild)
xrandr - verwalten von Monitoren, Auflösungen und Bildschirmanordnungen
** Installation **
sudo apt install x11-xserver-utils
xrandr zeigt Monitore und deren Auflösungen an
** Beispiele **
xrandr --output DP-2 --mode 1280x1024 --output LVDS-1 --mode 1280x1024 --same-as DP-2
xrandr --output HDMI-1 --mode 1280x720 --output eDP-1 --mode 1280x720 --same-as HDMI-1
awk - Werkzeug zur Bearbeitung von Texten
Vorinstalliert
awk ist eine Skriptsprache zum Editieren und Analysieren von Texten
** Bestimmte Zeilen einer Datei extrahieren **
awk 'NR==3||NR==5||NR==13' zeilen.txt
Anzahl der Zeichen in einer Zeile zählen
awk '{printf "%s %s,%d\n",$1,$2,length($1)+length($2)}' vor_und_zunamen.txt
Es werden nur jene Zeilen ausgegeben, die die Wörter report oder MAC enthalten
sudo nmap -sS 10.0.0.* -p80 --open | awk '/report|MAC/'
Alle Dateinamen in einem Ordner klein schreiben
#!/bin/bash for i in * do NEWNAME=`echo "$i" | awk '{print tolower($0)}'` mv "$i" "$NEWNAME" done
Nur Verzeichnisse oder Dateinamen anzeigen
ls -la | awk -F" " '{ print $9 }'
Spalten vertauschen
awk '{tmp=$1; $1=$2;$2=tmp; print}' vor_und_zunamen.txt
bc - basic calculator
** Installation **
sudo apt install bc
** Grundrechnungsarten **
bc <<< "scale=2; 2.54*4/3+4-3"
oder
echo "scale=2; 2.54*4/3+4-3" | bc
** Potenzieren **
bc <<< "scale=2; 2^4"
** n-te Wurzel ziehen ** n√x = x^(1/n) = e(ln x)/n
3√8
bc -l <<< "scale=2;e(l(8)/3)"
Mit bc -l wird eine mathematische Bibliothek hinzugefügt
s(x), sine of x, x is in radians
c(x), cosine of x, x is in radians
a(x), arctangent of x, arctangent returns radians
l(x), natural logarithm of x
e(x), exponential function of raising e to the value x
** Berechnung der Zahl π auf 100 Stellen **
bc -l <<< "scale=100; a(1)*4"
** Umrechnen von Zahlensystemen **
An erster Stelle immer obase eingeben, obase=10 ist default und kann weggelassen werden!
Dezimalzahl in Dualzahl umrechnen
bc <<< "obase=2;255" => 11111111
Dezimalzahl in Hexadezimalzahl umrechnen
bc <<< "obase=16;255" => FF
Dezimalzahl in Oktalzahl umrechnen
bc "obase=8;255" => 377
Dualzahl in Dezimalzahl umrechnen
bc <<< "ibase=2;11111111" => 255
Dualzahl in Hexadezimalzahl umrechnen
bc <<< "obase=16; ibase=2; 1111" => F
Dualzahl in Dezimalzahl umrechnen
bc <<< "ibase=2; 1111" => 15
btop - Ressourcen-Monitor
** Vorbereitung ** Ggf. zu /etc/apt/sources.list hinzufügen:
deb http://deb.debian.org/debian testing main contrib non-free
sudo apt update
** Installation **
sudo apt install btop
cal / ncal - Kalender
** Installation **
sudo apt install ncal
** Beispiele **
cal 2026
ncal 2026
cal 2026 > 2026.txt
cal 3 2026
Im Jahr 1752 übernahmen Großbritannien und seine amerikanischen Kolonien den gregorianischen Kalender.
Es wurden elf Tage übersprungen, sodass dem 2. September 1752 direkt der 14. September folgte.
cal 9 1752
cal -y 2026
Das ganze Jahr mit Tagnummer
cal -j 2026
Woche beginnt mit Montag
ncal -M 2026
cat - Dateien anzeigen/verketten
** Datei anlegen **
cat > testdatei.txt Zeile 1 Zeile 2 <EOF> (Strg + d)
** Dateinhalt am Bildschirm ausgeben **
cat testdatei.txt
** Dateien zusammenführen **
cat Seite_1.txt Seite_2.txt > text_komplett.txt
** ZIP Dateien zusammenführen **
cat Datei.zip.01 Datei.zip.02 > Datei_komplett.zip
** Datei schreiben mit cat **
cat /dev/hdd > name.iso
cat name.iso > /dev/hdd
cat /dev/video0 > film.mpg
cat /dev/audio > mpg123.wav ?? RAW Datei?
cat /dev/zero > /dev/hda löscht Festplatte
cat /proc/partitions ← listet alle Partitionen auf
convert / magick - Bildkonvertierung
** Installation **
sudo apt install imagemagick
** Beispiel **
mkdir internet;for i in *.[jJ][pP][gG] ; do convert $i -verbose -resize 1280x internet/$i ; done
** JPG zu PNG **
convert input.jpg output.png.
** Bild drehen **
convert input.png -rotate 90 output.png
cp - kopieren
cp test.txt{,.bak}
sudo cp Downloads/ubuntu-12.04.3-desktop-amd64.iso /dev/sdb
cut - Daten extrahieren
** Installation von cut **
sudo apt install coreutils
ls -la | cut -c46- => Dateinamen
ls -latr | cut -c46- | cut -d "." -f 1 > /d/DOC/LIEDERTEXTE/text_an_der_kassa/dir.txt => Dateinamen ohne Erweiterung ls -l | cut -c49- | sort > mailuser.txt => Verzeichnisnamen
ls -l | grep "^d" | cut -c45- => nur Verzeichnisnamen
cut -d "," -f 1 contacts.csv
dd - kopiert Daten bitweise von einer Quelle zu einem Ziel
sudo gparted The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes. This is usually caused by accidently using the wrong block size when copying an iso to the drive. This is an annoying problem, but it's rather easy to fix.
Lösung:
sudo dd if=/dev/zero of=/dev/<id_of_your_device> bs=2048; sync
** Festplattenimage auf die Festplatte schreiben **
dd if=datei.img of=/dev/sdd bs=1M status=progress oflag=sync,direct
** Festplatte kopieren **
dd if=/dev/sdc of=/dev/sdd bs=1M status=progress oflag=sync,direct
** Festplatte mit Zufallszahlen überscheiben (löschen) **
dd if=/dev/random of=/dev/sde bs=1M
** USB Stick mehrfach klonen **
for i in {f..o}; do dd if=/dev/sde of=/dev/sd$i bs=1M status=progress & done
display - Anzeige von Bildern
** Installation von display **
sudo apt install imagemagick
display name.jpg
display -resize 1024x name.jpg
display -resize x768 name.jpg
display -resize 60% name.jpg
display -rotate -90 name.jpg
eog (eye of gnome) - Anzeige von Bildern
** Installation von eog **
sudo apt install eog
eog name.jpg
eog --slide-show /path/to/folder
** Intervall in der Diashow auf 2 Sekunden einstellen **
gsettings set org.gnome.eog.fullscreen seconds 2
f3write, f3read - Speichermedien testen
** Installation **
sudo apt install f3
** Laufwerk mounten **
f3write /media/user/Laufwerks-UUID
f3read /media/user/Laufwerks-UUID
ffmpeg - konvertiert Audio- und Videosdateien
** Installation **
sudo apt install ffmpeg
** mp4 → mp3 **
ffmpeg -i in.mp4 out.mp3
** YouTube Video mp4 → mp3 **
ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio.mp3
** wav → mp3 **
ffmpeg -i audio.wav -acodec libmp3lame audio.mp3
fdisk - Manipulation von Partitionstabellen
** Installation **
sudo apt install util-linux
** Festplatten löschen, partitionieren, formatieren **
#! /bin/bash part="1" read -p 'sdX: ' device sudo shred -fvn 1 /dev/$device sync sudo fdisk /dev/$device<<EOF n p 1 t 7 w EOF sync umount /dev/$device$part #Formatieren Patition 1 sudo mkfs.ntfs /dev/$device$part sync #umount /dev/$device$part sudo mkfs.ntfs /dev/sde1
** NTFS USB Stick erstellen **
#! /bin/bash part="1" read -p 'sdX: ' device sudo shred -fvn 1 /dev/$device sync sudo fdisk /dev/$device<<EOF n p 1 t 7 w EOF sync #Formatieren Patition 1 sudo mkfs.ntfs /dev/$device$part sync #sudo smartctl -t short /dev/sde #sync sudo badblocks -v /dev/$device$part
sudo fdisk /dev/sde < fdisk.conf
- fdisk.conf
d 1 d 2 d 3 d 4 n p 1 +2000M n p 2 t 1 7 a 1 w
d (delete partitions) n (to create new partiton) p (for primary partition) 1 (for partition number) default for first cylinder default for last cylinder t (change partition's system id) 1 (for partition number) 7 (for NTFS partition) w (to write changes)
feh - Bildbetrachter
** Installation von feh **
sudo apt install feh
feh dateiname.jpg
feh -F dateiname.jpg <- Vollbild
feh -g 640x480 dateiname.jpg
feh -c * <- Collage
#!/bin/bash # Verzeichnis, in dem die Dateien gesucht werden VERZEICHNIS="/Pfad/zum/Verzeichnis" # Dauer zwischen den Übergängen (in Sekunden) DELAY=5 # Endlosschleife while true; do # Bilder anzeigen for bild in "$VERZEICHNIS"/*.{jpg,jpeg,png,gif}; do if [ -f "$bild" ]; then eog "$bild" & # 'eog' ist der Eye of GNOME Bildbetrachter sleep "$DELAY" killall eog # Schließe den Bildbetrachter fi done # Filme abspielen for film in "$VERZEICHNIS"/*.{mp4,mkv,avi,wmv}; do if [ -f "$film" ]; then mpv "$film" # 'mpv' ist ein Mediaplayer, der Filme abspielen kann fi done done
#Deepseek #!/bin/bash # Endlosschleife für Bilder und Videos while true; do # Durchsuche das aktuelle Verzeichnis nach Bild- und Videodateien for file in *; do # Überspringe Verzeichnisse if [ -d "$file" ]; then continue fi # Prüfe Dateityp anhand der Erweiterung case "${file,,}" in *.jpg|*.jpeg|*.png|*.gif|*.bmp|*.tiff) echo "Zeige Bild: $file" # Verwende feh für Bilder (installieren mit: sudo apt install feh) feh --fullscreen --auto-zoom --hide-pointer "$file" & FEH_PID=$! sleep 5 kill $FEH_PID 2>/dev/null ;; *.mp4|*.avi|*.mkv|*.mov|*.wmv|*.flv|*.webm|*.m4v) echo "Spiele Video ab: $file" # Verwende mpv für Videos (installieren mit: sudo apt install mpv) mpv --fs --no-audio --loop-file=no "$file" ;; *) # Überspringe andere Dateitypen continue ;; esac done done
find - Dateisuche
** Installation **
sudo apt install findutils
** Nach Dateinamen suchen **
sudo find /verzeichnis -type f -iname *name.jpg
** Nach Verzeichnisnamen suchen **
sudo find /verzeichnis -type d -iname *verzeichnisname
Weitere Beispiele …
fsck - Dateisysteme prüfen und reparieren
sudo apt install util-linux
fsck.vfat -r /dev/sdXn fsck.vfat -n /dev/sdc1 - a simple non-interactive read-only check fsck.vfat -a /dev/sdc1 - checks the file system and fixes non-interactively. Least destructive approach is always used. fsck.vfat -r /dev/sdc1 - interactive repair. User is always prompted when there is more than a single approach to fixing a problem. fsck.vfat -l -v -a -t /dev/sdc1 - a very verbose way of checking and repairing the filesystem non-interactively. The -t parameter will mark unreadable clusters as bad, thus making them unavailable to newly created files and directories.
grep - suchen
grep -rnw "/pfad/zum/ordner/" -e "dein_suchbegriff"
-r: Sucht rekursiv (auch in Unterordnern).
-n: Zeigt die Zeilennummer an, in der der Text gefunden wurde.
-w: Sucht nach dem ganzen Wort (vermeidet Treffer, die nur Teil eines Wortes sind).
-l: (Optional) Zeigt nur die Dateinamen an, nicht den Text selbst.
hostnamectl - Systeminformationen
hostnamectl
Internetradio
** Ö3 **
#! /bin/bash #Ö3 cvlc https://orf-live.ors-shoutcast.at/oe3-q2a.m3u
** Radio T **
#! /bin/bash #Radio T cvlc http://streaming.fueralle.org:8000/radiot.ogg
** ANTENNE BAYERN Oldies but Goldies **
#! /bin/bash #ANTENNE BAYERN Oldies but Goldies cvlc https://play.antenne.de/oldies-but-goldies.m3u
** Radio aus **
#! /bin/bash killall vlc
ip - Private IP-Adresse anzeigen
ip a
ip addr show
Öffentliche IP anzeigen
curl ifconfig.me
iperf3 - Netzwerkgeschwindigkeit messen
** Installation **
sudo apt install iperf3
** Server starten **
sudo iperf3 -s
** Client starten **
sudo iperf3 -c IP_DES_SERVERS
jhead - Manipulation von Exif-Metadaten in JPEG-Dateien
** Installation **
sudo apt install jhead
jhead -n%Y-%m-%d_%H-%M-%S *.[jJ][pP][gG]
jhead dateiname.jpg gibt die EXIF-Dateiinformationen von Digitalfotos aus
for i in *; do jhead -exonly -ft $i;done
Datum und Uhrzeit wiederherstellen (aus EXIF JPG Header)
** EXIF-Dateiinformationen von Digitalfotos **
jhead dateiname.jpg
for i in *; do jhead -exonly -ft $i;done
** Zeit ändern **
jhead -ta-9 dateiname.jpg <- Zeit 9 Stunden zurücksetzen (-ta<+|-><timediff>) jhead -ta+0:00:25 *.jpg <- 25 Sekunden vor jhead -ts2008:07:25-15:00:00 VancouverKamloops.jpg
** Datum ändern **
jhead -da<newdate>-<olddate> dateiname.jpg, jhead -da2005:03:01-2004:03:01 dateiname.jpg jhead -da2005:03:01-2004:03:01 *.jpg
** Exif header löschen **
jhead -de dateinmae.jpg
** EXIF header erstellen **
jhead -mkexif dateiname.jpg
** Bilder sortieren und umbenennen **
jhead -n%Y-%m-%d_%H:%M:%S *.[jJ][pP][gG] ; n=1;for i in *;do mv $i bild_$(printf "%03d" $n).jpg;n=`expr $n + 1`;done
jpegtran - verlustfreie Bearbeitung von JPEG-Bildern
** Installation **
sudo apt install libjpeg-progs
** Horizontal spiegeln **
jpegtran -flip horizontal path/to/image.jpg > path/to/output.jpg
** Drehung 90° **
jpegtran -rotate 90 path/to/image.jpg > path/to/output.jpg
** Schwarz/weiß Transformation **
jpegtran -grayscale path/to/image.jpg > path/to/output.jpg
** Bild zuschneiden **
jpegtran -crop 100x100+10+10 path/to/image.jpg > path/to/output.jpg
kdeconnect - SMS versenden vom Computer via Handy
** Voraussetzung **
Am Android Handy KDE Connect App installieren und starten
Netzwerkverbindung von Handy und Computer herstellen
In der App die IP des Computers eintragen und das gefundene Gerät konfigurieren
** Installation **
sudo apt install kdeconnect
kdeconnect-cli --send-sms "Hier ist dein Linux-Server" --destination +491701234567 --device GERÄTE_ID
kdeconnect-cli --list-devices
Galaxy S23 Ultra: 19b6e7a22d784edd8e5dedb037804ea6 (Gekoppelt und Erreichbar)
Die Zeichenfolge (19b6e7a22d784edd8e5dedb037804ea6) ist die Geräte-ID
kdeconnect-cli --send-sms "Hier ist dein Linux-Server" --destination +491701234567 --device GERÄTE_ID
- sms_send.sh
#!/bin/bash # --- KONFIGURATION --- DEVICE_ID=$(kdeconnect-cli -l | awk -F': ' '/Gekoppelt/ {print $2}' | awk '{print $1}' | head -n 1) echo "Die Geräte-ID ist: $DEVICE_ID" LISTE="sms_empfaenger.txt" MSG_FILE="sms_nachricht.txt" # --- LOGIK --- # 1. Prüfen, ob Dateien existieren if [[ ! -f "$LISTE" ]]; then echo "Fehler: Empfängerliste '$LISTE' nicht gefunden!" exit 1 fi if [[ ! -f "$MSG_FILE" ]]; then echo "Fehler: Nachrichtendatei '$MSG_FILE' nicht gefunden!" exit 1 fi # 2. Nachricht in eine Variable laden MESSAGE=$(cat "$MSG_FILE") # 3. Prüfen, ob das Gerät verbunden ist if ! kdeconnect-cli -l | grep -q "$DEVICE_ID"; then echo "Fehler: Handy ($DEVICE_ID) ist nicht verbunden." exit 1 fi echo "Starte SMS-Versand..." # 4. Datei Zeile für Zeile auslesen while IFS= read -r NUMBER || [[ -n "$NUMBER" ]]; do # Überspringe leere Zeilen oder Kommentare [[ -z "$NUMBER" || "$NUMBER" =~ ^# ]] && continue echo "Sende an: $NUMBER" # SMS senden kdeconnect-cli --device "$DEVICE_ID" --send-sms "$MESSAGE" --destination "$NUMBER" # Pause, damit Android nicht blockiert sleep 2 done < "$LISTE" echo "Alle Nachrichten wurden versendet!"
- sms_empfaenger.txt
+491701111111 +491712222222
- sms_nachricht.txt
Hallo zusammen, dies ist eine Testnachricht, die direkt aus einer Textdatei gelesen wurde. Beste Grüße vom Server!
keepassxc - Passwörter verwalten
Installation
sudo apt install keepassxc
Daten zur Datenbank hinzufügen
keepassxc-cli add -u "Benutzername für den neuen Eintrag" -p --url "https://deine-url.de" --notes "Beschreibung" /pfad/datenbankname.kdbx "NameDesEintrags"
Alle Einträge anzeigen
keepassxc-cli show -a username -a password -a url -a notes /pfad/datenbankname.kdbx "NameDesEintrags"
Suchen nach Einträgen
keepassxc-cli open datenbankname.kdbx
Prompt> search Titel
show -a password Titel
Einträge editieren
keepassxc-cli edit datenbankname.kdbx "NameDesEintrags" --username "Benutzername" --url "NeueUrl" --notes "NeueNotitz"
App am Handy
Keepass2Android
kill/killall - Prozesse beenden
** Sämtliche Prozesse eines Benutzers killen **
kill -9 `ps -u <username> -o "pid="`
** Sämtliche Prozesse mit dem gleichen Namen killen **
ps aux | grep thunderbird | awk '{print "kill -9 "$2}' | sh
LibreOffice Anwendungen von der Konsole starten
** LibreOffice Writer von der Konsole starten **
libreoffice26.2 --writer /pfad/dateiname.odt
** LibreOffice Calc von der Konsole starten **
libreoffice26.2 --calc /pfad/dateiname.ods
** LibreOffice Impress von der Konsole starten **
libreoffice26.2 --impress /pfad/dateiname.odp
** LibreOffice Draw von der Konsole starten **
libreoffice26.2 --draw /pfad/dateiname.odg
** LibreOffice Math von der Konsole starten **
libreoffice26.2 --math /pfad/dateiname.odt
** LibreOffice Datenbank von der Konsole starten **
libreoffice26.2 --base /pfad/dateiname.odb
lpr - Drucken
** Angeschlossenen Drucker auslesen **
lpr -p
PDF an Papiergröße anpassen : lpr -o fitplot name.pdf Papierformat : -o media=A4 oberer Rand : -o page-top=72 (72 Punkte = 1 Zoll = 25.4 mm, 1 Punkt = 0.3528 mm) linker Rand : -o page-left=72 rechter Rand : -o page-right=72 unterer Rand : -o page-bottom=72 Zeilenumbruch : wrap=true #n : n Kopien 2, 4 oder 8 Seiten auf eine Seite : number-up=n Querformat : landscape Skalieren : scaling=100 Nur spezielle Seiten drucken : o page-ranges=1-4,7,9-12 Bilder auf Seitengröße skalieren : -o fit-to-page -o fitplot
Command-Line Printing and Options lpr -P SamsungCLP350N zwickts_mi.tiff lpr -o landscape -o scaling=75 -o media=A4 filename.jpg lpr -#num-copies filename lpr -o page-ranges=1-4,7,9-12 filename lpr -o fit-to-page filename lpr -o outputorder=reverse filename lpr -o sides=two-sided-long-edge filename → duplex portrait lpr -o sides=two-sided-short-edge filename → duplex landscape
Beim Druck von Bildern:
lpr -o natural-scaling=percent filename lpr -PSamsungCLP350N -o natural-scaling=130 zwickts_mi.tiff
for i in * ; do lpr -PLaserJetCP1525n -o natural-scaling=120 $i ; done
lpr -P HP_LaserJet_CP1525n_color -o PageSize=A4 -o PageRegion=A4 -o Duplex=None -o ColorModel=RGB -o MediaType=Plain -o OutputMode=Normal -o InputSlot=Manual -o OptionDuplex=False
lpr -P HP_LaserJet_CP1525n_color -o PageSize=A4 -o PageRegion=A4 -o Duplex=DuplexNoTumble -o ColorModel=RGB -o MediaType=Plain -o OutputMode=Normal -o InputSlot=Manual -o OptionDuplex=False
lpr -P HP_LaserJet_CP1525n_color -o PageSize=A4 -o PageRegion=A4 -o Duplex=DuplexTumble -o ColorModel=RGB -o MediaType=Plain -o OutputMode=Normal -o InputSlot=Manual -o OptionDuplex=False
lpr -PHP_LaserJet_CP1525N -o page-ranges=26,28,30,32,34,36,38,40,42 datei.pdf
lsblk - listet alle verfügbaren Blockgeräte (Festplatten, USB-Sticks) auf
sudo apt install util-linux
lsblk
mc - Midnight Commander
** Installation **
sudo apt install mc
mc
** F10 Taste - Midnight Commander verlassen **
Menü Terminalfenster: Bearbeiten > Einstellungen > Verschiedenes > Tastenkürzel F10 für das Menü deaktivieren [X]
Panels vertauschen
Strg + u
mpv - Mediaplayer
** Installation **
sudo apt install mpv
** Start **
mpv dateiname.mp3
mpv dateiname.mp4
** Youtube **
Für die Wiedergabe von Youtube-Videos wird einfach die URL des Videos an mpv übergeben
** Voraussetzung **
sudo apt install yt-dlp
mpv https://www.youtube.com/watch?v=VIDEOCODE
pdftk - PDF Dateien manipulieren
** Installation **
sudo apt install pdftk-java pdftk
** PDF zerlegen **
pdftk datei.pdf burst output page%02d.pdf
** Zwei PDF zur einem PDF zusammenfügen **
pdftk datei1.pdf datei2.pdf cat output datei.pdf
** PDF rotieren **
pdftk datei.pdf cat 1east output datei_rot.pdf
endeast rotates the pages 90 degrees clockwise (east) endsouth rotates the pages 180 degrees (south) endnorth rotates the pages 180 degrees (north)
** rotate page 1 by 90 degrees clockwise **
pdftk in.pdf cat 1east output out.pdf
** rotate page 1 by 90 degrees clockwise **
pdftk in.pdf cat 1east output out.pdf
** For rotating clockwise **
pdftk input.pdf cat 1-endeast output output.pdf
** For rotating anti-clockwise **
pdftk input.pdf cat 1-endwest output output.pdf
** Dokument um 180° drehen **
pdftk chiquitita_2.pdf cat 1south output chiquitita_2_180.pdf
The page rotation setting can cause pdftk to rotate pages and documents Each option sets the page rotation as follows (in degrees):
north: 0 east: 90 south: 180
west: 270
left: -90
right: +90
down: +180. left, right, and down make relative adjustments to a page's rotation.
pw-record - Musik von der Soundkarte (Firefox) aufnehmen
** Installation **
sudo apt install pipewire-audio-client-libraries pipewire-utils
** Vom Standard-Mikrofon/Eingang in eine WAV-Datei aufnehmen **
pw-record meine_aufnahme.wav
** Von der Soundkarte aufnehmen **
wpctl status => ID der Output Soundkarte (Sink)
pw-record --target ID aufnahme_systemsound.wav
** Sound von einer Webseite aufnehmen **
pw-record --target Firefox aufnahme.wav
qrencode - erzeugen von QR-Code (Quick Response Code)
** Installation **
sudo apt install qrencode
** QR-Code für Text **
qrencode -o meinqrcode.png "Hallo Welt!"
** QR-Code für URL **
qrencode -o signal.png -s 2 'https://peer.st'
** EPC-QR-Code für Banküberweisung **
BCD 001 1 SCT RZSTAT2G187 Alpenverein, Sektion Anger AT503818700005004197 EUR5.00 Spende fuer Sektion Anger
** QR-Code für WLAN **
qrencode -t png -o wifi.png 'WIFI:S:SSID;T:WPA2;P:password;;'
** QR-Code als SVG speichern **
qrencode -t svg -o meinqrcode.svg "Hallo Welt!"
** QR-Code für eine Adresse **
File: address.txt BEGIN:VCARD N:Marianne Mustermann URL:http://www.marianne-mustermann.de EMAIL:info@www.marianne-mustermann.de TEL:+43-1234-567890 END:VCARD To convert this into the code, use: cat address.txt | qrencode -o address.png
** QR-Code für einen Termin **
File: kalender.txt BEGIN:VEVENT SUMMARY:Chemnitzer Linuxtage LOCATION:TU Chemnitz DTSTART:20260328T090000 DTEND:20260329T180000 DESCRIPTION:Beschreibung des Termines END:VEVENT cat kalender.txt | qrencode -o kalender.png
Hardware auslesen und QR-Code erstellen
- qr.sh
#!/bin/bash BIOS=$(dmidecode -t system | grep -e Name -e Number | awk -F': ' '{print $2}' | tr -d '"' | sed 's/$/, /g' | tr -d "\n") CPU=$(cat /proc/cpuinfo | grep "model name" -m1 | awk -F": " '{print $2}' ) MEM=$(hwinfo --mem | grep "Memory Size" | awk -F': ' '{print $2}') HDD=$(for n in $(hwinfo --ide | grep "Device File:" | awk -F': ' '{print $2}'); do echo "$(hwinfo --ide | grep $n -B 7 | grep Model| awk -F'"' '{print $2}') $(fdisk -l | grep $n -m1 | awk -F" " '{print $3" "$4}')"; done) #HDD=$(hwinfo --ide | grep -e Model -e Capacity | awk -F': ' '{print $2}' | tr -d '"' | sed 's/$/\n, /g' | cut -d"(" -f1 | tr -d "\n" | sed 's/ , /, /g') NETCARD=$(hwinfo --netcard | grep -e "Device File" -e Model -e "HW Address" | awk -F': ' '{print $2}' | tr -d '"' | sed 's/$/\n, /g' | cut -d"(" -f1 | tr -d "\n" | sed 's/ , /, /g') GFXCARD=$(hwinfo --gfxcard | grep Model | awk -F'"' '{print $2}') qrencode -o qr.png "$BIOS$CPU, $MEM RAM,$HDD $NETCARD$GFXCARD"
rfkill - Funkgeräte (WLAN, Bluetooth, GPS, NFC) aktivieren/deaktivieren
** Installation von rfkill **
sudo apt install rfkill
** Ein- und ausschalten**
rfkill list
rfkill block NUMMER # ausschalten
rfkill unblock NUMMER # einschalten
rfkill unblock wifi <- WLAN wird aktiviert
rfkill block wifi <- WLAN wird deaktiviert
rsync - Dateien sichern und wiederherstellen
** Installation von rsync **
sudo apt install rsync
** Dateien über ein Netzwerk sichern **
sudo rsync -av --info=progress2 --delete /d/zim/ -e ssh peer@10.0.0.4:/home/peer/Notebooks/Zim
** Dateien über ein Netzwerk wiederherstellen **
sudo rsync -av --info=progress2 --delete -e ssh peer@10.0.0.4:/home/peer/Notebooks/Zim/ /d/zim
Scannen mit scanimage
** Installation von sane-utils **
sudo apt install sane-utils
** Scanner suchen **
scanimage -L
scanimage -L |cut -d ":" -f 3,4 | cut -d "'" -f 1
** Welche Funktionen stellt der Scanner bereit? **
scanimage -A
** Unterstützte Dateiformate **
PNM, TIFF, PNG, JPEG, PDF
** Scannen **
scanimage -d epson2:libusb:001:004 --mode Color -x 210 -y 297 --resolution 100dpi --format=jpeg > $(date +%F)_dateiname.jpeg
** Fotokopie **
scanimage -d epson2:libusb:001:004 --mode Color -x 210 -y 297 --resolution 100dpi --format=jpeg | lpr -P SamsungCLP350N -o natural-scaling=90
** A4 - Grau **
scanimage -d epson2:libusb:001:004 --mode Gray -x 210 -y 297 --resolution 300dpi --format=jpeg > scan01.jpeg
** A4 - Farbe **
scanimage -d epson2:libusb:001:004 --mode Color -x 210 -y 297 --resolution 300dpi --format=jpeg > scan01.jpeg
** Ausschnitt **
scanimage -d epson2:libusb:001:004 --mode Gray -x 200 -y 140 --resolution 300dpi --format=jpeg > ziwui_ziwui.jpeg
scanimage -d epson2:libusb:001:004 --mode Color -l 0 -t 0 -x 100 -y 70 --resolution 300dpi --format=jpeg > /d/Images/Scanner/$(date +%F)_scan.jp
- scannen.sh
#!/bin/bash x="150" y="120" #echo -n "Zähler: " read -p 'Zähler: ' COUNTER #COUNTER=1 echo "Bitte warten ..." bus_device=`scanimage -L |cut -d ":" -f 3,4 | cut -d "'" -f 1` echo "$bus_device" while true; do echo "1 .. Farbe, 10x10 cm"; echo "2 .. Farbe, 15x15 cm"; echo "3 .. Farbe, 20x23 cm"; echo "4 .. Farbe, 21x25 cm"; echo "5 .. Farbe, A4"; echo "6 .. Schwarz-Weiß, 10x10 cm"; echo "7 .. Schwarz-Weiß, 15x15 cm"; echo "8 .. Schwarz-Weiß, 20x23 cm"; echo "9 .. Schwarz-Weiß, 21x25 cm"; echo "0 .. Schwarz-Weiß, A4"; echo "x .. Ende"; read -n1 -s case "$REPLY" in 1) echo "Bild $(printf "%03d" $COUNTER).jpg wird in Farbe in der Größe 10x10 cm gescannt" x=100 y=100 farbe=Color ;; 2) echo "Bild $(printf "%03d" $COUNTER).jpg wird in in Farbe der Größe 15x15 cm gescannt" x=150 y=150 farbe=Color ;; 3) echo "Bild $(printf "%03d" $COUNTER).jpg wird in Farbe in der Größe 20x22cm gescannt" x=200 y=230 farbe=Color ;; 4) echo "Bild $(printf "%03d" $COUNTER).jpg wird in Farbe in der Größe 21x25 cm gescannt" x=210 y=250 farbe=Color ;; 5) echo "Bild $(printf "%03d" $COUNTER).jpg wird in Farbe in der Größe A4 gescannt" x=210 y=297 farbe=Color ;; 6) echo "Bild $(printf "%03d" $COUNTER).jpg wird in Schwarz-Weiß in der Größe 10x10 cm gescannt" x=100 y=100 farbe=Gray ;; 7) echo "Bild $(printf "%03d" $COUNTER).jpg wird in Schwarz-Weiß in der Größe 15x15 cm gescannt" x=150 y=150 farbe=Gray ;; 8) echo "Bild $(printf "%03d" $COUNTER).jpg wird in Schwarz-Weiß in der Größe 20x20 cm gescannt" x=200 y=230 farbe=Gray ;; 9) echo "Bild $(printf "%03d" $COUNTER).jpg wird in Schwarz-Weiß in der Größe 21x25 gescannt" x=210 y=250 farbe=Gray ;; 0) echo "Bild $(printf "%03d" $COUNTER).jpg wird in Schwarz-Weiß in der Größe A4 gescannt" x=210 y=297 farbe=Gray ;; x) echo "Ende" exit ;; esac scanimage -d epson2:libusb:$bus_device --mode $farbe -x $x -y $y --resolution 300dpi --format=jpeg > /d/Images/Scanner/fotobuch_gerti/$(printf "%03d" $COUNTER).jpg COUNTER=$((COUNTER+1)) done
scrcpy Android-Bildschirm auf Computerbildschirm übertragen
** Installation am Computer**
- scrcpy.sh
# Abhängigkeiten installieren sudo apt install ffmpeg libsdl2-2.0-0 adb wget gcc git pkg-config meson ninja-build libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libswresample-dev libusb-1.0-0-dev libsdl2-dev # Quellcode laden und bauen cd /opt git clone https://github.com/Genymobile/scrcpy cd scrcpy ./install_release.sh
** Voraussetzung am Android Handy **
** USB Debugging aktivieren **
- Einstellungen > Telefoninfo > Softwareinformationen > 7x auf Buildnummer tippen ⇒ Entwickleroptionen
- Zurück zu Einstellungen > Entwickleroptionen > USB-Debugging einschalten
- Entwickleroptionen > USB-Standardkonfiguration > Übertragen von Dateien
** Handy und Computer mit USB Kabel verbinden **
Bildschirm entsperren
** Start am Computer**
scrcpy --stay-awake --disable-screensaver
Handy und Computer mit WIFI verbinden
** Voraussetzung **
- SDK-Plattformtools herunterladen
- platform-tools-latest-linux.zip
- Zip Datei im Verzeichnis /opt/platform-tools entpacken
- Vor dem Start des Skriptes Telefon und Computer mit USB-Kabel verbinden
- Nach dem Erscheinen des Handys am Bildschirm kann das USB-Kabel entfernt werden
WIFI Verbindung manuell aufbauen
1. Handy und Computer mit USB Kabel verbinden
2. Seriennummer des Handys auslesen
adb devices
3. IP Adresse des Handys auslesen
adb -s "R3CW10XC0HJ" shell ip -f inet addr show wlan0 | grep -Po 'inet \K[\d.]+'
4. TCPIP Modus auf dem Handy aktivieren
adb -s "R3CW10XC0HJ" tcpip 5555
5. Verbindung aufbauen
adb connect "192.168.33.26:5555"
6. scrcpy gezielt starten
scrcpy -s "192.168.33.26:5555"
7. USB Verbindung trennen
- wifi_connect_scrcpy.sh
#!/bin/bash SERIAL="R3CW10XC0HJ" #mein Handy - Ergebnis von 'adb devices' #SERIAL="R9TX7048AEY" #mein Samsung Tablet - Ergebnis von 'adb devices' echo "--- Starte scrcpy via WLAN Vorbereitung ---" # 1. IP-Adresse gezielt über die USB-Verbindung auslesen # Wir sagen ADB mit "-s $SERIAL", dass wir genau dieses physische Gerät meinen echo "[1/4] Lese IP-Adresse vom USB-Gerät..." IP_ADDR=$(adb -s "$SERIAL" shell ip -f inet addr show wlan0 | grep -Po 'inet \K[\d.]+') if [ -z "$IP_ADDR" ]; then echo "Fehler: IP-Adresse konnte nicht ausgelesen werden. Ist das Kabel dran?" exit 1 fi echo "Handy-IP: $IP_ADDR" # 2. TCPIP Modus auf diesem speziellen Gerät aktivieren echo "[2/4] Aktiviere TCPIP Modus..." adb -s "$SERIAL" tcpip 5555 sleep 2 # 3. Verbindung aufbauen echo "[3/4] Verbinde mit $IP_ADDR..." adb connect "$IP_ADDR:5555" sleep 1 # 4. scrcpy gezielt starten if adb devices | grep -q "$IP_ADDR:5555"; then echo "[4/4] Verbindung erfolgreich!" echo "Du kannst das USB-Kabel jetzt abziehen." # Wir starten scrcpy explizit für die WLAN-IP scrcpy -s "$IP_ADDR:5555" else echo "Fehler: WLAN-Verbindung konnte nicht hergestellt werden." fi
** Nützliche Tastenkombinationen **
- Vollbildmodus aktivieren/deaktivieren: Ctrl + F
- Bildschirm drehen: Ctrl + R
- Screen drehen: ALT+Pfeil-links/-rechts
- Vollbild: ALT+f
** Bildschirmaufzeichnung starten **
scrcpy --stay-awake --disable-screensaver --record file.mp4
setxkbmap - Tastaturlayout umstellen
setxkbmap de
setxkbmap us
** Mit Shortcut Alt + Shift zwischen de und us umschalten **
setxkbmap -layout de,us -option grp:alt_shift_toggle
shred - überschreibt Dateien und Geräte
** Installation von shred **
sudo apt install coreutils
** Datei mehrfach mit zufälligen Bitmustern überschreiben und löschen **
shred -fuz DATEI
** Ein gesamtes Laufwerk wird nur einmal (-n 1) mit zufälligen Bitmustern überschreiben **
sudo shred -fvn 1 /dev/sde
shutdown - Computer ausschalten
** Ausschalten -h **
sudo shutdown -h now
** In 10 Minuten ausschalten **
sudo shutdown -h +10
** Um 20:30 Uhr ausschalten **
sudo shutdown -h 20:30
**Reboot -r **
sudo shutdown -r now
** Computer in 20 Minuten neu starten **
sudo shutdown -r +20
simplescreenrecorder - Bildschirm bzw. einen Teil des Bildschirms als Video aufnehmen
** Installation von simplescreenrecorder **
sudo apt install simplescreenrecorder
sudo apt-get install libavcodec-extra
** Start **
simplescreenrecorder
smartctl - Festplatteninformationen
** Installation von smartctl **
sudo apt install smartmontools
** Start **
sudo smartctl -a /dev/sda
sort
Das Programm ist im Paket coreutils enthalten
Sortieren mit sort A workaround is to make the sort independent of current locale settings by using LC_ALL=C sort -g , hier werden nach dem Punkt als Dezimalzeichen die Nachkommastellen richtig sortiert instead of sort -g, hier werden nach dem Punkt als Dezimalzeichen die Nachkommastellen als Text sortiert Bei einem Beistrich als Dezimalzeichen funktioniert der sort -g Befehl Problem bei /d/strom/awattar/awattar.sh sort funktioniert nicht mit dem Punkt als Dezimaltrennzeichen, wohl aber mit dem Beistrich! $'\t' https://www.linux-community.de/ausgaben/linuxuser/2005/01/zu-befehl-sort/1/ sort -t ":" -k 4n,4 -k 3nr,3 /etc/passwd Sortiert Vor- und Zunamen in einer Datei nach Zuname sort -t " " -k2 /d/Alpenverein/2023/helferinnen2023.txt -t ist das Trennzeichen
speedtest - Speedtest der Internetverbindung
** Installation von speedtest **
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt install speedtest
** Internetgeschwindigkeit testen **
speedtest
** Internetgeschwindigkeit testen und die Ergebnisse in eine Datei schreiben**
touch speed.txt
- speed.sh
speedtest | awk -v date=$(date '+%d.%b.%Y,%H:%M') 'NR**7 || NR**9 {printf "%s\t",$3} END {printf "%s\n",date}' >> speed.txt ; cat speed.txt
ssh - Secure Shell
** Installation von ssh **
sudo apt install openssh-server
** ssh status **
sudo systemctl status ssh
** ssh starten **
sudo systemctl start ssh
** ssh stoppen **
sudo systemctl stop ssh
** ssh wird bei jedem Systemstart automatisch geladen **
sudo systemctl enable ssh
** ssh restart **
sudo systemctl restart ssh
tar - tape archiver
** Installation von tar **
sudo apt install tar
** Archiv erstellen mit GZIP (schnell, verbreitet) **
tar -czvf name.tar.gz /verzeichnis
** Archiv erstellen mit BZIP2 (bessere Kompression) **
tar -cjvf name.tar.bz2 /verzeichnis
** Archiv erstellen mit XZ (beste Kompression, dauert länger) **
tar -cJvf name.tar.xz /verzeichnis
** Nur bestimmte Datei extrahieren **
tar -xvf archiv.tar.gz pfad/zur/datei
** Entpacken in ein bestimmtes Verzeichnis **
tar -xjvf archiv.tar.bz2 -C /ziel/verzeichnis
vim - mächtiger Texteditor
** Installation von vim **
sudo apt install vim
w3m - textbasierter Webbrowser
** Installation **
sudo apt install w3m w3m-img
** Start **
w3m peer.st
** Auto suchen **
./suche.sh https://www.dasparking.de/gebrauchtwagen-information/mg-mg4/mg4-luxury-150kw-64-kwh-7j-garantie-jan26/JYWW7WEF.html
LibreOffice
Zweig testen
w3m https://de.libreoffice.org/download/download/ | grep libreoffice-help | awk NR==1 | sed 's/\•//' | cut -c21-26
Version testen
w3m https://de.libreoffice.org/download/download/ | grep libreoffice-help | awk NR==1 | sed 's/\•//' | cut -c21-28
wget - Herunterladen von Dateien aus dem Internet
wput - Hochladen von Dateien in das Internet
zip/unzip - Komprimieren und Entpacken von Dateien
qemu
WLAN-Speedtest
cd /opt
sudo apt install git
sudo git clone https://github.com/sivel/speedtest-cli.git
sudo python /opt/speedtest-cli/speedtest.py
wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
Debian Zusatzpakete installieren
- debian_zusatzsoftware.sh
#!/bin/bash sudo apt -y install arandr sudo apt -y install audacity sudo apt -y install bc sudo apt -y install btop sudo apt -y install chromium sudo apt -y install chromium-l10n sudo apt -y install console-data sudo apt -y install coreutils sudo apt -y install curlftpfs sudo apt -y install dcfldd #dd mit Fortschrittsanzeige sudo apt -y install dolphin sudo apt -y install eog sudo apt -y install ethtool wakeonlan rsync cifs-utils sudo apt -y install exfat-utils exfat-fuse sudo apt -y install f3 sudo apt -y install ffmpeg sudo apt -y install findutils sudo apt -y install firefox-esr firefox-esr-l10n-de sudo apt -y install flashplugin-nonfree sudo apt -y install geany sudo apt -y install gimp #sudo apt -y install gimp-ufraw #<- Gimp Plugin für Panasonic RW2 Dateien sudo apt -y install git sudo apt -y install gparted sudo apt -y install gthumb sudo apt -y install gwenview sudo apt -y install htop sudo apt -y install hwinfo sudo apt -y install icedove icedove-l10n-de sudo apt -y install imagemagick sudo apt -y install inkscape sudo apt -y install iperf3 sudo apt -y install jhead sudo apt -y install jmtpfs sudo apt -y install kdeconnect sudo apt -y install keepassxc sudo apt -y-get install libavcodec-extra #sudo apt -y install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') virtualbox sudo apt -y install lshw sudo apt -y install lxterminal sudo apt -y install mc sudo apt -y install mpv sudo apt -y install ncal sudo apt -y install nmap sudo apt -y install okular #sudo apt -y install openshot sudo apt -y install openssh-server sudo apt -y install p7zip sudo apt -y install pavucontrol sudo apt -y install pdftk-java pdftk sudo apt -y install pipewire-audio-client-libraries pipewire-utils sudo apt -y install qemu-kvm libvirt-clients libvirt-daemon-system sudo apt -y install qrencode sudo apt -y install rfkill sudo apt -y install scrcpy sudo apt -y install simplescreenrecorder sudo apt -y install smplayer sudo apt -y install speedtest-cli sudo apt -y install tar sudo apt -y install texlive texlive-latex-extra texlive-lang-german texlive-fonts-extra texmaker sudo apt -y install thunderbird sudo apt -y install thunderbird-l10n-de sudo apt -y install ttf-mscorefonts-installer #<- Voraussetzung: in /etc/apt -y/sources.list contrib hinzufügen #sudo apt -y install ufraw #<- Programm zum Bearbeiten von Panasonic RW2 Dateien - https://wiki.ubuntuusers.de/UFRaw/ #sudo apt -y install unetbootin sudo apt -y install util-linux sudo apt -y install vim sudo apt -y install vim-gtk #sudo apt -y install virtualbox sudo apt -y install vlc sudo apt -y install w3m w3m-img sudo apt -y install wget sudo apt -y install wkhtmltopdf sudo apt -y install wput sudo apt -y install x11-xserver-utils sudo apt -y install xournal sudo apt -y install xsane sane-utils sudo apt -y install zim
