Inhaltsverzeichnis
Linux
Hier sollen Dinge gesammelt werden, die mir zu Merkzwecken dienen.
- nette Tipps, LUKS, screen in crontab: https://limejack.org/doku.php/de/tooltips
- pdftk zum zerteilen etc. von PDFs, nicht mehr in neueren Umgebungen enthalten, aber als snap verfügbar
sudo apt-get install pftkodersudo apt-get install snapdundsudo snap install pdftk
- Alternative zu pdftk ist pdfunite von poppler http://poppler.freedesktop.org
- pdf zu jpg/png:
- pdf Seiten entnehmen:
- pdf zerlegen:
pdftk burst file.pdf - pdfs zusammenfassen:
pdftk file1.pdf file2.pdf cat output out.pdf - eine Seite exportieren
pdftk 'Beispiel Datei.pdf' cat 9 output page9.pdf - mit GUI PDFs zusammensetzen, teilen etc: https://pdfsam.org/de/pdfsam-basic/
- Anhang in PDF speichern:
pdftk beispiel.pdf attach_files tux01.eps beispiel.tex output beispiel_anhang.pdf,Quelle: http://www.lagotzki.de/pdftk/index.html#attachment - Lesezeichen bearbeiten:
- vorhandenes Dokument ausleden:
pdftk alle_Flyer_Elektrotechnik_und_Informatik_HIT_2024.pdf dump_data output data.txt - Daten bearbeiten (ggf. aus einem guten Dokument zum Vergleich auslesen)
- Datei neu erzeugen:
pdftk alle_Flyer_Elektrotechnik_und_Informatik_HIT_2024.pdf update_info data.txt output alle_Flyer_Elektrotechnik_und_Informatik_HIT_2024_mit_Lesezeichen.pdf
Imagemagik
- Installation:
sudo apt install imagemagick- Fehler weil PDF nicht gewandelt werden kann? https://askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
- JPGs zu einer PDF:
convert *.jpeg out.pdf - heic zu jpg:
mogrify -format jpg *.heic- oder Gimp >=3.0.6 (ggf. Appimage)
- PDF zu png:
convert -density 600 Test04.pdf Test04.pngdensity in pixel/cm-alpha offum Transparenz zu entfernen
- Seiten drehen damit Zeilen exakt horizontal sind:
convert *.jpeg -deskew 80% out.pdf - Größe ändern:
mogrify -resize 1200 *.JPGgrößte Seite auf 1200, Namen beibehalten100×200 # width = 100, height = 20, keep ratio
100×200\! # deform ratio
300x # width = 300, height = proportional
x300 # width = proportional, height = 300
Grafik und Co.
- https://wiki.ubuntuusers.de/unpaper/ gescannte Vorlagen ausrichten, nachbelichten, schärfen, für OCR vorbereiten
sudo apt-get install unpaperunpaper scan.png out
-
- alle Dateien im Verzeichnis mit OCRmyPDF bearbeiten und in Unterverzeichnis schieben: https://limejack.org/doku.php/de/tooltips/ocrmypdf
- alle EXIF Daten entfernen oder exportieren https://wiki.ubuntuusers.de/ExifTool/ alles entfernen:
exiftool -all= *.jpg, installieren mitsudo apt-get install libimage-exiftool-perl
- Collagen erstellen: https://github.com/adrienverge/PhotoCollage, installation: sudo pip3 install photocollage
- Dymo Label Writer 450: https://gambaru.de/blog/2018/06/03/dymo-labelwriter-450-etiketten-drucken-unter-linux-mit-glabels/
- Treiber
sudo apt install printer-driver-dymo - Glabel
sudo apt install glabels
- Dateien nach EXIF Datum umbenennen
- apt install exiv2
- exiv2 –rename '%Y-%m-%d %H-%M-%S' -F *.JPG
- exiv2 –rename '%Y-%m-%d %H-%M-%S' -F *.jpeg
- viele Ordner: find . -type d -execdir sh -c „cd './{}' && exiv2 –rename '%Y-%m-%d %H-%M-%S' -F *.jpeg“ \;
- find . -type d -execdir sh -c „cd './{}' && exiv2 –rename '%Y-%m-%d %H-%M-%S' -F *.JPG“ \;
- todo_ exiv2 Befehl für klein und Großschreibung jpeg und jpg anpassen! –> momentan muss jede Schreibweise angepasst werden!
Kommandozeile
cat /etc/os-releaseZeigt Infos zur Distribution anls -llange Darstellungsform des Verzeichnisinhaltsls -1Zeigt nur die Dateinamen untereinanderls -1 > dir.txtspeichert die Dateinamen in einer Textdateils -lizeigt die inodes an.treeodertree ordnerzeigt den Inhalt in grafischer Darstellung an, Installation:sudo apt install treesu -in die root-shell wechselnless /dev/logzeigt Infos über eine Datei anless -s /dev/logüberspringt mehrfache Leerzeilenless -S /dev/logZeilenumbruch für überlange Zeilen
idzeigt ID des Nutzers, bzw. Gruppenzugehörigkeit anfind -name „*JPG“ -exec convert -resize 1920×1920 {} {} \;Dateien mit JPG finden und auf maximale Seitenlänge mit 1920 Pixeln wandelnlocate libcrypto.so.1.0.0eine Datei/Bibliothek findendpkg -l libssl*ein Paket suchensudo chown name:gruppe DateinameBesitzer und Gruppe einer Datei änderntimeout 30s ping 192.168.178.1https://www.cyberciti.biz/faq/linux-run-a-command-with-a-time-limit/- mehrere Dateien in Großbuchstaben umwandeln:
mmv -v „*“ „#u1“, Kleinbuchstaben:mmv -v „*“ „#l1“, Quelle: https://www.linux-community.de/ausgaben/easylinux/2009/01/shell-tipps/ stat /etc/hostsInformationen über Erstellung Bearbeitung etc zu einer Datei erhaltencat /etc/hosts |od -aeine Datei in ASCII anzeigen- Inhalte in Dateien suchen:
grep -rnwi '/Pfad/zu/Ordner/' -e 'Textschnipsel'Quelle-
- dvdbackup -I -i /dev/dvd
- komplett
dvdbackup -p -M -i /dev/dvd -o ~/Videos - titel
dvdbackup -p –title=4 -i /dev/dvd -o ~/Videos - Titelnamen angeben:
dvdbackup -p –title=4 -i /dev/dvd -n URLAUB_OSTEEE -o ~/Videos - titelset
dvdbackup -p –titleset=4 -i /dev/dvd -o ~/Videos
-
- Dateien umbenennen, Texteil ersetzten:
rename -n 's/pg_00/Urkunde-/g' *.pdf-nzeigt zunächst an, was passieren würde, „pg_00“ wird ersetzt durch „Urkunde-“
- In Dateinamen Leerzeichen durch Underscores ersetzen
rename 's/\s/_/g' ./*.pdf(Quelle: https://unix.stackexchange.com/questions/223182/how-to-replace-spaces-in-all-file-names-with-underscore-in-linux-using-shell-scr) md5sum filenameum die md5 Prüfsumme zu bekommenkeytool -list -printcert -jarfile filename.zipum md5 und sha Prüfsumme aus dem Java Archiv zu bekommen# Strip .jpg from all filenames for f in *.jpg; do mv „$f“ „${f%.jpg}“; done # Add .jpg to all filenames (even those with .jpg already) for f in *; do mv „$f“ „$f.jpg“; done # Add .jpg to all filenames…unless they are already .jpg for f in *; do case „$f“ in *.jpg) echo skipped $f;; *) mv „$f“ „$f“.jpg; esac; done # Add .jpg to all filenames…unless they already have a . extension for f in *; do case „$f“ in *.*) echo skipped $f;; *) mv „$f“ „$f“.jpg; esac; done- in fortlaufende Zahlen mirt führenden Nullen und Dateiendung umbenennen:
ls -v | cat -n | while read n f; do mv „$f“ `printf „%03d.mp3“ $n`; done - mehrere MP3s in eine MP3 zusammenführen https://wiki.ubuntuusers.de/mp3wrap/
mp3wrap ERGEBNIS.mp3 TITEL-0*.mp3 - Logs anzeigen:
journalctlunddmesg - Größe der Unterordner anzeigen:
df -h -d 1todo: mit awk nach Dateigröße sortiert ausgeben - Verzeichnis mit Inhalt rekursif löschen
rf -r folder, ohne nachfrage:rm -rf folder - Suchen IN Dateien, auch PDF und LibreOffice:
uvgrep -in Bauvorhaben *.pdf *.odtvon https://github.com/hgesser/uvgrep, Abhängigkeiten installieren:sudo apt install libxml2-utils pdfgrep - Größe von Verzeichnisinhalten rekursiv finden:
sudo ncdu / - Alternative zu
nano:mcedit crontab -e- Informationen zum System
inxi -FxxxrzSektion System zeigt bei MINT die zugrunde liegende Version vom Ubuntulsb_release -azeigt an, welche Linux Mint Distribution läuft
Backup
- Backup machen:
rsync -aAXv –exclude={„path/to/excluded/directories“} / /path/to/destinationhttps://www.unixmen.com/how-to-backup-with-rsync/ -
- Bog Backup:
borg create –verbose –filter AME –list –stats –show-rc –compression lz4 ssh:\/\/dietpi@192.168.1.1/mnt/dietpi_userdata/borg_backup_repo/Backup::2024-09-03-0639 /home/user/Dokumente - Lock entfernen:
borg break-lock /mnt/dietpi_userdata/borg_backup_repo/Backup
Doppelte Dateien finden und durch HardLinks ersetzen
-
- findet und listet die Dateien aber ersetzt sie nicht?
fdupes -Sr .listet alle gleichen Dateien blockweise an
- Rdfind https://rdfind.pauldreik.se/
rdfind -dryrun true -makehardlinks true .zeige an was er machen würde, ersetzte gleiche Dateien durch Hardlinksrdfind -makehardlinks true .
- dupeguru https://dupeguru.voltaicideas.net/
- kommt nicht in Frage: fslint - nicht mehr unterstützt da Python2,
- jdupes https://github.com/jbruchon/jdupes 7x schneller als fdupes?
jdupes -Lr /path/to/your/filesersetzt gleiche Dateien durch hardlinks, inklusive Unterverzeichnissen
Libraries
- nachträgliches normalerweise in /usr/local/lib installiert
ldconfig -vlistet alle gefundenen aufsudo ln -sf libad.so.4.6.525 /usr/local/lib/libad.soerstellt einen Link aus eine spezielle Versionnm –dynamic –demangle /lib/x86_64-linux-gnu/libm.so.6 | grep GLIBCzeigt die aktiven glibc Versionen anldd datei.sozeigt an, welche Bibliotheken dynamisch verlinkt sindldd –versionzeigt die glibc Version anreadelf -h /usr/local/lib/libad.so.4.6.525Anzeigen des Formats, u.a. ELF32 oder ELF64ldconfig –helpoderldconfig -pInfos zu Biblioheken ausgeben, ohne Parameter und mit sudo neu einlesen??
serial
lsusbzeigt USB Geräte an, inkl. USB ID- CH340G: 1a86:7523
- anzeigen nach USB-Steckplatz:
ls /dev/serial/by-path/- gleicher Steckplatz = gleiche Bezeichnung Quelle lsusb -tzeigt Treiber an, z.B. wenn bei USB-SATA Adaptern als driveruassteht, unterstützen die UASP https://www.jeffgeerling.com/blog/2020/uasp-makes-raspberry-pi-4-disk-io-50-faster
Festplatte löschen bzw. freien Platz überschreiben
- einmal überschreiben genügt egal mit null oder was auch immer: https://www.heise.de/-198816
- Prinzip
- a): nur freier Speicherplatz: in Verzeichnis vom Laufwerk gehen, das überschrieben werden soll
cd Verzeichnis auf HDD (Stammverzeichnis)dd /dev/zero leeredatei status=progress- warten auf die Meldung, dass kein Speicherplatz mehr da ist,
- Datei
leerdateilöschen (alles bis auf ganz wenig freier Speicherplatz ist überschrieben
- b) Ganze Platte löschen: mit
blkiddie Platte identifizieren!!!!dd bs=1M if=/dev/zero of=/dev/sdX status=progressüberschreibt die Partition/Platte- Dauer 500GB an USB2.0: (500 GB, 466 GiB) kopiert, 12959,4 s, 38,6 MB/s = 3,6h
- Dauer 1TB an USB3 (odroid xu4) (1,0 TB, 932 GiB) copied, 13565 s, 73,7 MB/s = 3,77h
- Dauer 2TB an USB3 (odroid xu4) (2,0 TB, 1,8 TiB) copied, 24705,5 s, 81,0 MB/s = 6,87h
- 500 GB in OneTouch USB3 (i5-3470) Seagate v. 2013 (500 GB, 466 GiB) kopiert, 13788,7 s, 36,3 MB/s = 3,83h
Festplatte Image sichern für Wiederherstellung gelöschter Dateien, nach versehentlichen Formatieren
- sichern, unkompirmiert:
dd if=/dev/sda bs=4M | pv | of=/dev/sdd1/meinbackup_2.imgsudo dd if=/dev/sda bs=4M | pv | gzip > backup.img.gz
- Wiederherstellen:
gzip -dc backup.img.gz | pv | sudo dd of=/dev/sda bs=4Mbzw.sudo dd if=/dev/sdd1/meinbackup_2.img | pv | of=/dev/sda bs=4M(ungestestet)
Festplatten einhängen, home auf einer anderen Platte, Verzeichnisse mounten
- ist ein Laufwerk im Ordner/mnt eingehängt, wird es nicht als Symbol angezeigt
- mount –bind /dsv/sdc/ordner /home/neuer Ordner bindet einen Ordner an einer beliebigen Stelle ein
- in der Datei /etc/fstab werden dauerhafte mounts eingetragen
Analysieren von Programmen
stracezeigt die Aufrufe des Programms anstrace -e open bashOpensystemcalls für das Programm bash anzeigen- write, execve, recvfrom
timezeigt, wie lang das Programm lief, wieviel CPU genutzt wurde, … Achtung: in bash gibt es time als Befehl, es muss der richtige gewählt werden /usr/bin/time/usr/bin/time -f „\t%E real,\t%U user,\t%S sys, \t%PCPU“ df -h
sudo ngrep -d lo 5000zeige Netzwerktraffic am Gerät localhost port 5000 ancurl –header „Accept-language: en-US“ localhost:5000Header setzen- weitere Netzwerktools: tcpdump, wireshark, mitmproxy
- Stack anzeigen für PID
pgrep -f mysteryPID ermitteln z.B. 12345sudo cat /proc/12345/stack- oder in einer Zeile
sudo cat /proc/(pgrep -f mystery)/stack
dstat -dZeigt Lese- und Schreiboperationen an- Anzeig der Version von glibc:
ldd –version
Netzwerk
- Gateway anzeigen:
ip routeoderip route | grep default ip -6 aIPv6 Adresse anzeigennetstat -tulpn- offene Ports anzeigenip -br -c addr showtabelarisch die Netzwerkadressen anzeigenip -br -c link showtabelarisch die Verbindungen anzeigen- Gerät im Netzwerk suchen
sudo nmap -sn 192.168.178.0/24 - Versionen und Verletzlichkeit von SSL anzeigen und analysieren: https://testssl.sh/
Firefox
- Addons
- uBlock origin
- Export Tabs URLs
- I don't care about cookies
- Video DownloadHelper
- Startpage.com — Datenschutz-Suchmaschine
home-Assistant
Services
- es gibt verschiedene Systeme für Services, die auf verschiedenen Systemen eingesetzt werden:
sudo service network-manager restart, z.B. nachdemsudo xed /etc/hostsgeändert wurdesystemctl
/etc/init.dSystem
Debugging, Fehlersuche
- Samba CIFS Suche
cat /proc/fs/cifs/DebugData,tail -f /var/log/kern.log
Bash Skripte
#!/bin/sh set -euo pipefailbei Fehler abbrechen, nicht weitermachen wenn eine Variable nicht gesetzt ist und wenn eins von mehreren Befehle in einer Pipe fehl schlägt, Quelle: https://infosec.exchange/@darkuncle/113032028521655044
Weiteres
- HP Druckertreiber und Scanner: https://developers.hp.com/hp-linux-imaging-and-printing
- aus Downloadordern woanders hin kopieren
sudo apt-get remove libhpmud0 libsane-hpaiosh hplip-3.20.11.run
- Elektrocad https://qelectrotech.org/
- Neueste Entwicklerversion:
sudo add-apt-repository ppa:scorpio/qelectrotech-dev sudo xed /etc/apt/preferences.d/40qelectrotech-develPackage: qelectrotech*
Pin: version 0.90.*
Pin-Priority: 1001sudo apt-get update
- Elektonikcad https://kicad.org
- Bild von Videoquelle anzeigen (Eigentlich eine GUI für Videoquellen und deren Einstellungen) https://wiki.ubuntuusers.de/guvcview/
- Ein mit LUKS verschlüsselte Platte (aus Laptop, mit Passwort beim Booten) einhängen: Über GUI „Laufwerke“ gibts ein Symbol mit offenen/geschlossenen Schloss, damit kann die LUKS Partition eingehängt und ausgehängt werden
- Eine verschlüsseltes Homeverzeichnis kann mit dem Befehl
ecryptfs-recover-private /media/<UUID>/home/.ecryptfs/<USERNAME>/.Privatein der /tmp Verzeichnis mit Read-only eingehängt werden, zum Schreibzugriff-rwergänzen Link (Wenn es das TMP Verzeichnis nicht mounten kann, dannwhich ecryptfs-recover-privatekopieren und editieren, fünftletzte Zeile im Mountbefehl '-i' (lokaly only) entfernen) - Benchmark Phoronix Test Suite: Paket (deb) von https://phoronix-test-suite.com/?k=downloads
phoronix-test-suite benchmark c-rayphoronix-test-suite benchmark build-linux-kernel- Meldung:
tools/objtool/include/objtool/elf.h:10:10: fatal error: gelf.h: Datei oder Verzeichnis nicht gefunden–>apt install libelf-dev
- i7 work: Intel Core i7-3770 @ 3.90GHz: C-Ray 277.853 Seconds, build-linux-kernel 275.392 Seconds
- Cron Jobs von allen Nutzern anzeigen:
for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; doneQuelle: Tamara https://debianforum.de/forum/viewtopic.php?t=104233 - Hardware anzeigen
sudo lshw -short - Cisco PacketTracer installieren: nicht Doppelklick (gdebi?) hat keinen Erfolg –>
sudo dpkg -i CiscoPacketTracer822_amd64_signed.deb - fehlende Abhängigkeiten installieren
apt install -f
Audio
- Ein/Ausgabegeräte auflisten
pacmd list-sink-inputs,pactl list short sources,pactl list short- baudline um eine Spektrum anzuzeigen https://www.baudline.com/download.html
- starten und (im Verzeichnis wo baudline entpackt ist):
parec –format=s16le –channels=1 –latency-msec=5 | ./baudline -stdin- Manchmal muss ich rechtsklicke und pause oder record klicken, dass ich was sehe
- manchmal musste ich erst in den Klangeinstellungen die richtige Audioquelle auswählen.
- Wenn im Terminal der Befehl 'parec -d ' und dann [TAB] drücke, kommt die Autovervollständigung und du findest verschiedene Geräte. So kann ich mit
parec -d alsa_input.usb-046d_HD_Pro_Webcam_C920_D64B083F-02.analog-stereo –format=s16le –channels=1 –latency-msec=5 | ./baudline -stdinmein Mikrofon der Webcam direkt nutzen.- Farbmodus umstellen: Rechte Maustaste im Wasserfalldiagramm –> input –> channel mapping –> letzte Spalte Color umstellen
Autobingooo
- FAQ sagt,
Gibt es eine Version für andere Betriebssysteme als Windows? Zusätzlich bieten wir AutoBINGOOO für Mac OSX an. Linux unterstützen wir nicht nativ, es ist aber möglich Win32-Software mittels Windows-Emulation auf einem Linux-Rechner zu betreiben. Support für diese Einrichtung können wir aber nicht bieten. - Vorbereitung:
sudo apt-get install wine-stable - Installation:
wine setup_autobingooo.exe - Über Menü Start –> Wine –> Autobingooo
- Meldung „… antwortet nicht, „Warten“ klicken
- rechts unten: „Jetzt testen!“ klicken
SSH für Git erstellen
- (Schlüssel erzeugen)
ssh-keygen -t rsa -b 4096 -C „your.email@example.com“(mit oder ohne Password, in Datei is_rsa und id_rsa.pub) sudo chmod 600 ~/.ssh/id_rsaundsudo chmod 600 ~/.ssh/id_rsa.pub- Inhalt aus id_rsa.pub in gitlab unter Einstellungen ssh-Keys eintragen und Namen geben
- in der Kommandoteile die Verbindung testen:
ssh -T git@git_server.org - remote von https zu ssh umstellen:
- anzeigen lassen
git remote -v - ändern:
git remote set-url origin git@git_server.org:user/repo_url_for.git
CD oder DVD Laufwerk als Image verwenden
Eine ISO Datei erstellen:
dd if=/dev/cdrom of=image.iso
Eine ISO Datei einbinden:
mkdir verzeichnis
sudo mount image.iso ~/verzeichnis -o users,ro,loop
Die Bedeutung der Schalter und Optionen: sudo: als Superuser arbeiten, mount ist der Befehl, image.iso der Dateiname ~/verzeichnis der Pfad (muss vorhanden und leer sein) wo das Image verfügbar gemacht werden soll, -o user, dass von jedem Benutzer wieder ein unmount gemacht werden kann, ro bedeutet read-only, und loop, dass es kein Gerät sondern eine Umleitung ist. Quelle u.a.: [http://www.arsenal-of-wisdom.org/?p=212]
Wieder trennen:
umount ~/verzeichnis
Weiteres zum arbeiten mit DVDs: https://wiki.ubuntuusers.de/dvdbackup/ dvdbackup -M -i /dev/dvd -o ~/Videos
NAS ZyXEL NSA325
In Settings Telnet aktivieren, dann mit z.B. PuTTY.exe [http://winscp.net/eng/download.php#putty] [http://winscp.net/download/putty.exe] in die busybox gehen. Jetzt kann z.B. die [http://www.cis.upenn.edu/~bcpierce/unison/index.html|Unison] Archiv für ARM von [http://www.crutzi.info/unison/binary/armel] laden mit dem Befehl:
wget www.crutzi.info/sites/default/files/unison-2.40.102-static-armel.zip
entpacken mit
unzip unison-2.40.102-static-armel.zip
und ausführbar machen mit
chmod u+x unison
Jetzt kann ein kurzer (Selbst)Test zeigen ob das Programm arbeitet:
./unison -selftest
Der nächste Schritt wäre das einrichten von SSH und starten von unison als Server…
