Benutzer-Werkzeuge

Webseiten-Werkzeuge


commands-general-tools

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
commands-general-tools [2019/03/13 18:38]
alex [Conversion Stuff] file content character/byte occurences
commands-general-tools [2020/05/12 01:49] (aktuell)
alex [File Stuff] view contents of ZIP or TAR files without complete extracting
Zeile 33: Zeile 33:
 clang++ -dM -E -x c /dev/null clang++ -dM -E -x c /dev/null
 </​code>​ </​code>​
 +
 ==== OpenSSL ==== ==== OpenSSL ====
  
Zeile 117: Zeile 118:
 === verify DNSSEC chain of a domain === === verify DNSSEC chain of a domain ===
 <code bash> <code bash>
-## obtain ​the root keys first+## if you don't have the root keys yet, obtain them first 
 +unbound-anchor -a /​usr/​local/​etc/​unbound/​root.key 
 +## if the root key file is at the standard path of your unbound/​ldns installation,​ the "​-k"​ option can be omitted
 drill -S -k /​usr/​local/​etc/​unbound/​root.key kuehrmann.de drill -S -k /​usr/​local/​etc/​unbound/​root.key kuehrmann.de
-## if your resolver does not support DNSSEC use e.g. Quad9 +## if your resolver does not support DNSSECuse a public one, e.g. Hurricane Electric 
-drill -S -k /​usr/​local/​etc/​unbound/​root.key kuehrmann.de @9.9.9.9+drill -S -k /​usr/​local/​etc/​unbound/​root.key kuehrmann.de @74.82.42.42
 </​code>​ </​code>​
