Dies ist eine alte Version des Dokuments!
git remote update origin --prune
git clean -Xdf
## total number (in all branches) git rev-list --all | wc -l ## number per committer git shortlog -s -n --all
gcc -dM -E -x c /dev/null g++ -dM -E -x c /dev/null clang -dM -E -x c /dev/null clang++ -dM -E -x c /dev/null
# certificate has PEM format (Pretty Enhanced Mail) openssl x509 -in cert-file.pem -text -noout -fingerprint # certificate has DER format (Distinguished Encoding Rules) openssl x509 -inform der -in cert-file.cer -text -noout -fingerprint
openssl rsa -in privkey.pem -text -noout
openssl req -in csr.pem -noout -text
openssl pkcs12 -in yourP12File.pfx -clcerts -nokeys -out publicCert.pem openssl pkcs12 -in yourP12File.pfx -nocerts -out privateKey.pem
openssl genrsa -out privKey.pem openssl req -new -x509 -key privKey.pem -out cert.pem
## with AES-NI (if available) openssl speed -evp aes-256-cbc ## without AES-NI OPENSSL_ia32cap="~0x200000200000000" openssl speed -evp aes-256-cbc ## multithread openssl speed -multi 2 -evp aes-256-cbc
openssl asn1parse -in someCertOrKeyOrOther.pem
curl test.schrimpe.de -x <[protocol://][user:password@]proxyhost[:port]> | w3m -dump -T text/html # for Squid running on localhost that's: curl test.schrimpe.de -x 127.0.0.1:3128 | w3m -dump -T text/html
curl https://test.schrimpe.de/ -w %{time_connect}:%{time_starttransfer}:%{time_total}
nc -w3 -z 192.168.0.1 80 ## return code zero on success
dig somehostname.local @224.0.0.251 -p 5353
## 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 ## if your resolver does not support DNSSEC, use a public one, e.g. Hurricane Electric drill -S -k /usr/local/etc/unbound/root.key kuehrmann.de @74.82.42.42
dig www.dnssec-failed.org
dig txt qnamemintest.internet.nl +short
nmap -p- somehost.example.com
nmap -R -sL 198.51.100.96/27 nmap -R -sL -6 2001:db8::43a1:89d0/124
## probe TCP connect on Port 80 with five attempts for each host nping 198.51.100.96/27 ## probe ICMP with five attempts for each host nping --icmp 198.51.100.96/27 ## probe ICMP with one attempt for each host and 200ms between requests (and decrease verbosity) nping -q --count 1 --delay 200ms --icmp 198.51.100.96/27
find /your/dir -type l ! -exec test -e {} \; -print
find /your/dir -type f -name .DS_Store -print -delete
# create checksums of directory tree rhash -r --md5 /backups/ > /tmp/backups.md5 rhash -r --crc32 /backups/ > /tmp/backups.sfv # check one file containing MD5 hashes rhash -c /tmp/backups.md5 # check all SFV, MD5 and SHA-256 files in directory tree rhash -cr --crc-accept=sfv,md5,sha256 /tmp/directory/
touch -a -m -t 202612180130.09 fileName.ext ## -a = accessed ## -m = modified ## -t = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format
## create a 100 GiB sparse file truncate -s 100G fileName.ext ## copy sparse files (works also from/to block devices; 4k should match the block size used within you sparse file) dd if=inputSparse.ext of=outputSparse.ext bs=4096 conv=sparse
7z a -p -mhe=on the_new_archive.7z -r dir_containing_stuff another_file.bin
file -s /dev/sd*
## from a local disk send compressed image to remote host dd if=/dev/sda bs=1048576 | pv | lz4 | ssh user@dest.example.com "dd of=/backup/basil-sda.img.lz4" ## to a local disk receive compressed image from remote host ssh user@src.example.com "cat /backup/basil-sda.img.lz4" | lz4cat | pv | dd of=/dev/sda bs=1048576
## make a big image small 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
### 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
## with BSD date date -r 1523210382 ## with GNU date date -d @1523210382
## prettify XML (proper indentation) xmllint --format input_ugly.xml > output_pretty.xml ## uglify XML (remove unnecessary whitespace) xmllint --noblanks input_pretty.xml > output_ugly.xml
xxd -i someFile.bin
## convert from "UTF-8" to "ISO-8859-1" recode utf8...latin1 test.dat ## autodetect and convert to "ISO-8859-1" recode ..latin1 test.dat ## list available encodings available in your "recode" build recode --list
recode(1) (more lightweight and probably already installed alternative: iconv(1))
ggrep --color='auto' -P -n "[\x80-\xFF]" file.txt
grep -axv '.*' file.txt
recode latin1/..count-characters < input.dat
## create named session using the terminal emulator "screen" screen -dMS some_session_name /usr/bin/command command_args ## show PID of the "screen" session screen -lsS some_session_name | awk '/\.some_session_name\t/ {print $1}' | cut -d. -f1 ## attach to the session screen -rS some_session_name
pgrep -P 56789
## show the current history history ## determine the entry number, in this example the desired entry was #501 history -d 501
unset HISTFILE