User:Int 80h/commands
Useful Commands (and their options and switches)
[edit]rsync -aPEmivvz <src_dir> <dst_dir>
Actually good copying without huge suckage!rsync -rtuPmvvz <src_dir> <dst_dir>
Useful for copying between shares on the same mount tree.latexmk -xelatex -interaction=nonstopmode -synctex=1 -pv <latex.tex>
Sensible LaTeX compiling.ssh <user>@<host> -L 0.0.0.0:<loc_port>:<host>:<host_port>
Create a sensible port forwarding to a host, that's sitting behind a firewall, where SSH is the only way to get access to. <loc_port> is the ports on the machine you're SSH-ing from. <host_port> is the port on the <host> that we're trying to forward to.ssh <user>@<host> -XY
Make X forwarding work, even when the Admins are idiots.netstat -alptune
Useful and grep-able netstat output.xz -9ve <file>
Very high compression if you want to feel really special.mplayer -ass -embeddedfonts <video>
mplayer with embedded subtitle fonts, and everything...gm convert -density 150 -type GrayScaleMatte <document.pdf> -trim <image.png>
Convert a PDF to PNG.mkisofs -J -l -r -f -allow-lowercase -allow-leading-dots -A "<friendly name>" -V "<vol_name>" -o <file.iso> [<files>|<directories>]
Create standard data CD ISO. Optional-iso-level [1234]
.dd if=/dev/zero of=<file> count=0 seek=<blocknum>
Quickly make an empty file. Optionalbs=<size>
.btrfs filesystem mkswapfile --size <size> --uuid clear <file>
Create a swap file on btrfsffmpeg -f rawvideo -pix_fmt yuv420p -s:v <width>x<heigh> -r <framerate> -i input.yuv -c:v libx265 -preset veryslow -x265-params crf=15 out.mkv
Convert uncompressed video using h.265 (HEVC).crf
selects quality, goes from 0 (highest) to 51.-preset
has various settings, file becomes smaller, the slower the process.pacmd list-sources
Print all attached audio devices to pulseaudio.pactl load-module module-loopback latency_msec=1
Load module to playback input straight through to an output device.setxkbmap -option compose:menu
Set Menu key to be compose, no matter the keyboard mapping.setxkbmap -layout us -variant altgr-intl -option compose:menu
Set keyboard mapping to US-AltGr-Intl with a Compose key.setxkbmap -layout us -variant altgr-intl -option compose:menu -option caps:swapescape
Set keyboard mapping to US-AltGr-Intl with a Compose key and make Backspace a lot less useless.setxkbmap -layout us -variant altgr-intl -option compose:menu -option caps:swapescape -option numpad:mac
Numpad always sends numbers, regardless of Numlock. Opens up the Numlock Key to be a different key alltogether for instance KP_Equals.ffmpeg -i <input.mp4> -c copy -metadata:s:v:0 rotate=<deg> <output.mp4>
Rotates a video by altering meta data. This doesn't work universally, but it beats recoding the video.mpv <channel name> --ytdl-format='bestvideo[height<=144]+bestaudio' --ytdl-raw-options='continue=,ignore-errors='
Plays all the videos in a youtube channel in a tiny window, perfect for "Podcasts" which aren't really podcasts. Also good for channels filled with music.7z a -t7z -m0=BCJ2 -m1=LZMA2:d=1024m -aoa -mx=9 -ms=on <archive> <files>
Efficiently pack binary data into 7-Zip archives, including already compressed stuff, like MP3s or JPEGs.<whatever cmd> | awk '{ print length; $0 }' | sort -n | cut -d' ' -f2-
Sort whatever command output by length. Useful forls -1
and whatnot.flac --no-padding --force-raw-format --endian=little --sign=signed --channels=2 --bps=16 --sample-rate=44100 -o zero.flac - </dev/null
Create a zero-length (zero samples) FLAC file. Serves nicely as placeholders and as containers for metadata, channel and bitstream configuration, etc.
Network monitoring
[edit](WIP)
nload
, iftop
, iptraf
, nethogs
, bmon
, slurm
, tcptrack
, vnstat
, bwm-ng
, cbm
, speedometer
, pktstat
, netwatch
, trafshow
, netload
, ifstat
, dstat
, collectl
Pandoc
[edit]pandoc <input.md> -o <output.html> -s -S -i --toc --html-q-tags -m {-c <opt.css>} {-H <header.html>} -f markdown+tex_math_single_backslash -t html5 --normalize --highlight-style tango
Pretty much basic and general setup. Assumes additional setup in header files. KaTeX has to be set up via tailored header files.pandoc <input.md> -o <output.html> -s -S -i --toc --html-q-tags --mathjax=res/MathJax/MathJax.js\?config=TeX-AMS-MML_HTMLorMML {-c <opt.css>} {-H <header.html>} -f markdown+tex_math_single_backslash -t html5 --normalize --highlight-style tango
Local MathJax installation.
Compiler stuff
[edit]CPPFLAGS="-I$HOME/include" LDFLAGS="-L$HOME/lib" PKG_CONFIG_PATH="$HOME/include/pkgconfig" make
runmake
for something that needs local libs. Also works for./configure
Windows
[edit]reg add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map" /t REG_BINARY /d "00000000000000000300000001003A003A00010000000000" /f
make CapsLock be Escape. Good for Vim and such.reg add HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Console\TrueTypeFont /v "00" /t REG_SZ /d "Consolas" /f
Add Consolas as general purpose font for the Console.
Fonts
[edit]mkfontdir <directory> xset fp+ <directory> xset fp rehash
This makes PCF fonts available in X. A fonts.alias
can be placed in the directory for font name aliases.
fc-cache -vf
Re-read fontconfig directories.
XFCE autostart
[edit]When starting applications automatically on logon (Settings > Session and Startup > Application Autostart), XFCE seems to be rather picky about a few things. Here are the workarounds and bodges.
/bin/sh -c "sleep 5"; xmodmap ~/.Xmodmap"
this applies custom.Xmodmap
settings after logging in, gracefully. Otherwise XFCE does whatever it feels like with this...
Video Modes
[edit]If a video mode for whatever output isn't available, it can be added in-situ.
cvt <width> <height>
This will display a Modeline, which has to be used with xrandr. Anything else after "Modeline" in the output, is the actual Modeline, with whatever is in quotes, is the Name, and can be freely changed.- <Modeline> refers to the cvt output above, anything except the first word "Modeline". <Modename> refers to the name given to the Mode, usually what has been used in quotes for --newmode <Modeline>.
xrandr --newmode <Modeline> xrandr --addmode <port> <Modename> xrandr --output <port> --mode <Modename>
Check Linux distro version
[edit](WIP)
uname -a
, lsb_release -a
, cat /etc/*release
, cat /etc/issue*
, cat /proc/version
, cat /etc/os-release
, hostnamectl
,
List all packages by size
[edit](WIP) rpm -qa --queryformat '%10{size} - %-25{name} \t %{version}\n' | sort -n
Get hardware details
[edit](WIP)
uname -a
, lshw
, lscpu
, lsblk -a
, lsusb -v
, lspci
, lsscsi
, hdparm </dev/sda2>
Rsync to somewhere using SSH with symlink dereferencing
[edit](WIP)
rsync -aPEmivvzL -e "ssh [-p <port>]" <file> [<user>@]<host>[:<dir>]
the L
option dereferences links, -p <port>
option optional