-[[https://​www.freebsd.org/​cgi/​man.cgi?​query=drill&​sektion=1| drill(1)]]+[[https://​www.freebsd.org/​cgi/​man.cgi?​query=drill&​sektion=1|drill(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=unbound-anchor&​sektion=8|unbound-anchor(8)]]
  
 === check whether your DNS resolver discards invalid DNSSEC domains === === check whether your DNS resolver discards invalid DNSSEC domains ===
Zeile 165: Zeile 168:
 find /your/dir -name "​*.cpp"​ -print0 | xargs -0 wc -l find /your/dir -name "​*.cpp"​ -print0 | xargs -0 wc -l
 </​code>​ </​code>​
 +[[https://​www.freebsd.org/​cgi/​man.cgi?​query=find&​sektion=1|find(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=xargs&​sektion=1|xargs(1)]]
  
 === check recursively for broken symlinks === === check recursively for broken symlinks ===
Zeile 170: Zeile 174:
 find /your/dir -type l ! -exec test -e {} \; -print find /your/dir -type l ! -exec test -e {} \; -print
 </​code>​ </​code>​
 +[[https://​www.freebsd.org/​cgi/​man.cgi?​query=find&​sektion=1|find(1)]]
  
 === delete recursively all files with a certain name (e.g. “.DS_Store”) === === delete recursively all files with a certain name (e.g. “.DS_Store”) ===
Zeile 175: Zeile 180:
 find /your/dir -type f -name .DS_Store -print -delete find /your/dir -type f -name .DS_Store -print -delete
 </​code>​ </​code>​
 +[[https://​www.freebsd.org/​cgi/​man.cgi?​query=find&​sektion=1|find(1)]]
  
 === create checksums of directory tree and verify them === === create checksums of directory tree and verify them ===
Zeile 186: Zeile 192:
 rhash -cr --crc-accept=sfv,​md5,​sha256 /​tmp/​directory/​ rhash -cr --crc-accept=sfv,​md5,​sha256 /​tmp/​directory/​
 </​code>​ </​code>​
-[[https://​www.freebsd.org/​cgi/​man.cgi?​query=rhash|man rhash]]+[[https://​www.freebsd.org/​cgi/​man.cgi?​query=rhash&​sektion=1|rhash(1)]]
  
 === create a file with specific timestamps === === create a file with specific timestamps ===
Zeile 195: Zeile 201:
 ## -t = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format ## -t = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format
 </​code>​ </​code>​
-[[https://​www.freebsd.org/​cgi/​man.cgi?​query=touch|man touch]]+[[https://​www.freebsd.org/​cgi/​man.cgi?​query=touch&​sektion=1|touch(1)]]
  
 === handle sparse files === === handle sparse files ===
Zeile 204: Zeile 210:
 dd if=inputSparse.ext of=outputSparse.ext bs=4096 conv=sparse dd if=inputSparse.ext of=outputSparse.ext bs=4096 conv=sparse
 </​code>​ </​code>​
-[[https://​www.freebsd.org/​cgi/​man.cgi?​query=truncate|man truncate]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=dd|man dd]]+[[https://​www.freebsd.org/​cgi/​man.cgi?​query=truncate&​sektion=1|truncate(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=dd&​sektion=1|dd(1)]] 
 + 
 +=== create a 7-ZIP archive encrypted with a password === 
 + 
 +<code bash> 
 +7z a -p -mhe=on the_new_archive.7z -r dir_containing_stuff another_file.bin 
 +</​code>​ 
 +[[https://​www.freebsd.org/​cgi/​man.cgi?​query=7z&​sektion=1|7z(1)]] 
 + 
 +=== view contents of ZIP or TAR files without complete extracting === 
 +<code bash> 
 +### example of "​Android Package Kit" which is actually a ZIP file 
 +unzip -l SomeAndroidApp.apk 
 +unzip -p SomeAndroidApp.apk META-INF/​MANIFEST.MF 
 +### example of an "Open Virtual Appliance"​ which is actually a TAR file 
 +tar -tf SomeAppliance.ova 
 +tar -xfO SomeAppliance.ova SomeAppliance.ovf 
 +</​code>​ 
 +[[https://​www.freebsd.org/​cgi/​man.cgi?​query=unzip&​sektion=1|unzip(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=tar&​sektion=1|tar(1)]] 
 + 
 ==== Disk and Partition Stuff ==== ==== Disk and Partition Stuff ====
  
Zeile 219: Zeile 245:
 ssh user@src.example.com "cat /​backup/​basil-sda.img.lz4"​ | lz4cat | pv | dd of=/dev/sda bs=1048576 ssh user@src.example.com "cat /​backup/​basil-sda.img.lz4"​ | lz4cat | pv | dd of=/dev/sda bs=1048576
 </​code>​ </​code>​
 +
 ==== Conversion Stuff ==== ==== Conversion Stuff ====
  
-=== make a big image small with ImageMagick ===+=== convert ​image file using ImageMagick ===
 <code bash> <code bash>
 +## make a big image small
 convert big_input.tif -resize 256x256 small_output.png convert big_input.tif -resize 256x256 small_output.png
 +## make an image grayscale and remove any transparency
 +convert input.png -alpha deactivate -colorspace Gray output.png
 +## create PNG with transparency from SVG, determine it's pixel dimensions from a DPI parameter
 +convert -background none -density 1200 input.svg output.png
 +## create PNG with transparency from SVG, specify it's pixel dimensions directly
 +convert -background none -size 512x512 input.svg output.png
 </​code>​ </​code>​
 [[https://​www.freebsd.org/​cgi/​man.cgi?​query=convert&​sektion=1|convert(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=ImageMagick&​sektion=1|ImageMagick(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=convert&​sektion=1|convert(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=ImageMagick&​sektion=1|ImageMagick(1)]]
  
-=== make an image grayscale ​and remove any transparency with ImageMagick ​=== +=== batch convert images in a directory: rename by creation date and resize to width === 
-<​code>​ +<​code ​bash
-convert input.png -alpha deactivate ​-colorspace Gray output.png+### for JPGs 
 +exiftool -ext jpg '​-FileName<​CreateDate'​ -d %Y%m%d_%H%M%S%%-c.%%e . 
 +mogrify ​-resize 375 -define preserve-timestamp=True *.JPG 
 +### for PNGs 
 +exiftool -ext png '​-FileName<​DateCreated'​ -d %Y%m%d_%H%M%S%%-c.%%e . 
 +mogrify -resize 375 -define preserve-timestamp=True *.PNG 
 +### Comments: 
 +## the "​%%-c"​ in the filename template is for a numerical suffix, in case of multiple images with the same date 
 +## the "​-define preserve-timestamp=True"​ is for keeping file attributes for timestamps 
 +## for case-sensitive filesystems in the "​mogrify"​ command the glob pattern must be adjusted
 </​code>​ </​code>​
-[[https://​www.freebsd.org/​cgi/​man.cgi?​query=convert&​sektion=1|convert(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=ImageMagick&​sektion=1|ImageMagick(1)]]+[[https://​www.freebsd.org/​cgi/​man.cgi?​query=exiftool&​sektion=1|exiftool(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=mogrify&​sektion=1|mogrify(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=ImageMagick&​sektion=1|ImageMagick(1)]]
  
 === Unix timestamp to human readable time === === Unix timestamp to human readable time ===
Zeile 284: Zeile 327:
 </​code>​ </​code>​
 [[https://​www.freebsd.org/​cgi/​man.cgi?​query=recode&​sektion=1|recode(1)]] [[https://​www.freebsd.org/​cgi/​man.cgi?​query=recode&​sektion=1|recode(1)]]
 +
 ==== Process Stuff ==== ==== Process Stuff ====
  
commands-general-tools.1552498726.txt.gz · Zuletzt geändert: 2019/03/13 18:38 von alex