index: use literal formatting for fingerprint
[KenyonWiki.git] / One-liners.mdwn
1 [[!wikipedia one-liner program desc="One-liners"]] I have created or found useful.
2
3 1. [sed one-liners](http://sed.sourceforge.net/sed1line.txt)
4 1. [awk one-liners](http://www.pement.org/awk/awk1line.txt)
5 1. Read numbered log files (as generated by [[!debpkg logrotate]]) sequentially: `less $(echo /var/log/all.log* | tr ' ' '\n' | sort --version-sort)`
6 * Look for a pattern in logs: `zgrep "pattern" $(echo /var/log/all.log* | tr ' ' '\n' | sort --reverse --version-sort)`
7 1. Make an IPv6 PTR record for a /64 zone (change the 16 to 20 in the cut command for a /48 zone): `echo $(host 2001:470:1f05:4ef::999 | cut --delimiter=' ' --fields=2 | cut --delimiter=. --fields=1-16) IN PTR whatever.kenyonralph.com.`
8 1. Find -doc packages that aren't installed: `aptitude search '~RBsuggests:~i!~i~n-doc'`
9 * Long version: `aptitude search '?and(?broken-reverse-suggests(?installed), ?not(?installed), ?name(-doc))'`
10 * [aptitude search term reference](file:///usr/share/doc/aptitude/html/en/ch02s04s05.html) (in [[!debpkg aptitude-doc-en]])
11 1. Mount a USB stick on FreeBSD: `sudo mount -t msdosfs /dev/da0s1 /mnt`
12 1. Mount a USB stick on Linux: `sudo mount -t vfat /dev/sdb1 /mnt`
13 1. Show an ssh host key fingerprint: `ssh-keygen -l -v -f /etc/ssh/ssh_host_dsa_key` (or ...`rsa_key`)
14 1. Count dependencies of a deb: `dpkg-deb --field filename.deb depends | tr --delete ',' | tr ' ' '\n' | wc -l`
15 1. Activate ssh-agent: `eval $(ssh-agent) && ssh-add ~/.ssh/id_rsa`
16 1. `sha512sum` on Mac OS X (or any system with OpenSSL): `openssl dgst -sha512 filename` (with OpenSSL from MacPorts)
17 1. Get rid of "Warning: No xauth data; using fake authentication data for X11 forwarding.": `xauth generate :0 .`
18 1. To stop the blinking cursor in GTK+-based [Eclipse](http://eclipse.org/) (on Linux at least), put the following line in `~/.gtkrc-2.0`: `gtk-cursor-blink = 0`
19 1. Remove comment lines from configuration files: `grep --invert-match '^\[[:space:]]*#' /etc/file | cat --squeeze-blank`
20 * There is a more sophisticated version of `cat --squeeze-blank` in the [GNU sed Info documentation](http://www.gnu.org/software/sed/manual/html_node/cat-_002ds.html#cat-_002ds).
21 1. Remove all blank lines: `sed '/^\[[:space:]]*$/d'`
22 1. Remove comments and blank lines: `grep --invert-match --regexp '^\[[:space:]]*#' --regexp '^\[[:space:]]*$' /etc/file`
23 1. Bash glob for all directory entries, including hidden: `{.[!.]*,*}`
24 * <http://stackoverflow.com/questions/1586477/bash-globbing-autoexpand-for-a-few-specific-cases>
25 1. Show top 20 processes by memory usage: `ps -eo rss,vsz,pid,cputime,cmd --width 100 --sort rss,vsz | tail --lines 20`
26 1. Get [ARIN](http://arin.net/) whois info: `whois -h whois.arin.net "n + 127.0.0.1"`
27 * ARIN whois query syntax: `whois -h whois.arin.net "?"`
28 1. [Get external IP address](http://www.commandlinefu.com/commands/view/5427/get-your-external-ip-address):
29 * IPv6 and IPv4: `wget -qO- icanhazip.com`
30 * IPv4 only: `curl ifconfig.me`
31 1. Convert a hexadecimal IPv4 address, like you would see in NAT64 and DNS64, to dotted-decimal format: `printf "%d.%d.%d.%d\n" $(echo c0a8:ff01 | sed 's/://; s/../0x& /g; s/\.$//')`
32 1. Generate IPv6 Unique Local Address prefix `head -c5 /dev/random | hexdump -e '/1 "%02x "' | awk '{printf("fd%s:%s%s:%s%s::/48\n",$1,$2,$3,$4,$5)}'`
33
34 [[!tag Linux Debian "Mac OS X" FreeBSD]]