# Aliases and similar functions which can be used by all shells (supporting
# them).
-# Copyright (C) 2011-2013 Simon Ruderich
+# Copyright (C) 2011-2015 Simon Ruderich
#
# This file is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
alias d=cd
alias e=elinks
alias g=git
+alias h=htop
alias l=ls
alias m=make
alias p=less # p for pager
+alias s=ssh
+alias t=tig
alias v=vim
+alias x=exit
# Shortcuts for a little less used programs.
+alias ga='git annex'
+alias gr=grep
+alias gri='grep -i'
+alias grr='grep -r'
+alias grri='grep -ri'
+alias mc='make clean'
+alias mj='make -j$(nproc)'
alias mu=mutt
+alias rs=reset # like git's reset alias
+alias sa='ssh-add -t 1h'
+alias te=tree
+# systemd ... (sc is provided as shell script for better completion)
+alias jc=journalctl
+alias lc=loginctl
+alias mc=machinectl
-unalias mv cp 2> /dev/null
+unalias mv cp 2>/dev/null
# Ask for confirmation before overwriting files. Especially useful when moving
# to a different directory. No alias for `rm` because I specify the files to
# remove directly, so I know what will happen.
# normal ls which needs CLICOLOR_FORCE so it displays colors when used with a
# pager. If none work no colors are used.
#
-# See `setup.sh` for details. LS_ENV, LS_PATH, LS_COLOR are replaced with the
-# correct values when this file is generated.
+# See `setup.sh` for details. LS_* are replaced with the appropriate values
+# when this file is generated.
ls() {
- LS_ENV LS_PATH LS_COLOR -C -F "$@" 2>&1 | less
+ LS_ARGS -C -F "$@" 2>&1 | less
}
unalias ll lt la lal lat 2>/dev/null
alias ....='cd ../../..'
alias .....='cd ../../../..'
-# I sometimes confuse editor and shell, print a warning to prevent I exit the
-# shell.
-alias :q='echo "This is not Vim!" >&2'
-
# Automatically use unified diffs.
alias diff='diff -u'
alias du='du -shc'
# Use human readable sizes and format it nicely, thanks to climagic
# (http://twitter.com/climagic/status/49623386762129408).
-alias df='df -hP COLUMN'
+df() {
+ command df -hP "$@" COLUMN
+}
# Highlight matched strings. Doesn't work with a pager!
alias grep='grep --color=auto'
+# Pipe output through less.
+tree() {
+ command tree -C "$@" | less
+}
+
+# Better viewer for info pages .. just pipe everything into less.
+info() {
+ command info "$@" 2>/dev/null | less
+}
+
+# Using su (or sudo) as root to a less privileged user might allow the other
+# user to run arbitrary commands as root. See also Debian bugs #628843 and
+# #657784.
+if test "`id -u`" -eq 0; then
+ su() {
+ echo 'never su as root' >&2
+ return 1
+ }
+fi
+
# vim: ft=sh