User:Int 80h/commands

Source: Wikipedia, the free encyclopedia.

Useful Commands (and their options and switches)

  • 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. Optional bs=<size>.
  • btrfs filesystem mkswapfile --size <size> --uuid clear <file>
    Create a swap file on btrfs
  • ffmpeg -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 for ls -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

(WIP) nload, iftop, iptraf, nethogs, bmon, slurm, tcptrack, vnstat, bwm-ng, cbm, speedometer, pktstat, netwatch, trafshow, netload, ifstat, dstat, collectl

Pandoc

  • 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

  • CPPFLAGS="-I$HOME/include" LDFLAGS="-L$HOME/lib" PKG_CONFIG_PATH="$HOME/include/pkgconfig" make
    run make for something that needs local libs. Also works for ./configure

Windows

  • 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

  •  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

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

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.
  •  xrandr --newmode <Modeline>
     xrandr --addmode <port> <Modename>
     xrandr --output <port> --mode <Modename>
    
    <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>.
Check Linux distro version

(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

(WIP) rpm -qa --queryformat '%10{size} - %-25{name} \t %{version}\n' | sort -n

Get hardware details

(WIP) uname -a, lshw, lscpu, lsblk -a, lsusb -v, lspci, lsscsi, hdparm </dev/sda2>

Rsync to somewhere using SSH with symlink dereferencing

(WIP) rsync -aPEmivvzL -e "ssh [-p <port>]" <file> [<user>@]<host>[:<dir>] the L option dereferences links, -p <port> option optional