Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux_kommandozeile_-_wer_zur_maus_greift_hat_verloren

Inhaltsverzeichnis

Linux Kommandozeile - wer zur Maus greift, hat verloren!

Helmuth Peer

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

Größe des Terminalfensters ändern

Terminal öffnen > Bearbeiten > Einstellungen > Darstellung > Standard-Fenstergröße: 250 x 60

Super + D Desktop öffnen

Super + E Dateimanager öffnen

Alt + Tab Fenster wechseln

Alt + F4 Fenster schließen

Alt + Leertaste Fenster-Menü öffnen

Alt + Esc Fenster minimieren/wiederherstellen

Strg + P Drucken

Ctrl + R: Rückwärts-Suche in der history

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

Beispiel

xrandr --output VGA-1 --mode 1920x1080 --pos 1920x0 --rotate normal --output DP-1 --off --output HDMI-2 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output HDMI-1 --off --output DP-2 --off

awk - Werkzeug zur Bearbeitung von Texten

awk ist eine Skriptsprache zum Editieren und Analysieren von Texten

Bestimmte Zeilen einer Datei extrahieren

zeilen.txt

awk 'NR==3||NR==5||NR==13' zeilen.txt

Anzahl der Zeichen in einer Zeile zählen

vor_und_zunamen.txt

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 }'

Siehe auch cut

Spalten vertauschen

awk '{tmp=$1; $1=$2;$2=tmp; print}' vor_und_zunamen.txt

Mehr zu awk...

bc - basic calculator

Installation

sudo apt install bc

Grundrechnungsarten

bc <<< "scale=2; 2.54*4/3+4-3"

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"

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

Mehr ...

cp - kopieren

cp test.txt{,.bak}
sudo cp Downloads/ubuntu-12.04.3-desktop-amd64.iso /dev/sdb 

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

Mehr ...

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)
</text>
 
 
====== feh - Bildbetrachter ======
 
** Installation von feh **
 
<code bash>
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

Mehr ...

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

Weitere Radiosender

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

Mehr ...

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

Voraussetzung

Am Android Handy KDE Connect App installieren

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

- Pixel_6: 166ec0250e88ff2b (reachable)

Die kryptische Zeichenfolge (hier fett markiert) 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="166ec0250e88ff2b"
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_empfaenger.txt
Hallo zusammen,
dies ist eine Testnachricht, die direkt aus einer 
Textdatei gelesen wurde.
Beste Grüße vom Server!

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

libreoffice25.8 --writer /pfad/dateiname.odt

LibreOffice Calc von der Konsole starten

libreoffice25.8 --calc /pfad/dateiname.ods

LibreOffice Impress von der Konsole starten

libreoffice25.8 --impress /pfad/dateiname.odp

LibreOffice Draw von der Konsole starten

libreoffice25.8 --draw /pfad/dateiname.odg

LibreOffice Math von der Konsole starten

libreoffice25.8 --math /pfad/dateiname.odt

LibreOffice Datenbank von der Konsole starten

libreoffice25.8 --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 

Mehr ...

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

Mehr ...

rsync - Dateien sichern und wiederherstellen

Installation von rsync

sudo apt install rsync

Dateien über ein Netzwerk sichern

sudo rsync -av --progress --delete /d/zim/ -e ssh peer@10.0.0.4:/home/peer/Notebooks/Zim

Dateien über ein Netzwerk wiederherstellen

sudo rsync -av --progress --delete -e ssh peer@10.0.0.4:/home/peer/Notebooks/Zim/ /d/zim

Mehr ...

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-Übertragung

Installation

sudo apt install scrcpy

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

Start

scrcpy --stay-awake --disable-screensaver

Handy und Computer mit WIFI verbinden

Voraussetzung

  1. USB Debugging aktivieren
  2. Computer und Handy per USB Kabel verbinden
  3. adb devices ⇒ R3CW10XC0HJ
  4. adb tcpip 5555
  5. adb shell ip route
  6. adb connect <IP-Adresse Handy>:5555
  7. USB Kabelverbindung trennen
  8. scrcpy
  9. Bei Problemen: adb kill-server - zurück zu Punkt 4
  10. Enjoy!

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 

Mehr ...

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

Tastatur US

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-cli - Speedtest der Internetverbindung

Installation von speedtest-cli

sudo apt install speedtest-cli

Internetgeschwindigkeit testen

speedtest-cli

Internetgeschwindigkeit testen und die Ergebnisse in eine Datei schreiben

touch speed.txt
speedtest-cli --secure | awk -v date=$(date '+%d.%b.%Y,%H:%M') 'NR**7 || NR**9 {printf "%s\t",$2} 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

MG4

./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

linux_kommandozeile_-_wer_zur_maus_greift_hat_verloren.txt · Zuletzt geändert: 2026/01/21 13:45 von admin